Well my independent study on 3D engines is over. I presented it to the entire CS department and it went over really well.
So now that I can take a bit more leisurely pace with Black Engine’s development it’s time to sit back and decide what is to be done with it.
First off I would like to do a public release of v.6 which means there needs to be some polishes and tweaks here and there. The main thing, all though it sounds trivial, is to get the BE tag displaying again on the HUD. The reason this is important is because it requires a new base class which will be used for all non-text 2D elements as well as getting alpha blending working again.
Once I get that in I will probably do a public release and call it v.6. But looking forward there is so much to expand on now that the base is done, this is where it really gets exciting because the tons of hard work I was doing before showed so little progress as it went along, but now, every little thing I do will show a lot of progress which is always a huge motivator.
Heres a short list of things I would like to tackle in the near future:
- A general clean up of some code in the base classes which was put in for testing and tech demo purposes
- BE tag on HUD + 2D base classes
- Removal of Events which are essentially RPCs (remote procedure calls) and replace with straight function calls
- Configuration utility class which can be used by any part of the engine to load in config parameters from a text file
- Collision Detection and Response
- Loading and displaying Light Maps
- 2D GUI base classes
- BSP Manager Clean Up code which would allow for BSP files to be unloaded and another one loaded in during run time
- Improve logging class to allow for message levels, as well as make it asyncronous so large logging jobs dont block during the frame cycle.
Obviously some are MUCH more time consuming then others, so my first thought was to order the list so I did the least time consuming first, thus getting the most done the fastest, but then I realized that’s what I always do, and Collision detection always gets thrown at the end of the list and after 2 and 1/2 years STILL isn’t done!!
So f**** it! I’m going to do the BE tag HUD element so I can get a public release out and then just dive in head long and FINIALLY get collision detection / response implemented. I already have 80% of the 3D math in my 3D math lib, so we’ll see how it goes!
Also I really really need to get this whole thing into a CVS… gotta figure that out b/c my connection here sucks too much to connect to my source forge CVS.
Heres a screen as promised:
Lastly, off topic of Black Engine, I am planning to add quite a bit of content to this site over winterm, (I have all of January off). Looking to write a few coding related articles, a rant on when AJAX should and shouldn’t be used for instance, probably a very technical description of v30 BSP files which the web is severally lacking. Post them in a new Articles section of the site. Going to try and get my resume up here finially too. Also I think, I’m going to add a different section for my programs, things that are smaller then the things listed under projects, I’ll start by posting stuff like the C++ chaining hash table which I wrote for Black Engine, it’s a very versatile and solid hash table if I do say so my self 😉 and I do. And probably some older little programs I wrote. Also been getting some bot spam in the comments for these .plans so going to implement some sort of anti-bot functionality here.
Looking forward to getting a lot accomplished over winterm. Maybe if I hit enough things on that list for Black Engine I will do some sort of stupid little game. I was thinking a very rudimentary bowling game could be done with what I have in only a few days. My tech demo already has a box you can push around the world so it’s not a far cry from a bowling ball 😉
Any way, I’m rambling and this is already a very long one. So, happy holidays!