Entries in Harakiri game (3)

Sunday
Apr102011

Changes, Changes, Changes

There were a couple of major changes during this week which now will affect the current state of things.  But first, I need to thank the first reader to contact me.  His name is Anton and he was asking if I am a student at Stanford.  Well, I am not an official student there, and all I do is basically self-education based on free CS courses anyone can download at iTunes U.  Still, it's the best one could actually manage to get to Stanford courses and studies without enrollment.  And there is secondary value in Anton's question which I am so thankfull:  now I know this project is public not only by name but by cold facts as well.  :)

 

Now to the changes.  Firstly, I've realized I went too quick through the lectures and the book and not all the information has settled just yet.  I need to slow down and review the previous materials, and do some more coding on those.  It's going to take a week or so, but that's what needs to be done in order to lay a better foundation for the future studies.

 

Secondly, there will be a slow down in 'Harakiri' game development.  I'm thinking about changing the approach to the code architecture, and while this is definitely not a complete "throw-away-start-from-scratch", it still will take time.  The main reason for me to do it is a thought that this game if it comes out nice may end up on Android platform (which uses Java as programming language).  Anyways, this is not exactly the goal, but if such opportunity comes up, the code should be ready to get changed easily and with appropriate style.

 

I am planning to finish watching the lectures very soon (in about couple of days), at the same time I'll be reviewing some of them and reading the textbook once again.
Sunday
Apr032011

Harakiri Game Progress

Hello, there!  As I've written last week, I am going to keep the posts about my recent project, "Harakiri", up to date.  Here's what happened.

First, I've completed writing all the texts for the game.  Not that there were too many to begin with, mostly the help instructions at the beginning, but still this is now done anyways.  This doesn't include building up vocabulary, right now it is less than 30 words, but I'll be expanding it during the week ahead.

Second, I've spent some time figuring out how my program should work.  Here's the draft I drew outlining the whole game logics:

This seemingly primitive drawing has helped me a lot while coding the "skeleton" of the game.  In fact my understanding is that it only thanks to this drawing the actual initial coding is now complete.  Yes, you are not mistaken, neither am I:  the initial code for the game is done already!  And this brings us to...

Third, the "top-to-bottom" approach has shown its advantages to me.  I've finished coding the outline (or the "skeleton") of the game, and now it's time to work on the details.  And that's the beauty and power of it:  you don't have to bury yourself under all the details right away, you can go as "deep" as you want at almost any time during the project lifespan.

There are a lot of things to be done, though.  I haven't touched any graphics yet, all I did was figuring out some very basic layout for the game screens.  I didn't record any music or sounds for the game too.  I also need to extend the dictionary.  All of that is a lot of work, but I hope to finish it all by the end of the week (I remember saying so last week!), and will surely keep the blog updated on that.

Sunday
Mar272011

My First "Serious" Project  :)

Last week started with changes in SimpleBeat web-site design (I changed the background from plain brown color to simple "wooden" texture), and it continued with making the header for the web-site, original typography art-work, rendering "SimpleBeat" in bold white letters with outline effect.  It may seem a bit out of style, and I am going to fine-tune it this week.
 
As far as my programming and studies go, I've learned a couple new concepts:  HashMaps and Layouts.  These concepts are Java-specific (at least Layouts scheme), so I am not spending much time on it.  My Java course should be over by mid-April (which is in three weeks), and I'll be starting C++ as my second course.
 

To practice Arrays and Layouts I am going to do a few practice exercises.  And here's a brief overview of my first exercise, a variation of Hangman game, which I call "Harakiri", and which is styled and related to Japanese culture.  In traditional Hangman player guesses the letters of a word, and if he makes a mistake the picture gets updated with new details of the hangman.  In my variation the hangman is samurai (Japanese warrior) ready to perform harakiri (ritual suicide), and the only way to prevent samurai from doing it is to guess the word correctly making the least of the mistakes possible.  The word list will contain English words originated in Japan, or famous places in Japan (some well-known and not so much entities like "tsunami", "Tokio", "banzai", "kimono", etc).

This is going to be a "serious" projest, involving writing/reading files (dictionary), displaying rich graphics (I am on a zero budget, so do not expect anything too advanced), music & sounds.

I am treating this project as a prototype for my future iOS development process, and will be testing out various techniques and approaches to see what works and what doesn't.  I plan to finish with the game by the end of the week, and will post various details and follow up next Sunday.