Haha well, another blown dead line. I did code for a few hours today, got a lot of polishing done. But then I went over a friends house and started grilling and drinking, so I didn’t get to finish everything.
Any way out of a list of 10 things I checked off 6. One of the things left to be checked off would be better implemented if I just sucked it up and went ahead and finished something I was going to hold off on till after the release. I don’t think it will take too long to implement any way so might as well do it the right way the first time.
It’s really starting to get kinda exciting watching everything finally take shape.
But I’m going home for the night tomorrow so don’t expect a release till maybe Sunday.
Well I hooked up and debugged the new camera system with the FPS camera. Then I used the windowing system to design the first version of the main menu. This required finally implementing the last part of the Mode Service which I had been planning for months. So now there are two distinct game states which are managed by the mode system.
So now you load into a menu, load a map from there, then once loaded, you can press escape to return to the menu, and from the menu you can exit the program.
I also went through and implemented (but as of yet have not tested) the more advanced memory management for the Texture Manager.
That is about half of the polish and tweaks I have slated for this release. So expect to see a release probably late tomorrow.
Also it’s my birth day, so no more work will be getting done to night!
I put in QUITE a few hours today. Encountered some very frustrating problems, but long story short is the new camera system is implemented.
Going to take some tweaking and polishing, but I have the engine loading into a menu, then from the menu, then you select the map you want to load by pressing the correct button, it loads and you go from there.
I still have to work on cleaning up the memory and changing maps and just lots and lots of little polish things. Here is the list of polish left before the release:
– Finish Texture manager memory manager
– Polish memory clean up code for unloading BSP maps
– Implement new controls to go back to the menu system
– Re-implement FPS HUD 2D elements into the new camera
– Re-implement vertical movement hack
And thats it! I plan on having 2 maps in the new release which you will be able to select from the menu. And if I get enough time maybe I’ll work on new menu graphics because the current ones SUCK.
I’m freaking wasted. Night.
So lots of time passed and very little work got done.
As usual some odds and ends I thought of were tweaked and fixed as I was coding unrelated things. Then spring break came along and I didn’t even see a computer for 7 days [ very nice 🙂 ] Then I came back and bought the first game I’ve paid for in 6 years, STALKER, which took up more time.
Anyway long story short ( too late ) I finally started coding again. Wrote the the first Input Widget implementation which is a simple button. Then went back and implemented input handling in the Windowing Service, and Window Managers which was quite a bit of work, but you can now switch which window is active and it all works nicely. I’m currently finishing hooking up the input to the actual buttons. Which will fire events to any subscribers when pressed. And that should be it for now for the Windowing sub system. It really is a truly robust system.
Later I plan on implementing a few new things:
1. Separate boarder quads to support separate boarder textures ( visual improvement )
2. Theme manager, to handle different window visuals easily.
3. Font manager, not strictly a Windowing component but closely related.
4. Resolution scaled windows and such.
But for now, once the buttons are finished, I’m going to get back to the new 3D camera system, finish that in 1 code session hopefully, then bug test and tweak for the v.6 release!
So stay tuned.
I didn’t think this warranted a whole nother .plan file so I’ll just append it to this one. I finished hooking up the input to the Input Widgets, and have the first successful use of a button fireing an action, and a special action handler class responding accordingly. So it’s all done! The window system is done for the moment. I kinda can’t believe it. Maybe tomorrow I can get to the camera system!
Well, did a bit more work over the past few days. A lot of it in planning and design, and more in C++ research.
Finalized the basic widget design and implemented a ‘Label’ widget which can be used to put text labels on a window. Next up is InputHandlingWidgets which are pretty much designed, just need to implement one to hash our the unforeseen nitty-gritties that always pop up. So I’m going to implement a simple button class which is actually the last GUI related class I will be implementing for this release. Also going to implement a bit of functionality in the 2D Display Graph nodes to mimic their 3D counter parts so that all nodes under a 2D translation node will share that 2D position shift. It will simplify widget management a bit.
Thats about it. I’m going to be frigging pumped when that is all done. All thats left after that is hooking up the input to the WindowManagerService which will manage active windows etc, writing the clean up code for unloading BSPs, and implementing the new Camera system.
And of course, there will be small tweaks and polishes to other things before the release. One thing for sure is I’m going to finish the stage 2 texture memory management as I have been calling it. This simply tracks how many things are using each texture, and when nothing is using a certain texture it will free the memory. The last improvement was to check if a texture had already been loaded and to not re-load it. So this is just really finishing that system.
Also been doing research concerning my performance issues and have almost certainly pegged the biggest culprit. But I have many other things to focus on at the moment so that will come after the v.6 release.
Any way I’ve been on a role lately getting at least something done every day, so lets hope it continues and I get a release out soon-ish!