For the past few weeks I was mostly thinking rather than writing code and was about to design a good level architecture to support my needs for 100+ levels and 7+ themes that I have in mind for DKP, which incorporates different level objectives for levels. Think of it like Call of Duty multiplayer modes, you can play the same map with different modes, Team Death Match, Free For All, Capture The Flag, etc, all in one map.
So even though I’m not hundred percent satisfied with what I currently have, I’m not gonna
waste spend more time on it and go with the current design and later when I have a good reason other than perfection, will re-design it, but I think it will be possibly for the next installment.
After paving the way, I can now put objectives/themes for my levels and decide on how to manage the level based on the objective. I think in AAA games such as Call of Duty, they have some kind of rule set and each time they macth the latest action to that rule set and decide based upon that, at least that’s how I would implement it.
The beautify of it was when after all this time, when I designed and wrote the level architecture, I did one of themes in about a few minutes!
So last two weeks I spent mostly on looking at the code and maybe writing one or two lines of code per day which usually came into undoing, if I did anything. Problem is I’m making the hub, which acts as like episode selector in original Quake, and that required adjustments to Level Manager which is responsible on when to change levels based on the level’s theme and when to do it. Since I’m using DAME as my level editor, I have to do extra work to make it’s exported code on par with my game’s logic and code, mostly the order of object creation time and the inner dependencies that cause null pointers, and that sometimes takes a lot of my time and usually makes me frustrated and leaves me on not working at all, like if working in my bed room with all other problems is no enough.
But, my new motto is “The Only Way is Forward” and I actually drew a sketch to demonstrate this as you can see on top of this post: despite all the things that try to get you out of your work, you have to get onward eventually, even if you have to take a few backward steps.
So, I think that sums up for the past few weeks. Usually when I don’t update the blog, it’s either I’m to frustrated to do any work or actually I’m working and don’t have time to blog, because all my productive time is spend on this project for about 7 months now.
Hope my next post will be on how I smashed this Level Maanger’ SpawnerManager cumbersome bug!