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