Friday, January 18, 2008

DaTetris v0.45

This is the first DaTetris update so far >_<
Yeah... It has simple half-working menu, and sort of playable as well, though I still have not implemented the feature of next block preview, but I guess its not that critical right now. The biggest problem was the main menu screen and coloring the tetriminos - my ass is still aches in pain after these 3-4 hours of trying, trying and trying different color palettes... After all I came up with the colors you see at the screen (click to enlarge), and it was sort of the best choice out of all others - at least it does not hurts my eyes(its not so bright and contrast) and also I dont have to struggle to see the action(and not very dark as well). Yep, no scores - and the game doesnt throw you out when you reach the top - but you cant move the tetriminos up there. You have to restart the game to begin from scratch. While testing I did not run into any bugs - but it does not mean that there arent any 8) I really hope it will start well without squeaking on any other pc - so download it, check it out, play it and even test - if ya want to 8) Heres the link to the archive.

Feel free to comment! >.<

Wednesday, January 16, 2008

Many moons later

Its been a long time with no updates. I was busy on my exams in april-july, and therefore could not post anything - there was nothing to post about. But since summer Ive been working on my tiny games here and there, and moved much further towards being a game developer, though I still have a lot to learn. 

Now, a little detail on what I did since mid summer. I wanted to continue developing my remake of EvilMonkeys, but after I looked at the code, I realized it was way too crappy. I realized also that SDL isnt suitable for my game's needs. SDL is very nice and friendly framework to work with, but the cons overweighted pros. First, and worst - SDL is slow. I know that the problem wasnt in SDL itself, but in my code. And at that point I couldnt write code using SDL which runs above 50 unlimited fps and has only level and player objects on the screen. Second, is SDL's limits in manipulating graphics - it just blits bitmaps onto screen, with no way to even rotate the surfaces. And I made a decision: I will move to Direct3D and start from even lower level, than SDL's.

Months and months later, I had in my hands a crude framework, which core was rewritten at least 5 times (and I suspect that it will be rewritten again), and which holds in each component a different step in the evolution of my code, and even different style. Same bad code, same mistakes, a little more experience and a little more programming books ahead - and there it is, teh "game engine" made by me, myself and I :D The downfall was quick and painful, when I spawned around 50 game entities; my techdemo's performance started to degrade like in equation f(x) = y2 and reached pause within 5 seconds. I suspect that this was due to my kinematics and collision detection code, which had more sin()'s, cos()'s and vector operations than in my high school math book. At that point it was too much for me; I freezed the project and started looking for a decent 2d game framework - and I found one. The Haaf's Game Engine or HGE is a small, cute and Direct3D based 2d game engine. It is very well documented, totally free and open-source. Heck, I could read its source code and understand everything!

And so I decided to make a small Tetris clone to check out HGE's features and get used to it. After I finish Tetris clone, I will once again try to revive my own framework using some ideas I got by reading HGE's sources, and possibly port DaTetris to my framework. The actual gameplay part of DaTetris is finished - I have a level, all 7 figures-tetriminos, they rotate, fall, move and merge to level's structure when fell down. The level removes completed lines of tetriminos and moves all of above down - well, all is like in the original Tetris. So its playable, though endlessly without scores and defeat. Currently Im working on main menu, interface and game states. I will post an update in the next few days with playable demo hopefully featuring main menu and basic interface.