…not nearly enough time to do everything I still wanted, as usual!
Anyway, got loads of stuff done (including time manipulation stuff)… I even implemented a portal system using only the scripting engine I built in the game! Of course, this kind of stuff costs time, so I’m guessing that I need to be better at doing it, or preroll it as part of my framework, need to think about that…
Anyway, got some ideas on how to make the game over, main menu, etc, while saving some time, so I don’t have much stuff to do, although it’s stuff that takes some time:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
Drawing the character
Rendering character
Design levels/items so I know what to implement
Spawn points
Bind spawn points to scripting events
Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
Give and take objects to the player (through scripting)
Spawn creatures and give them rudimentary AI (also through scripts)
Done loads of stuff since I woke up 4 hours ago or so… Not so much as I actually needed to finish this like I’d like, but good nevertheless…
Got the item system working (scripted), and implemented the first item (the Wand of Unsummoning)… All its behavior is script driven, which is quite nice. It fires bolts of magic that unsummon the evil rabbits.
Also finished the rabbit AI (just wander and chase the player if it gets too close). Player can now be hit by the rabbits and die:
Most of the gameplay code is done, still need the flow code (main menu to level, level to another level) and win situation (getting to the end of the area), besides music and sound… So, a whole lot of work still ahead!
Task list:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
Drawing the character
Rendering character
Design levels/items so I know what to implement
Spawn points
Bind spawn points to scripting events
Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
Give and take objects to the player (through scripting)
Spawn creatures and give them rudimentary AI (also through scripts)
And after, well, I started by drawing some imps, but the end result was that they looked more like hell-rabbits than imps, so I decided to change the story…
They have a particle system to be more hellish…
Anyway, they already wander around (they don’t give chase yet), and all is script driven (which is quite nice)…
Anyway, I’m calling it for today… 24 hours still to go, and I have most of the actual game to make (including the object management, etc). Anyway, I should be able to finish this one, at least enough for the compo…
Task list:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
Drawing the character
Rendering character
Design levels/items so I know what to implement
Spawn points
Bind spawn points to scripting events
Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
Give and take objects to the player (through scripting)
Spawn creatures and give them rudimentary AI (also through scripts)
And the speech system is in-place… Was a bitch getting right: getting the projected position of the 3d position of the speaker so I could write the text there, center the text, script binds, etc…
Was hard making it visible in all circumstances aswell… Finished writing the text twice, one in black and offset and then in the normal color… Worked quite well…
This is finally shaping up, although it’s not even close to being a game… Next step is probably to draw and animate the imps, making them spawn in their proper positions and giving them AI… Probably will call it then…
Task list:
Task list:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
Drawing the character
Rendering character
Design levels/items so I know what to implement
Spawn points
Bind spawn points to scripting events
Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
Give and take objects to the player (through scripting)
Spawn creatures and give them rudimentary AI (also through scripts)
This last hours don’t show much improvement visually:
But below the hood, I’ve done tons of stuff, mainly a Lua-based scripting system capable of driving cutscenes and other game events! Really proud of it, since it can really makes the code cleaner and handling of the lifespan of objects easier…
The old man in the screenshot appears in a cloud of smoke and will give the object needed for the current level… Just need to add the talking component, which shouldn’t be too hard…
Problem is that I’m running short on time (30 hours to go, but I won’t work that whole time, since I have to rest a bit for work next week… )…
Task list:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
Drawing the character
Rendering character
Design levels/items so I know what to implement
Spawn points
Bind spawn points to scripting events
Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
Give and take objects to the player (through scripting)
Spawn creatures and give them rudimentary AI (also through scripts)
This has been slow going, but on the bright side, my character doesn’t look like total puke (just like semi-puke)! 🙂
After a great lunch, courtesy of my awesome wife:
got the character moving through the level, with collision detection (my old nemesis… I always get stuck on this and end up with ugly code!)… Even have a small shadow on his feet (helps the visuals, not looking like he’s floating)… The ground texture now seems terrible, so I probably need to work on that (think I just need to tweak the contrast a bit)…
Now I need to take a step back and think what I want to do with the game from here on… Current task list:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
Drawing the character
Rendering character
Design levels/items so I know what to implement
Spawn points
Bind spawn points to scripting events
Draw “old man” and do speech system (seems like a polish thing, but it’s kind of important…)
Give and take objects to the player (through scripting)
Spawn creatures and give them rudimentary AI (also through scripts)
This is not going too well, loads of small things in the 3d system going wrong (why do I insist on trying 3d for this!!!!)… this one ended up just being a small problem in the redundant renderstates checking (was initializing the value with the wrong number)…
Anyway, I can now load a level from a DDS file:
And create level geometry… already had the idea of having just one huge level (works well with my idea) so I already prepared this so it has some clustering done (NxN blocks per mesh, so I can do culling easily)…
Also added texturing so this doesn’t look so ugly… Only use one texture for the whole level, but it has a kind of atlas that I can setup easily:
My graphic skills suck so badly…
I’m having 3d billboard as “characters” in the game, so no modelling is required…
So, my current task list is:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
Drawing the character
Rendering character
Design levels/items so I know what to implement
….
Now I need to get a story going, so I know what to draw as a main character…
Hey all! So the theme was kind of unexpected (“It’s dangerous to go alone… Take this!”), although it won with a big margin!
Saw the theme at 3am (local time) and after discussing it with my wife, she gave me a good idea and I just built on that… On my game, the player will have an item given at the start that modifies in some way the “game world” and he has to pass through the level using it… The cool thing is the item has usually a “bad thing” associated with it, so it really makes the level more dangerous, not less! Should be able to pull this off…
Desk shot:
Alread loads of cool stuff lying around… Task list:
Framework working
Loading a level data (from a DDS image)
Rendering the level (3d generated from the level data)
This week I’ve been working on the LOD system for the shadowmaps…
Using the idea that I can have about 60-70 lights per area on the game, I can’t update 1024×1024 shadowmaps every frame… Well, I could, but I’d get 0.5 FPS (I tested it for fun)…
So, I decided to play with 4 variables:
Multisampling: 16 samples per pixel take some time to render, even in today’s video cards, so I can’t have all lights multisampling
Resolution: 1024×1024 to 64×64 shadowmaps give me quality on those that are near, but still have some quality on stuff that’s far away
Update rate: Updating all shadowmaps (even the 64×64 ones) is slow, because of all the setup time, changing rendertargets, etc…
Turning off shadows at a distance
Number 4 got removed from my LOD algorithm. The reason for this is that in some angles, the difference in lighting is actually pretty big… the shadows are necessary to keep the light confined to the room where the light source is.
So, what I do is that I do the nearest N1 lights with multisampling+256×256 shadowmaps+update all frames, then I do N2 lights with 128×128 shadowmaps+update every 4th frame, and so forth…
On my test case, I have 120 lights, and I defined that I could do 10 updates per frame… I defined circa 22 categories with different resolutions and update rates, and I set the category of each light per frame, based on distance.
On my video card (a NVidia GTX 465), I get about 200 FPS average with this scene (which is very simple, not many texture switches)… In a real case, this will of course not be the frame rate, with all the setup of objects, etc, but I still have some tricks up my sleeve (group up all static objects in a few DIP calls for shadowmap rendering, separating objects that might have alpha-test from the others so I don’t need to use texture swaps, change the criteria of the lights, even going back to not having shadowmapping in lights that are too far away).
Anyway, I’m very happy with the results, specially considering that the game will not feature a camera so close to the shadows as on the above screenshot. This, combined with the ambient occlusion map rendering, will probably be a good rendering solution for the game.
Now I’m going back to work on the editor I’ve been working on and off for one year… Never added 3d capabilities to it, so it will be a neat challenge, but I hope that in the next few weeks, my artist can start creating levels with decals and such stuff…