Learning...

Published March 05, 2006
Advertisement
... that's what it's all about !

In the news of the day, I am proud to announce that 2 of the 3 steps mentioned in the last post are achieved, nameley collision detection and user input.

To this latter extent, by the way, I must humbly grant significant insight-triggering to darookie: besides being the only active IRC chatter on #gamedev to share the same 3 first nickname letters with me, he has indeed be the source of unsuspected neuronal re-organization in my brain around the more or less well defined concept of "it's all about interfaces".

To make it short, I was simply amazed at the simple - yet profoundly impacting - following function signature:

GameEvent updateEvent(PlayerEvent event, Output &output);

I don't want to write much more about how thinking in an interface-oriented way has modified my approach to coding, since I am no expert at it... yet :)

Instead, here's what the Tetris is at:
- Collision detection works; block movement and rotation are limited to the appropriate area
- Player input is roughly implemented; in other words, it works, but I need to change the direct referencing to game logic functions according to the afore mentioned enlightenment :)
- Lines wiping also works perfectly, although I'm not sure I am already counting the wiped lines (wrote that code some time ago actually :P)

So basically, it is playable except for one noticeable unimplemented feature: falling. Yes, actually, the blocks are just hanging in the air waiting for the user to press the down arrow to move them down, or spacebar to 'drop' them (i.e. move them all the way down, wipe lines and insert new piece). It shouldn't really be a big issue, but since I want the falling speed to match the music tempo, I will be very careful as to how implement it.

Now, for the basic Tetris to be fairly enjoyable, it needs a scoring system, maybe some tuning on block rotation, and also tuning on user input (I would like the blocks to keep moving when a user keeps a key pressed).

Regarding graphics, the render classes I implemented so far are rather ill-designed, so that to finish with the core game engine, I especially wrote a single rendering class (called SimpleTetrisGridRenderObject...) before going on to deepen the graphics.

During my upcoming coding sessions, I will most probably start toying with audio, with OpenAL probably, though I didn't investigate any other sound libraries so far.

According to day-to-day mood, I might also start a real usable design document, since I will inevitably need one when it will come to add artistic content on a big scale.

Bye for now, with a shot of what it's up to, as usual:



EDIT: the current 'score' text is fake, obviously
Next Entry Unrelated
0 likes 1 comments

Comments

Rob Loach
Yay playable!
March 05, 2006 11:29 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

Me loves Georgia

688 views

Unrelated

983 views

Learning...

698 views

Just do it

759 views

Good intentions...

592 views

Quick overview

541 views

Kickstart

623 views
Advertisement