Monday, March 30, 2009

New Home

It been two years since I started this blog and learn a lot of thing.

However, it is time for a new beginning. I just moved to kibabase.com, the new home of my game development shop. You can read my new game development blog at blog.kibabase.com. Everybody who is a subscriber to feedburner already moved.

The new blog will have a free software/open source game centric approach just like this blog, but with a much more principled approach.

This is not goodbye at all, but rather a move to a new address. I won't be importing much of the content posted here. It will remain up until blogger take this blog down. Some time in the future, I'll probably save these posts and store it somewhere on the net.

See you at the new site!

Sunday, February 15, 2009

Remember that Game?

Remember that ruby-warrior game I was working on? Well, I finished it and already recevied my payment from the patron. I only added one extra feature that allows people to enable and disable the game's graphical engine.

I asked the original author to merge it into his repoistory but he didn't look and merge the codebase yet after one week. He is probably a very busy person, so it will take time.

The 50 dollars payment was pretty good for me. For a young person, 50 bucks is a lot of money. However, I decided to save money for future consideration, especially for buying my first laptop. As I want to work any place in the world, this would be a valuable investment and free me from my desktop.

If you wishes me to continue further development, you can visit my project page for details of the next job. Here is the direct link to the funding page.

Saturday, January 31, 2009

Halfway through the Job

The no-fluff graphical engine for ruby-warrior is for all practical purpose, finished. It can load the maps, captives, sludge, and other monsters I didn't think of. Pretty cool.

I am just playing or rather, programming my AI to play the game to ensure that I didn't miss anything. It will be interesting to see if I can get the codebase merged back into the original game itself.

All that is left is the bonus programming that I will do. Two week is twice the estimation of this project. This is good. It is better to overestimate the difficulty and duration of a project rather than underestimate them.

My first patron is excellent. He gave me some good advice on how to manage a project and he paid me half for getting the project halfway. When the project is done, he will pay up the rest.

Now all I need is to do some bonus programming for the rest of the duration of the job and polishes them up.

I could probably promote the game at the end of this project and make some extra cash in the form of ads space. Not sure if it is a good idea to do it. Maybe it is tacky and unethical? I did create the graphical front end for it so I can probably promote my graphical front end.

Friday, January 23, 2009

Game Programming Job Scored! Victory is mine!

I got an informal contract from a fellow ruby hobbyist and programmer to work on the graphical frontend for ruby-warrior for 50 bucks. It is a small amount of money but hey we got to start somewhere, right? (For the record, 50 dollars is a lot of money for me)


Ruby-warrior is essentially an AI programming game in a hack and slash setting. It is something that only appeal to the very geeky crowd of programmers but it is also a lot of fun. My job is to basically blot a graphical engine on top of it to give it more oomph. I won't be doing pretty arts though.

Since the author already worked out the parsing details, making an engine should be a piece of cake. I done it mutiple of time already in my own projects over the years. The best part is that all the work will be made libre and freely availiable.

What I am hoping is jobs beyond this project and of course, more libre games. Every job to me would unlock the path before me and help me make my dream of writing FOSS video games for a living come true.

You can see details of the job here.

Feb 5-6 is the deadline. Let hope I make it!

Wednesday, January 21, 2009

RubyTet 0.0.1 is out!

Rubytet is out! It is a complete clone of tetris, although a bit different. It took me six months, on and off, working to get this finished.

So there it is, a clone that doesn't really particulary stand out. However, that's ok because it is a stepping stone to bigger and fun projects. I think I really get the memo that truely good games take long time to create, a year of nonstop coding I believe.

There you have it! My game.

Wednesday, November 5, 2008

Last Week was Very Busy

I didn't get the chance to code for a long time because the last week has been so busy...

Today, I got the chance to work on RubyTet. Currently, I am working on rewriting the way the game handle the data of blocks and indexes. I am integrating together. As a result, my game over code stop working. However, I don't know where is the location that determine the end game. So there are some voodoo code that I don't know about.

I hope to get some block destruction by the end of the week and I vow to work even more. I got 19 commits today so that's a good start. Moreover, I will be increasing my minimum commit rate to 15.

It is already November...If I don't finish my rubytet project soon then I am not ready to start ransoming my work in December. So I am going to self impose myself a deadline to be finished by this weekend. Here are the goal for version 0.0.1:

1. It will have ever increasing difficulty in term of speed

