I've been on a weird rock phase lately... which isn't too weird, but really isn't the usual thing I listen too. I mainly reserve it for work, cause it keeps me going like a shot of caffeine. I'm more of a fan of obscure grungy indie style music, and it doesn't hurt to throw in an electronic twist every once an a while.
I recently pick up a copy from a close friend, of a bunch of Gorillaz songs, but without any of the singing. (that just sounded like horrible grammar) Not sure if it was a karaoke cd or not, though I can't see the songs that are on there being all that geared towards karaoke. It's a great listen while coding away.
To all you guys that suggested I watch Psych, good choice. Granted I don't 100% get all the references they throw into the show, but the guy that plays Sean is great at coming off as a know it all goof ball. Along with a ton of cameos, which usually turn into making fun of the characters that actors has been in the past, it is great. Even with it's extremely episodic structure, I find myself laughing at every episode.
Oh and one other sided note, the title of this entry... where did it come from? I go to check the comments and noticed it underneath the title of my last entry? I don't remember ever writing it, and can't find it in any of my other posts. The cool part though, if you google it, my journal pops up as the third link. I like it though, sounds very much like an Isaac Brock lyric.
Enough with the ranting.. atleast for now.
Milestone for this week is to put together the menu system, aka the underlying skeleton that will link all the portions of the game together. After reviewing my notes over the weekend, i decided to revive an old half baked state machine, I used in my Conquest game. It's extremely simple and would probably get alot of laughs and rude response to the hardcore engine techies. It's that it worked so well in the past, it fits with what I'm trying to accomplish and it's already coded. Just got to migrate it and tweak it to fit with the function types I'm using in this project.
The basic run down of the machine. It uses a base class that I will call a Task, these tasks are nothing more than an empty object, with a loaded flag. And functions to start, update, pause, stop, and resume. I basically make the major components of the game tasks, and have the main menu control, which task is active and whether one needs to be activated. Tasks can't interact with tasks they don't own, and the main goal is to make sure there isn't too many of these tasks.
The tasks will be simple like, CampaignTask, SurvivalTask, OptionsTask... and so forth, so anything you can access from the main menu will be a task. Then internally these task are responsible for they're own actions. To communicate back to the main menu, the task can only tell if it wants to stop or pause. But can't tell the main menu to start another task, only the menu can decided if a new task needs to start and can only start one if it is actually in control ie when no other task is running.
The difference between pausing and stopping, is that stopping unloads the task and frees anything within it. Pausing keeps it loaded and simply returns control back to the main menu, this allows the player to access the menu from within the game. The menu checks every time it needs to load a task if one with that id exists already and is loaded, if it is there it will resume it instead of starting it.
Also it's time to revive another old tool, my widget class for doing the buttons in the game. I designed it for my TD game i put on hold, but atleast it's not going to waste. I just don't like that I put it in a namespace related to that game... so there is alot of ztd this and ztd that. Which just beats my OCD to death.
No video or pictures this time around, but if everything goes as planned, I'll be showing off again Friday... so keep tuned, and don't walk towards the light unless you're trapped in a rubiks cube.