Code archives/Miscellaneous/Project PLASMA FPS 2004: How To Get Started Guide.
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
| HOW TO GET STARTED WITH Project PLASMA FPS 2004 and PersistantWorld3D. Theres a lot going on with the Project, so to find out what you can help with take a gander at their TODO List. If there is a Task that you would like to assist another on, let them know and collaborate. The Guidelines below are provided to assist Community collaboration. Happy coding and welcome to the team. | |||||
******************************************************
CODE MODULE CONVENTIONS
******************************************************
When submitting code modules for incorporation into PLASMA 2004
please ensure that the following standard is used when naming your
module and public functions.
Syntax:
[Object][Purpose] (ie: ClockSet)
[Object][Property][Purpose] (ie: ActionIntSet(myaction,index,255))
[Object][SubObject][Purpose] (ie: DatabaseRowNext(db))
[Object][SubObject][Property][Purpose](ie: CameraRumbleXSet(camera,2.0))
This naming convention applies to all Constants, Global Variables
, Arrays, Types, Functions, and Labels to prevent code conflict.
******************************************************
CODE MODULE INTEGRATION
******************************************************
All code modules should be stored in a independent *.bb and provide
a Function for Initialization, Game Loop Update, and Termination
(Memory Removal) to be used in the Main.bb. These are the only functions
allowed in the main.bb.
Main.bb Example:
.ENGINE_INCLUDE
Include "player.bb"
Include "bots.bb"
.ENGINE_START
playerStart()
botsStart()
.ENGINE_UPDATE
While Not KeyHit(1)
botsUpdate()
playerUpdate()
UpdateWorld()
RenderWorld()
Wend
.ENGINE_STOP
playerStop()
botsStop()
******************************************************
CODE/MEDIA FILE STRUCTURE
******************************************************
TBD. Proposed File Structure. Need your input.
<Root>
<Engine><Application> (source code)
Main.bb
OtherCodeModules.bb
<Game> (media, scripts, dat files)
Engine.exe
<Data>
<2D>
<Textures>
<3D>
<Maps>
map.b3d;*.3ds
map.dat
prop.b3d;*.3ds
prop.script;*.dat
map.jpg;*.png,*.jpg (textures)
<Players>
player.b3d;*.3ds
player.jpg;*.png,*.jpg (textures)
player.script; *.dat
<Weapons>
Weapon.b3d;*.3ds
Weapon.jpg;*.png,*.jpg (textures)
Weapon.script; *.dat
<PowerUps>
powerup.b3d;*.3ds
powerup.jpg;*.png,*.jpg (textures)
powerup.script; *.dat
<Audio>
<Music>
musicfiles.wav;*.ogg,*.mp3,*.mid
<SoundFX>
soundfiles.wav;*.ogg,*.mp3,*.mid
<Server>
Server.scripts
<Client>
Client.scripts
<UI>
ui.jpg;*.png,*.jpg (images)
ui.script;*.dat
<Tools>
Tool.exe; Tool.bb
<Docs> (.html format)
<Engine>
<Game>
<Tools>
******************************************************
CODE MODULE REMARKS
******************************************************
Functions should provide remarks that describe their purpose, parameters,
and return value. This information will be used to produce documentation.
Example:
Function botScan(this.bot)
;Purpose: Performs collision check between the bots scancone
; and all the players bodies. If TRUE the bot will attack.
;Parameters: bot object
;Return: None
For player.player = Each player
If MeshesIntersect (this\scancone%,player\entity %)
this\stateofmind%=BOT_AI_STATE_ATTACK%
this\target=player\entity%
Exit
EndIf
Next
End Function |
Comments
None.
Code Archives Forum