2. Score points properly. Bonus for straight drop.

3. Block destructions.

4. Polished opening screen.

That's all I can think of right now.

Saturday, October 25, 2008

Scoring System Almost in Place

I, being a rather lazy programmer, only made 13 commits in writing RubyTet. However, it is a somewhat productive day in term of progress. I finish most of the scoring system code. The only two things left is to make it easier for players to score the game is by finishing the shape changing code and to write block crushers.

Friday, October 24, 2008

Not Much Today

I spent little time developing RubyTet today. I merely setup the classes for scoring and the UI for displaying the game score. I did get 16 commits though.

Tomorrow, I will probably do a more..rigorous development of RubyTet.

Also, I am probably going to toy with coding other sort of games...nonseriously... So any new projects that I might have started tommorow is likely to be forgotten...

Thursday, October 23, 2008

A Big Puzzle of RubyTet is Solved!




Well, my solution to RubyTet's game logic problem has worked. Once again, simple solution often trump complicated answers in their correctness. So much that I have to get rid of my old solution, which were more specific and more wrong.

The above screenshot is not representative of the current situation but it is quite close to it.

I made roughly 15 commits today in the span of an hour of programming. I think that's enough for today.

By the way, thanks for the vote on the FSDaily story for the Libregamewiki article Battle for Wesnoth. I appreciated it! More votes is welcomed!

Wednesday, October 22, 2008

Hmm....Failure Again

Yesterday was supposed to be the 7th day of non-start stop development. It didn't happen because I was too interested in discussing ideas rather than writing games. This lapse is disappointing. But today, I resolved to program harder to make up for my failure.

I won't promise that it won't happen again but from this day forth, I hope to achevie the magical 30 days straight game development, a feat that I achieved during the summer.

In about one hour of programming today, I achieved 14 commits. In that time I laid the groundwork for a much simpler solution to the problem than I have devised with my overly complex dropping mechanism. I think...it is almost complete. I hope to finish this very core game logic by tomorrow...

As for the Libregamewiki project, I encouraged people to votes on the FSDaily story for our Wesnoth article. Making the front page again means more traffic to Libregamewiki, and hopefully contributor conversion.

Monday, October 20, 2008

Redux Day 7: Upping the Ante

Since it is Monday, I decided to increase the number of minimum commits by one.

All in all, I finished a game feature which allow players to do instantaneous drop. Otherwise, it is mostly me mucking around cleaning up the rather ugly codebase. So nothing concrete except better code organization and a new gameplay feature.

I also got a solution that's worked out for the game logic. Let see if my other work on the codebase can delay me from working on the game logics until Friday. It is not like it will be ready for consumption once after I finish the core game logics. All I am doing is shifting tasks around that would otherwise be done anyway at the end of core feature development.

Sunday, October 19, 2008

Redux Day 6: Game features coming along....

Instead of banging my head against the game logic diffculty of RubyTet, I decided to work on other game features instead. So I worked on limiting the movement of the shape by figuring how much to offset. Then I went to work on player activated complete drop, which meant that the player has decided to just drop the shape.

In course of implementing this feature, I discovered that I must again make new classes so it make the task of writing new features easier. Currently, the classes are incomplete. However, I hope this task will keep me occupied as I figured out a solution to my difficulty.

Saturday, October 18, 2008

Redux Day 5: RubyTet Game Logic Trouble

So I managed to make 12 commits to the RubyTet project but I never managed to get much further along with the game logic. The new method I used to check if it is necessary to drop is broken. So tomorrow, I'll have to spend good quality time doing sketching on papers and figuring out the mathematics.

Along the way, I did a few preparation on changing the speed of the game and did some bugfixes that went unnoticed before.

Friday, October 17, 2008

Redux Day 4: More Cleanup on RubyTet

I finally finished cleaning a class of RubyTet. Now that its ugliness in that area got erased, I can focus on figuring out the game logics. I havn't made much progress in that department. My assumption are wrong in the first place and I'll have to go back to drawing board and figure out what information to return.

Libregamewiki, on the other hand recevie generous contribution from the author of SDL-Ball on our article SDL-Ball. We are grateful for that contribution. It also mean that SDL-Ball is one of our bigger article on Libregamewiki. Regardless, any contribution from others is awesome!

Thursday, October 16, 2008

Redux Day 3: A Little Cleanup in RubyTet

