Does it animate yet? :)
Printable View
Does it animate yet? :)
I have only got one frame to work with...
And alotta vertices, so I aint gonna animated it by hand!
But, I've uploaded the code to the server, consider this a semi-alpha ;)
So, decided on how we will animate meshes?
Edit: When LOD goes bad...
Probably MD2 or something alike.. I'll check if I can get a few classes for this that will work better then the prev. one :)
The prev one works nicely...
What will be use for terrain editing? Terragen?
And mind making a list of Todo's or a roadmap? It's helpful to see which direction we are headed in. :)
ToDo will be up as soon as I can get the source up and running - ie. No BSOD :P
As at that point I can make a quick inventory to where we are at this point in the development plan.
How long till you can test the code I uploaded?
Ingame singleplayer should be fairly simple, I've got multiple bots to work in the source(just run, you don't need to change anything) so a simple AI could control them and just run around taking potshots...
I'm driving home in +/- 30 minutes.
Looks to be working quite good, little bug though, partitions might not be rendered if you turn to the extreme right or left with the camera..
So I take it, it works :D
I know, that is due to primitive fustrum culling, I'll add more to the renderer...
Edit: And fix proper culling
At this stage - yeh it does. no crash yet.
Im gonna make better visibility checking, then testing methods to render terrain more efficiently.
Edit: I have now tested how to BSOD nvidia cards... setting the Flexible-Vertex-Format to use more textures than specified in the vertex data. And I wrote the terrain renderer all over again :sick:
Edit #2:
Using smaller partitions
Advantage: Increased FPS from 50-70 to 90-100! Woo!
Disadvantage: Scince, on a 256x256 map, instead of 256 partitions, 1024 partitions now need to be created so load times go up 4 times, but its still under 10 seconds, so it's worth it
Edit #3:
Number of total partitions is now x4
Partition size is now /4
Number of visible partitions is only x2
Partition distance is now /2
No visual difference, but the fps sure goes up
:D
To test the visiblity system, I only have to go someplace on the map, then pause exe, comment out
Partitions(I).PassedVisTest = PassedVisTest
and resume. It will now only render the partitions it calculated to be visible when I was there.
When I'm done, I will upload the code as MWBG_Main_Sep14-Cade.zip
From now on, that will be the naming style of zips I upload.
Good :)
So next on the line is the detail map, lightning support based on a sun coordinate and particle engine (required for most weapon effects)
Edit #1: Added to the Images Devion on the FTP some mech textures (Steel, Camo-colors). Feel free to implement that on the naked mechs we currently have ;)
Edit #2: Worked a small bit on the menu handler again. Seems to be making progress.. just need to implement the render-base on it and it should work. Going to make the menu handler handle 1024x768 for now. That will be the standard resolution. It will down-scale to 800x600 or 1280x1024. Any higher or lower would require some hardcoding to handle such small or large res.
Anyway; When you upload your code tonight I'll fix it all up (leaving your code-standard intact for the renderer and such so you can keep working on it) add the menu handler and such and upload it again so you can work with it also.
I suggest we sync code every few days due to the changes we make during the day.
I cant edit .x/.3ds files, I don't have any 3D editor on my pc...
Edit: Please make a list of ToDo's for me, I'm uploading the code now.
Here ya go;
Terrain/Render stuff has highest priority as we need to get an alpha up and running with animation and preferably the menus in place ;)
ToDo
Tech:
- Border check on terrain. Mechs should not be able to get to the border at all.
- Minimap in the top right corner (using scaled map as minimap)
- Improved script engine to handle internal code in Actor/Object/Map XML.
- Physics engine
- Visual Effects module (FadeIn; FadeOut; Flash Screen etc)
- Particle Effects Generator/Engine
- .X/.3DS Animation support (or MD2/MD3/MDS/MDL)
- Multiple Textures on terrain (Detail texture/Section textures (aka Stain Maps))
- GUI Handler (Menu + GUI)
- Input Handler in module (not in frmMain)
- Sound Engine (AgrDXMM?) with udt for sound storage (SoundPool)
- XML Actor loading (all actors are stored in a XML file, seperate XML for each actor with templates attached to them)
- Console (Pressing ~ to drop down a command line interface) with <TAB> support to auto-complete commands.
- AI Handler for Tutorial
Client-Server Tech:
- Network Code (Client -> Server)
- In-game chat.
- XML Creation code for automatically generating Client-XML (Client-Info in XML)
- Dynamic Updater and Data Fetcher (requires Network code finished)
- Anti-Cheat module (requires Network code finished)
- Login authentication using back-end database (also for storing rank data and such.. could use a simple ini file for this though?)
Content:
- Mesh objects (like trees and such.)
- Wait screen (Loading Screen) -> Dynamic due to map information. (Got mock)
- Menu: > Main Menu (Got mock)
- Menu: > Mech Lab (No mock yet)
- Menu: > Options (No mock yet)
- Menu: > Multiplayer (Join) (No mock yet)
- Menu: > Multiplayer (Create) (No mock yet)
- Menu: > Credits (No mock yet)
- Menu: > Quit (No mock yet)
CodeWise:
- Clean up code of Agr Terrain renderer when it's reasonably done (ie. Tabs, correct variable naming, deletion of affix var tags which are redudant)
- Implementation of certain modules and classes into an ActiveX Plugin DLL for easier updating.
- Redo ComLog.hooklog logging for new terrain renderer
Working on a HUD atm then...
HUD should be via the menu handler as an overlay layer. At this point that''s all but finished but feel free to work on it.
Edit #1: Added AI Handler for tutorial to todo list (kinda forgot all about that).. Also missing the menu todo for it.
Feel free to work on that minimap thing as it requires some coding probably :)
Coding on HUD
Minimap
Camera position on minimap
Spiffy 3D view of your mech
Screenshot soon
Partial Document - missing Actor XML Details/SkyBox XML details, etc etc.
Implementing those a bit later :)
Code:Final Properties Document for Maps/Actors
-----------------------------------------
Due to the changes during the document creation this is the final Properties document for Map XML, Actor XML, Smaller XML like SKYBOX XML.
* All XML documents start with the MWBG tag. *
Map listing is done by enumerating all XML files in %FS_MAPS%. There is no master index list for this and enumeration is only required for the client if they create a server. Joining a server will result in the server sending the map file name and if it exists load it else it will transfer the map XML to the client.
All Map filenames start with a 3 letter prefix.
DMM_ - Deathmatch map
TDM_ - Team Deatmatch map
OVL_ - Overlord map with AI Map nodes in the XML
CTF_ - Capture the Flag map
KTH_ - King of the Hill map
If the map file has no 3 letter prefix it will show under generic deathmatch maps.
MAP XML
-----------------------------------------
<MWBG>
<Map Name="%Name">
<Description>%Desc</Description>
<Size>256x256</Size>
<Textures>
<HeightMap>%HM</HeightMap>
<DetailMap>%DM</DetailMap>
<BaseTexture>%BT</BaseTexture>
<Screenshot>%SS</Screenshot>
</Textures>
<Frills>
<Frill Direction="0" LocX="30" LocY="100" LocZ="40" Visible="Yes" Mesh="%FS_MESH%\Trees\Tree1.x" />
<Frill Direction="0" LocX="3" LocY="120" LocZ="10" Visible="Yes" Mesh="%FS_MESH%\Trees\Tree3.x" />
<Frill Direction="0" LocX="-30" LocY="100" LocZ="20" Visible="Yes" Mesh="%FS_MESH%\Trees\Tree2.x" />
<Frill Direction="0" LocX="130" LocY="110" LocZ="30" Visible="Yes" Mesh="%FS_MESH%\Trees\Tree1.x" />
<Frill Direction="0" LocX="70" LocY="120" LocZ="20" Visible="Yes" Mesh="%FS_MESH%\Trees\Tree2.x" />
<Frill Direction="0" LocX="40" LocY="110" LocZ="10" Visible="Yes" Mesh="%FS_MESH%\Trees\Tree2.x" />
<Frill Direction="0" LocX="-130" LocY="100" LocZ="20" Visible="Yes" Mesh="%FS_MESH%\Trees\Tree3.x" />
</Frills>
<Script>EchoVoice("HelloWorld.wav", "Hello World!");</Script>
<Options>
<Option Value="Yes">GenerateBSPNodes</Option>
<Option Value="Yes">UseFog</Option>
<Option Value="SKy_ROCKY">UseSkyBox</Option>
</options>
</Map>
</MWBG>
Descriptions:
%Name - The map name of this particular node. It's a single key word used through out the loading process.
%Desc - Description of the map. This is used during the loading to inform the player of some details of the map. Mostly content-related.
Size - The size of the map in units.. for instance.. 256x256 or 512x512.
Textures- The textures for this particular map.
%HM - Heightmap file.
%DM - Detail map file
%BT - Base texture file
%SS - Screenshot used in loading process.
Frills - Frills are static objects around the map. Large stones, Trees, etc. They only have attributes attached to them.
Direction: - Angle of the mesh around it's X
LocX, LocY, LocZ: - Location of the mesh.
Visible: Yes or No - Sets it to be rendered or not.
Mesh: Specify the mesh filename.
Script - Contains a script that will be run at map start.
Options - Contains ooption that can be set to Yes or No or a value.
GenerateBSPNodes: Yes,No - Allows generation of BSP nodes for AI.
UseFog: Yes,No - Set Fog Visible or not.
UseSkyBox: Value,No - Set Skybox or not. Value is a keyname used in Skybox.xml
Im experimenting with Render-To-Texture
Code to this is in its usual place.
Coming up next time, on Cade's MWBG screenshots - Whatever Devion feels like throwing my way ;)
Next-Shadows of some sort...
Got anything on your mind, gimme a holler, if not, I'll try to implement Lighting & Shadowing tomorrow...
Mmh well the mech look should be looking right in front of the player so I can use it to do damage calculations on it :D (make parts of it yellow/red depending on damage taken) ;)
Edit: Oh.. a skybox would be nice.. you can find one in the /resources/textures/skybox called Rocky_<side>.jpg
Just posted @ turbosquid regarding getting a modeller that's up to the job of creating mechs in a singular format.
http://www.turbosquid.com/Forum/Inde...ThreadID/18272
Heat signature, post-processing with a pixel shader. Nothing special coded for the mechs, just using a dependant texture lookup on a 1D array based on how bright/hot a pixel is.
Got a slight migraine.. no work today... :p
Post-processing implemented on your end?
No.. like I said.. had a migraine.. haven't done anything yesterday.. :/
The heat vision and any other game effects will be done using a render-to-texture with a pixel shader. Some of the other things I have planned, will be done via post-processing...
I will work on the code, and upload it as sept-15, so don't make changes to yesterday's code...
Okay
I have uploaded the code for now, sep 15.
Just don't edit frmMain.GameLoop, I have to finish the HDR lighting pixel shader.
Check. Won't be editing anything for atleast another 5 hours so... :]
Well, if you do edit, please move the terrain loading code to read from a xml, and the positions of the mechs too (modMainMenu is where all that code is now)
Also, 5 hours from now, when you do edit, I will not be around (and the latest code will be on the ftp), so feel free to edit and upload your changes. I will then download them in about 18 hours from now.
Yep, i'll reimplement terrain loading via XML, positioning of mechs (AI Actor classes).. Starting points of mechs.. not sure if we should use static locations and just random position mechs with a certain radius around it so mechs don't get spawned next to eachother.
Also tonight I'll start working on the menu handler again as I didn't do anything yesterday due to the migraine. Might implement the main menu while I'm at it.
So few things for tonight:
- GUI Handler (HUD, Menus) using widgets style XML nodes
- Menu implementation for main menu, maybe loading as well (going to be hard)
- LoadMap from XML
- GetMaps from FS_MAPS dir. (Enum)
- Clean and more implementations inside the Actor class (Low priority)
I'm still here, trying out how to figure out post-processing :)
grmbl.. Trying to look up how to make a GUI Handler framework on google hasn't returned any useful hints at all..
Going to be fun tonight :o
I've got post-processing to work with HDR/Bloom
Look on the main dir of the ftp
I will tone down the effect and upload its code... september 16
mayb exclude HDR for models? :D
HDR is applied to the whole scene, but my blurring filter is all wrong, I will work on that tomorrow. Current version of code on ftp has no hdr...
Blurring filter? Perhaps I could be of assistance?
chem