Wednesday, September 28, 2011

Wednesday Post 1

Wednesday posts will have a new format:  1) What I did today 2) What the goals are for next week with time frames 3)  Reflection/Misc/Interesting Code

1) What I did today

Today I continued to nail down the skeleton of how the game's main classes work together.  One of the tasks I undertook was to flesh out the data file loading of the levels and songs.  The SelectLevel game state looks into a directory and loads all the level files it finds, then those levels load the song data, now complete with the sound files.  Now that I had two game states, I added a static function in the main that changes the game state.  Because the main's update function simply calls the current game state's update, all it does is switch the cur_gamestate variable to a newly created gamestate.

One problem I encountered was playing audio.  It seems to be loaded in correctly, and all the correct properties are set, but there is a NullPointerException within the actual engine code.  I signed up for the forum so I can ask some experts.

2)  Next week's goals are as follows:

Disabling the default keymappings and adding my own:
  Disabling all except for escape key:  .5 Hours
  Creating a class for a 2d cursor, mapping input:  2 Hours
  Simple GUI Button:  2.5 Hours
  Official DFA for gamestates:  1 Hour

I anticipate quite a bit of time for the button because it will require a textured quad billboard, rendered text, and ray casting/picking.  The DFA was suggested by Andrew as being a good showcase piece for future employers/celebration of scholarship.

3) Reflection/Misc/Interesting Code

Today I coded straight from 8:00 till 5:00.  To me this felt like a marathon but in retrospect this is just a typical day in the workplace.  My brain feels fried; hopefully I adjust to this sort of thing. 
 

Wednesday, September 21, 2011

jMonkey

I decided to go with jMonkey, an engine built on lwjgl because it has a lot of things done that I would need, like fonts, textures, physics, scenegraphs, etc.  So far its been working pretty well.

I've been working on get the basic skeleton of my game layed out.  I have a gamestate, level, song, and numerous blobs working.  It recognizes the difference between special blobs and normal blobs, and draws them going across the screen at the right time.

I keep doing stupid stuff like initializing code in the wrong order or deleting materials and wondering where they went, and its frustrating because I'm shooting myself in the foot by wasting time with stupid mistakes.  Next week I'm going to work on the menu style gamestates, like the main menu, credit screen, and others.

Here's a picture: