With only a few days left before the GCAP submission date, work has picked up its pace pretty quickly...
Im working on the in game store, and tim is working on our missions and their format...
Time is also messing around with how the scene graph is set up in the main game, and this has affected my 3d gui work, so im holding off until he is done...
Progress...!
Posted by Creeping Death at 8:13 PM
I have coded up, using default GUI skins, the main menu system...!
Now I am moving on to making the actual game play start to happen...
I am also working on a video, and am thinking of making a site that explains a bit more about the game...
I have tried to keep as much information as possible out of this blog so far...
Maybe it is time for a bit of a reveal...
Now I am moving on to making the actual game play start to happen...
I am also working on a video, and am thinking of making a site that explains a bit more about the game...
I have tried to keep as much information as possible out of this blog so far...
Maybe it is time for a bit of a reveal...
Ewww its all GUI...
Posted by Creeping Death at 2:55 PM
I have added CEGUI components to the game, and they are performing admirably...
I have decided on how to change through GUIS, player objects can be created, and it looks like a default scheme...
Thats because it it...
The look of the GUI will change in future, but it is serving is placeholder purpose for now...
I have also added a large story element to the initial GUI, that may change slightly in future, but for now fits in really well...
I have decided on how to change through GUIS, player objects can be created, and it looks like a default scheme...
Thats because it it...
The look of the GUI will change in future, but it is serving is placeholder purpose for now...
I have also added a large story element to the initial GUI, that may change slightly in future, but for now fits in really well...
Got over another issue... Still going...!
Posted by Creeping Death at 8:13 PM
Bah, after looking at an issue for days, it turns out the order was a little screwy when it came to creating the ogre objects...
After getting over that little set back, things are on track again...
We have separate scenes, guis, moving objects and a ground...
I have also started working on a title animation...
After getting over that little set back, things are on track again...
We have separate scenes, guis, moving objects and a ground...
I have also started working on a title animation...
Monsters and Monstrosities...
Posted by Creeping Death at 2:49 PM
We have moved the project over to Ogre3D, and added a new programmer to the ranks...
As such, development is progressing much more smoothly...
Getting the groundwork complete for the menus and gameplay and having the ability to easily switch between them is the current ficus, and is so much easier without having to redesign the engine every 2 steps...
As such, development is progressing much more smoothly...
Getting the groundwork complete for the menus and gameplay and having the ability to easily switch between them is the current ficus, and is so much easier without having to redesign the engine every 2 steps...
Death and Slowness....
Posted by Creeping Death at 12:34 AM
So... My laptop has destroyed its 3rd power supply in 3 years...
We spent the afternoon and evening pair programming on a mac... oh the horror...
Our randeom terrain generation is working, though there are obvious flaws... But that was expected and will be worked out... when my laptop is running again... At least its not crashing now...
Our biggest problem is the speed at which the program is operating while rendering the terrain... Its not that great... We are going to be looking into other ways to process all the geometry... There really isnt that much...
We sorted out some normals, and moved the light position and now we can see better...!
We refactored Tims map mesh generation code a fair bit, and it looks much smaller now...
Still works, which is also good...
Tim also tweaked the camera movement... its better now, but will be improved later... not that we need it...
We spent the afternoon and evening pair programming on a mac... oh the horror...
Our randeom terrain generation is working, though there are obvious flaws... But that was expected and will be worked out... when my laptop is running again... At least its not crashing now...
Our biggest problem is the speed at which the program is operating while rendering the terrain... Its not that great... We are going to be looking into other ways to process all the geometry... There really isnt that much...
We sorted out some normals, and moved the light position and now we can see better...!
We refactored Tims map mesh generation code a fair bit, and it looks much smaller now...
Still works, which is also good...
Tim also tweaked the camera movement... its better now, but will be improved later... not that we need it...
Generation of Errors...
Posted by Creeping Death at 4:25 AM
We managed to integrate my map generation and Tims mesh generation into a working mix of both on our first go...
We can now randomly generate a map of whatever X/Y size we want...
Only issues are :
- No VSync, so its thrashing the CPU for everything its got...
- My Map generation has cases where it crashes because we believe it is reading outside of the allocated array...
- There is lag between button presses and camera movement... We arent sure where its coming from yet...
- Optimization... We have none...
Tim is continuing to work on merging terrain heights together and I need to find out why the map generator is crashing and fix that...
We can now randomly generate a map of whatever X/Y size we want...
Only issues are :
- No VSync, so its thrashing the CPU for everything its got...
- My Map generation has cases where it crashes because we believe it is reading outside of the allocated array...
- There is lag between button presses and camera movement... We arent sure where its coming from yet...
- Optimization... We have none...
Tim is continuing to work on merging terrain heights together and I need to find out why the map generator is crashing and fix that...
Not so random to even more random...
Posted by Creeping Death at 11:55 PM
My map generator is pretty much as done as it can be outside of the game engine... I can perfect the determination of the different areas, but what Tim is doing basically means we will be doubling up on code in that respect...
Tim has progressed well with his terrain generation, and we are about to start merging my random generator with his terrain generator to produce our level geometry... The tiles take surrounding tiles heights into account and create geometry to fill holes if necessary, creating cliffs and canyons... Next will be gradients for slopes between heights...
We will be looking into random height maps as well, to stop it being pretty flat all the time...
Tim identified an issue with the earlier map generator that was basically maxing out the CPU usage when rendering the map... We were only rendering 1000 flat square tiles and the player model, and it didn't like it at all...
The re-worked mesh generation has fixed this, and now works properly, including
In the middle of all this, we also fixed the lighting issue that has been plaguing us since the beginning... It was all about a backwards Z axis... our bad...
Tim has progressed well with his terrain generation, and we are about to start merging my random generator with his terrain generator to produce our level geometry... The tiles take surrounding tiles heights into account and create geometry to fill holes if necessary, creating cliffs and canyons... Next will be gradients for slopes between heights...
We will be looking into random height maps as well, to stop it being pretty flat all the time...
Tim identified an issue with the earlier map generator that was basically maxing out the CPU usage when rendering the map... We were only rendering 1000 flat square tiles and the player model, and it didn't like it at all...
The re-worked mesh generation has fixed this, and now works properly, including
In the middle of all this, we also fixed the lighting issue that has been plaguing us since the beginning... It was all about a backwards Z axis... our bad...
Progressing...
Posted by Creeping Death at 10:56 AM
I have made a random map generator...
It basically assigns each tile a value over several passes, and from there we can place the correct tile...
Timmy wants to start looking into generating the geometry based off the information from the map generator, which will go a long way towards making our levels look better...
We have also roped in another artist to work on some of out player and enemy concepts and models...
It basically assigns each tile a value over several passes, and from there we can place the correct tile...
Timmy wants to start looking into generating the geometry based off the information from the map generator, which will go a long way towards making our levels look better...
We have also roped in another artist to work on some of out player and enemy concepts and models...
Splitting and Junk...
Posted by Creeping Death at 4:30 AM
I found out why my ASE files were not rendering properly...
The texture coords of one object were not numbers anymore, but letters and symbols... Obvious problem there... So after investigating the Max file, i stuck a UVW map on the pipe, and all fine again...
I also changed the parser to accommodate Maxs Fail Coords system...
Tim spent more time sorting out our 2D/3D rendering issues and the mystery crash on his mac...
He ended up with a system that will update, handle events, render 3D, render 2D in that order... This solved the crash on the Mac, which had no cause that we could find...
I also made the default tiles smaller, and the map actually renders a square grid of tiles now...
The texture coords of one object were not numbers anymore, but letters and symbols... Obvious problem there... So after investigating the Max file, i stuck a UVW map on the pipe, and all fine again...
I also changed the parser to accommodate Maxs Fail Coords system...
Tim spent more time sorting out our 2D/3D rendering issues and the mystery crash on his mac...
He ended up with a system that will update, handle events, render 3D, render 2D in that order... This solved the crash on the Mac, which had no cause that we could find...
I also made the default tiles smaller, and the map actually renders a square grid of tiles now...
The beginnings of SkyNET...
Posted by Creeping Death at 3:17 PM
Timmy set up his home server as our new repository...
He has gotten the code to build, and has set up a scheduler to compile every morning...
If the build fails, we get emailed telling us a bunch of interesting things, like who broke it and where...
I broke some other parts of it, but am trying to fix them now...
He has gotten the code to build, and has set up a scheduler to compile every morning...
If the build fails, we get emailed telling us a bunch of interesting things, like who broke it and where...
I broke some other parts of it, but am trying to fix them now...
Mac Fail...
Posted by Creeping Death at 7:11 PM
Tims Mac laptop, when hitting the new game button, decides to run the cpu at 99%, and freeze...
No idea why, works fine on mine...
We are sorting out our map information now for the game side of things...
Tim is trying to devise a way to make the parser a little more generic, so it can read ASE files, and also our map files, which we are making up in roughly the same format as ASE files... This will be handy, as we can reuse code...
I hard coded in the current map information while awaiting the parser modifications, to start roughing out how the game play code would look...
And, typically, the objects I'm loading in are oriented wrong due to Max's screwed up coordinate system... We will need to work on compensating for this at mesh reading time...
No idea why, works fine on mine...
We are sorting out our map information now for the game side of things...
Tim is trying to devise a way to make the parser a little more generic, so it can read ASE files, and also our map files, which we are making up in roughly the same format as ASE files... This will be handy, as we can reuse code...
I hard coded in the current map information while awaiting the parser modifications, to start roughing out how the game play code would look...
And, typically, the objects I'm loading in are oriented wrong due to Max's screwed up coordinate system... We will need to work on compensating for this at mesh reading time...
Solutions...
Posted by Creeping Death at 2:56 PM
Solutions 1: Working off a suggestion of mine, Tim created the solution to our 2D rendering issues...
The basiv idea is we go through all the widgets and render the 3D elements, and collect pointers to the 2D elements... At the end of it, we render the 2D stuff on top all at once...
Tims biggest issue with this method was that the 2D stuff is all relative, and the transformations would be lost...
So he found a way around this, and we have awesome transitions between widgets as well as between menu items...
Solution 2: We are now hosting our code on Tims web server at home, instead of the server at uni. This comes out of the countless times that the SKITZ server loses power, and Troy not being around to boot it up again...
Solution 3: I have located someone who wants to do some concept art, so I'm going to send her some details and see how we go...
The basiv idea is we go through all the widgets and render the 3D elements, and collect pointers to the 2D elements... At the end of it, we render the 2D stuff on top all at once...
Tims biggest issue with this method was that the 2D stuff is all relative, and the transformations would be lost...
So he found a way around this, and we have awesome transitions between widgets as well as between menu items...
Solution 2: We are now hosting our code on Tims web server at home, instead of the server at uni. This comes out of the countless times that the SKITZ server loses power, and Troy not being around to boot it up again...
Solution 3: I have located someone who wants to do some concept art, so I'm going to send her some details and see how we go...
Rewriting AGAIN...
Posted by Creeping Death at 1:03 AM
Well we reworked the main function, ripped code and put it into the Application class specific to the game...
Tim managed to get text rendering in different colours, and we have a fade to black transition happening...
Our big issue now is the transitions are rendered in 2D, which screws up when we want to transition between our game and our menu...
Ive made up some tiles and textures for our maps, and we have started on how we are going to do our levels in game...
We are going to try using a map file, that defines a tileset, and what tiles to use...
We have started discussing how enemies will work both in code and in the map definitions...
So we have begun a lot more actual game discussion, as well as engine refinements, but our major issue is still 2D rendering...
Tim managed to get text rendering in different colours, and we have a fade to black transition happening...
Our big issue now is the transitions are rendered in 2D, which screws up when we want to transition between our game and our menu...
Ive made up some tiles and textures for our maps, and we have started on how we are going to do our levels in game...
We are going to try using a map file, that defines a tileset, and what tiles to use...
We have started discussing how enemies will work both in code and in the map definitions...
So we have begun a lot more actual game discussion, as well as engine refinements, but our major issue is still 2D rendering...
Better late than never...
Posted by Creeping Death at 10:12 PM
So, after a while of silence - meaning no posts, not no work - here is what we now have :
Tim has created a profiling tool that takes our log files, and spits out a graph...
He has used this to increase the speed of the parser further using a string pool, as creating new string objects was the biggest time waster...
The Convert*toString and ConvertStringTo* functions have been condensed into a single template, which again increased the speed...
We have a menu system set up, with a transition to another menu hooked up, using a transition object, and button widgets... Tim spent ages on this, and we redesigned the layout of the engine a bit to make it work properly...
Our text is positioned relatively, and that took a fair amount of work...
We now render all our 3d first, and follow it up with the 2D over the top...
Tim had been having graphical errors for a while now, and in investigations into the 2D rendering side, discovered that Macs hate having a near plane closer than 1 to the camera... Ours was 0.2... after changing this to 1, no more issues...
I whipped up a hanger in 3DS Max, comprised of various objects, and only one material at the moment... This was loaded into the game part, and worked first time...
I had to mess with the lighting a little though...
This provides a static background for our menus at the moment...
Tim has created a profiling tool that takes our log files, and spits out a graph...
He has used this to increase the speed of the parser further using a string pool, as creating new string objects was the biggest time waster...
The Convert*toString and ConvertStringTo* functions have been condensed into a single template, which again increased the speed...
We have a menu system set up, with a transition to another menu hooked up, using a transition object, and button widgets... Tim spent ages on this, and we redesigned the layout of the engine a bit to make it work properly...
Our text is positioned relatively, and that took a fair amount of work...
We now render all our 3d first, and follow it up with the 2D over the top...
Tim had been having graphical errors for a while now, and in investigations into the 2D rendering side, discovered that Macs hate having a near plane closer than 1 to the camera... Ours was 0.2... after changing this to 1, no more issues...
I whipped up a hanger in 3DS Max, comprised of various objects, and only one material at the moment... This was loaded into the game part, and worked first time...
I had to mess with the lighting a little though...
This provides a static background for our menus at the moment...
Widgets and Images...
Posted by Creeping Death at 12:31 AM
We spent a lot of time on a few things today...
I spent some time playing with the loading of objects and textures, so now we have a way to load objects with multiple meshes that we can change the texture on the individual meshes in the object...
Also, we now create copies of loaded Game Objects, each with maps pointing to meshes as well as textures, using the mesh as the key to the textures, instead of everything pointing to the same Game Object...
Tim spent his time setting up the widget system, and a font class... He is still working on it, but what he has works really well...
Our fonts are defined in a simple text file, and use that to map the characters from an image file...
The Widgets all have update and draw functions, and all our logic is being moved into different widgets...
He also created a way for widgets to handle input events... and created a button... And it worked... Pretty much everything we did today worked...
I also created a BMP file loader so now we support 2 types of image...
This was mostly copy paste from Tims TGA loader, as the file definitions are almost the same...
I spent some time playing with the loading of objects and textures, so now we have a way to load objects with multiple meshes that we can change the texture on the individual meshes in the object...
Also, we now create copies of loaded Game Objects, each with maps pointing to meshes as well as textures, using the mesh as the key to the textures, instead of everything pointing to the same Game Object...
Tim spent his time setting up the widget system, and a font class... He is still working on it, but what he has works really well...
Our fonts are defined in a simple text file, and use that to map the characters from an image file...
The Widgets all have update and draw functions, and all our logic is being moved into different widgets...
He also created a way for widgets to handle input events... and created a button... And it worked... Pretty much everything we did today worked...
I also created a BMP file loader so now we support 2 types of image...
This was mostly copy paste from Tims TGA loader, as the file definitions are almost the same...
Resting...
Posted by Creeping Death at 5:18 PM
Its been a while, but we have been working...
Tim has created an image loader and manager, and we can now read in TGA files...
Using similar map methods to our loaded meshes and display lists, we have set this up to only load an image once...
From this, Tim has also created the means to draw images to the screen, and even parts of images to the screen...
I took this code of Tims and added the texture to the objects that we have loaded in...
I have also started thinking about fonts for the engine, and potential GUI theme sheets...
Tim has also started the shell of our engines system for dealing with multiple scenes, such as game menus, game screens, FMVs and such...
Tim has created an image loader and manager, and we can now read in TGA files...
Using similar map methods to our loaded meshes and display lists, we have set this up to only load an image once...
From this, Tim has also created the means to draw images to the screen, and even parts of images to the screen...
I took this code of Tims and added the texture to the objects that we have loaded in...
I have also started thinking about fonts for the engine, and potential GUI theme sheets...
Tim has also started the shell of our engines system for dealing with multiple scenes, such as game menus, game screens, FMVs and such...
Subscribe to:
Posts (Atom)