Hi!
Without much ado – what this blog is for, why, how often – I cut to the chase…
And to the gift for my first Readers.
Since when I’m interested in computers, that is since childhood in 1980’s, the first and the most important applications of computers for me were games.
A lot has changed since then, computer became my main tool in everyday work, and its huge popularity made me a little
forgetting about how it fascinated me once when, in spite of its 64KB of memory and 2MHz processor under the hood, transducer me into another magnificent worlds, challenged me intellectually and manually.
Game developers appeared to me as gorgeous magicians, poets, splendid musicians and and brilliant engineers in one person. The dreams of becoming one of such genius seemed inappropriate. After all my game won’t be on the same level as theirs, I can’t program so well, I don’t no anything about graphics, I don’t have musical talent, etc…
Sometimes we set the constraints for ourselves, that doesn’t allow us to just feel the joy of what we really enjoy doing.
And making games is even bigger joy than playing them.
And making games which are played with joy is a top fulfillment.
Is it possible to make your first games being almost forty?
Yes it is, like starting to paint, sing, jog or to do DIY.
One just needs to stop dreaming…
So I encourage you to play my first game below, which is inspired by well known play.
The rules are:
- You have 12 balls in a row and the last one of them is special – it is a bomb!
- Choose who plays first (you or a computer) and then players make moves in turns – every turn you take away one or two balls.
- Who takes the last ball away, loses!
Play against computer and see if and how you can win against him.
I hope the game gave you a moment of joy as it made me a lot of joy to make it. This simple game is made in HTML and JavaScript which I currently study.
Before I started programming this game I made a little design in the form of document, which is known in game development world as GDD – Game Design Document. This is very useful stage of game creation.
When you have the ideas behind the game well-thought and written down it is easier to focus on implementation.
If you know the look of the game, images, how computer and player moves, what is the algorithm to win the game, you know where you are heading and take care only of technical problems. Of course there were some small issues on the way but most of the game was considered in advance.
I concluded a few bonus features in GDD which are not in the game because they could have extended the implementation. First of all I wanted the game to be finished!
The game doesn’t have a big replayibility, with you knowing how to win it the fun is over.
So you are encouraged to comment if it was surprising to you, if you want me to implement bonus features from GDD or make your own ideas how to enrich the gameplay.
And perhaps you would like to read how to win this game and why, how computer plays and how to make the computer learn this game. The second topic for sure will be covered in the blog, so you can choose which one first.
So comment, choose, suggest!
P.S. For interested in JavaScript: it turned out that move is relative, onMouseOut event is generated not only by cursor moving out of the object but also by object under the cursor removed from DOM structure.