Today, not much has been focused on dealing with game logic code and more about cleaning up the codebase a little bit so it is a little bit more organized and feel "cleaner". I managed to achevie my minimum goal of 12 commits plus more.

Tomorrow, I will have luxury of working out the game logics code for RubyTet. Currently, it knows when to stop moving the shape and start a new shape to drop, but it doesn't know where to stop moving. Hopefully, by the end of tommorow, I will have something almost resembling Tetris in that you fit pieces together.

For the Libregamewiki project, I am pleased to continue to see the increase in traffic. The construction project and the promotional effort has defintely paid off. However, we will need to promote the project more and continue the construction program before I can see that Libregamewiki take care itself without my day to day editing.

Wednesday, October 15, 2008

Broke RubyTet's Barrier! Yay!

Second day into my redux:

Well...I finally solved the bug in RubyTet. It requires lot of debugging for me to figure it out though. Tomorrow, I can proceed doing 12 commits to the project, I hope.

Libregamewiki received much traffic thanks to your vote on FSDaily! If you haven't vote for the OpenAnno article yet, please do so! If it can get to top story of the week, that mean a continued stream of traffic to Libregamewiki. I think it already attracted a contributor :D.

Meanwhile, I continued my study in trignometry, finishing a few problem today. They were easy so far. I just have to figure out how to convert them into square root or something...

Tuesday, October 14, 2008

Redux and Failure

This weekend, I have unexpectedly failed to reach my goal. It all started with my inability to overcome obstacle in programming RubyTet. The rest, I wasted time and refuse to do them at all. In any case, it was a disappointment.


Today, I have come back to coding RubyTet again, along at a reduced level of productivity, because of my inability to solve difficult bugs. Nonetheless, this day will marks the redux of my effort to strengthen and maintain discipline. So this is day 1, all over again.

Looking back, I think I was overly ambitious to pursue many things at the same time. So this time, I will scale back and just focus on doing my homework, coding, and editing the wiki. I will have to fit my trignometry study somewhere. I wouldn't like to wait a long time before I can restart my Space Fighter Ace project.

Also, for the libregamewiki project, I would like readers to vote up the FSDaily story on OpenAnno, a recently featured article and recipient of the construction project on libregamewiki.

Friday, October 10, 2008

Day 19: 3 Day Weekend Starting!

Ah, I gone off the track a bit with Friday here. Still managed to keep doing RubyTet stuff though. I read through the rails tutorial and the trignometry book and everything. Libregamewiki got a growth spurt going on. In short, everything may be progress more slowly than ancipitated but it is still going.

But today is when the long weekend starts! Monday is student holiday and the teachers will have to drag themsleves off to work. Good thing that I am a student.

Time to make plans!

Let me see if I can finish chapter 3 of my trignometry in one evening sometime this weekend. Also, I am going to finish part 5 of my rubygame book.

RubyTet will be going under hyperactive development mode. So expect lot of commits and lot of progress, barring unforseen obstacle.

I am going to try to finish the rails tutorial too so I can start building RubyTet's home and the beginning of a gaming framework integrating websites with video games.

If I make good use of my time, I should be able to get lot of these goals done. If not, than I only have myself to blame for squandering such a pecious opportunity. Here hope that it turn out wonderfully.

Good night all!

Thursday, October 9, 2008

Day 18: Homework Thursday

Today, all at once, my teachers decided to give everybody lot of homework. So I got clogged with homework in my backlog. This limits my time and force me to spend time coding on other parts of RubyTet such as cleaning up the viewer class. In the rush, I made several careless mistakes and has to correct them later.

I should have made better uses of my time though. That way, I can think about solving the problem instead of the mad rush to do easier but less essential tasks. But tomorrow will be Friday and there will be an extended weekend too! So this school cruft will be over soon!

Beside homework, this day is business as usual. I am slowly progressing through everything...

Wednesday, October 8, 2008

Day 17: Adding controls to RubyTet

For RubyTet today, I wrote the game control so that you can move around shapes. I still have not implement the shape changer though. Then I worked on adding rules for adding shapes since it isn't enough to be adding shapes to the field, but actually inserting in the correct position.

As for my other stuff...

Rails: I am momentary confused about rails migration. Tomorrow will clear up as I start over again over the migration part of the tutorial.

Trigonometry: I am proceeding slowly through chapter 3. Still many questions to go.

Libregamewiki: It is business as usual. Not much is going on there.