6 games you must be able to make in less than a day

Emanuele Feronato Game design, PROgramming

Do you think you are a game developer? Do you want to start to make games in any language but you want to test yourself?

This is a list of six games you must be able to make in any language in less than a day.

Every game is a classic you can see on any device, and each of them has a particular feature that will help you growing in game programming.

If you aren’t able to make them… well…

Let’s see them

Concentrationhttp://en.wikipedia.org/wiki/Concentration_(game)

Concentration, also known as Memory, Pelmanism, Shinkei-suijaku, Pexeso or simply Pairs, is a card game in which all of the cards are laid face down on a surface and two cards are flipped face up over each turn. The object of the game is to turn over pairs of matching cards.

Why you must be able to make it: It’s the simplest game ever… just an array. Come on.

Tic Tac Toehttp://en.wikipedia.org/wiki/Tic-tac-toe

Tic-tac-toe, also spelled tick tack toe, and alternatively called noughts and crosses, Xs and Os, and many other names, is a pencil-and-paper game for two players, O and X, who take turns marking the spaces in a 3×3 grid, usually X going first.

The player who succeeds in placing three respective marks in a horizontal, vertical, or diagonal row wins the game.

Why you must be able to make it: This is the simplest example of artificial intelligence. The CPU player must never lose a game.

Minesweeperhttp://en.wikipedia.org/wiki/Minesweeper_(computer_game)

When the game is started, the player is presented with a grid of gray squares. If the player clicks on a square without a mine, a digit is revealed in that square, the digit indicating the number of adjacent squares which contain mines.

By using logic, players must deduce that certain other squares are mine-free (or mine-filled), and proceed to click on additional squares to clear them or mark them with flag graphics to indicate the presence of a mine.

Why you must be able to make it: You will get familiar with arrays with multiple values, and there is an interesting implementation of the flood fill algorithm

Sokobanhttp://en.wikipedia.org/wiki/Sokoban

Transport puzzle in which the player pushes boxes around a maze, viewed from above, and tries to put them in designated locations. Only one box may be pushed at a time, and boxes cannot be pulled.

Why you must be able to make it: It’s another array game but this time you will handle keyboard interaction, and you have to be able to check for more complex rules to determine whether the player can push a box or not.

Snakehttp://en.wikipedia.org/wiki/Snake_(video_game)

The player controls a long, thin creature, resembling a snake, which roams around on a bordered plane, picking up food (or some other item), trying to avoid hitting its own tail or the “walls” that surround the playing area.

Each time the snake eats a piece of food, its tail grows longer, making the game increasingly difficult.

The user controls the direction of the snake’s head (up, down, left, or right), and the snake’s body follows.

The player cannot stop the snake from moving while the game is in progress, and cannot make the snake go in reverse.

Why you must be able to make it: Here it comes the timer… unlike previous games just waiting for the player to make a move, this game requires time handling.

Tetrishttp://en.wikipedia.org/wiki/Tetris

A random sequence of tetrominoes (sometimes called “tetrads” in older versions) – shapes composed of four square blocks each – fall down the playing field (a rectangular vertical shaft, called the “well” or “matrix”).

The object of the game is to manipulate these tetrominoes, by moving each one sideways and rotating it by 90 degree units, with the aim of creating a horizontal line of blocks without gaps. When such a line is created, it disappears, and any block above the deleted line will fall. With every ten lines that are cleared, the game enters a new level.

As the game progresses, each level causes the tetrominoes to fall faster, and the game ends when the stack of tetrominoes reaches the top of the playing field and no new tetrominoes are able to enter.

Why you must be able to make it: Don’t understimate this game, this is quite complex… it features timers, events, “physics”, inputs… once you’ll manage to make a clean Tetris game, you’ll definitively be able to make complex games, it’s just a matter of time.

Do you have other games in your “must do” list?

Want to learn more? Learn by example!

Get the full commented source code of an actual commercial cross platform HTML5 game!!

Comments 29

  1. mmankt

    I agree that before making a big advanced game you should make something smaller. Not necessarily these.

    I think that for the sake of the Internet it’s better not to see another snake ,tetris or pong etc clones. Just try inventing something yourself – you’ll save your time(why doing a game only to test yourself/keep on your drive when you can make something actually good at the same time) and other’s.
    On the other hand if you want to/make games and look at this list you should be able to think ‘yeah i could do them all with ease, don’t even have to look for tutorials, i just cracked them in my head.’ but it doesn’t mean that you should actually make em. It’s more a matter of knowing your skills.

  2. Bane Williams

    mmankt I think you are going the wrong way here.

    You need to be ABLE to make those games, not actually make them and produce them. In other words, to become strong in any programming art, the ability to push these concepts out quickly and easilly is vital to success – otherwise you are simply faffing about.

  3. Vlad

    Quite funny, did most of these in a short time. The shortest was Tetris, 5 hours.
    There’s a lot more games to add to this though :
    mastermind, hearts, bird hunt, and so on and so forth.

    But then again it’s not necesarly you do them within a day. If for example you build a tetris you want to later on expand, it could take two days or more, not to mention switching it to 3d and so on and so forth.

    So basically, it’s all about how you wish to spend your time and what on exactly, and how in-deep you would like your code to go. For example building a tetris framework for facebook multiplayer would take a bit more time.

    So it’s not “must” :) .

  4. Post
    Author
    Emanuele Feronato

    you’re right Vlad, but you should be able to code AT LEAST a working prototype in a few hours.

    Obviously even a minesweeper game can a month if you add detailed statistics, undos, fancy graphics, 3D, multiplayer, social features…

  5. Ken

    Please i need your help, i am creating a tower defense game and i want to create 3 different tower defenders and several different towers/paths/levels but i want 2 of the defenders and most of the levels to be deactivated until a player uses a cheat code or hits a particular key before they get access to them.

    I want to use cheat code to make the player have access to the other defenders, before the player can then use points to buy upgrades. And i want to also create several levels that the player can choose to play from rather than just one level.

    Please HELP me

  6. Pingback: Emanuele Feronato - italian geek and PROgrammer

  7. Pingback: Complete Flash Sokoban game in less than 2KB - Emanuele Feronato

  8. Meh.

    the first real “game” i programmed was space invaders =3
    well it wasnt exactly the same cause the enemies didnt shoot at me and i didnt have shields to protect me, but therefore it had meteors falling from the sky to kill you and a combo display(how much hits you do in a row without missing)

  9. Pingback: Creation of a Sokoban game with jQuery - Emanuele Feronato

  10. Frank "knarF" Eriksson

    Whoa, wait a sec here!
    “This is a list of six games you must be able to make in any language in less than a day”

    Do you mean that one should be able to make all those games in one day in any language?

    There is a big difference between languages! I do not know AS2 and AS3, But I know (or at least did knew) x86 assembler for DOS. Sure, I could probably make many of those games in one day in assembler, and some of them I have made. But I’m unsure about Tetris or Sokoban, I’ve never made a clone of those. But I could say that I was really proud of my fancy Snake game I made in assembler when I was twelve years old.

    If we are about to talk about other hard languages, we can take basic for the TI 82 stats calculator – it does not even have function calls! But it is possible to fake that, even though it requires 5 lines to make a “call” and another seven or so to return (using goto and other cruft) and you need to have a place (function call “vector” or something) where you have multiple if-goto depending on what value you have in a variable (I did choose the letter omega) and function-names is basically a number.
    I did lots of games on the breaks, like dungeonmazes and breakout, and really impressed everybody. The teachers had never seen a game on those calculators, not even thought it would be possible. Anyway, all those games are probably lost. I had to return the calculator to the school and they probably cleared it, I had no calc-to-computer transfer cable. Maybe some other student has a copy that might have survived.

    My question is would you be able to make games in x86 assembler for DOS or TI 82 Stats Basic? I think that the assembler versions is easier as there is call, enter and leave instructions.

  11. newbie programmer

    I think a labyrinth game is also a ‘must’ game.

    Space shooters/adventure games are really funny, and easy to make. Here’s the one i made a few month ago (btw, i’m 15 years old): SpaMeSh

    (it’s a bit different from other space adventure games, though…)

  12. Tla

    hey can anyone TEACH me what an array is?
    actually can ANYONE TEACH ME flash as2&3 language?
    (yes i’m stupid cause i’m only 13 years old and i live in a country THAT DOESN’T even know what FLASH IS!!!) ps.can you give me Emanuele Feronato’s account?
    pss. ican’t do any of these!! i don’t even know where to start!

  13. Pingback: Retrobottega » Archive » Creare un Gioco in Meno di un Giorno.

  14. Arturo

    thats not true!!!

    unless u do a ascii game…
    just the graphics of 1 game takes more than 1 day..
    all the buttons, the help menu, the about screen.

    unless u do really crapy graphics… this is imposible.

  15. Nicholas

    @Arturo I wouldn’t say it’s impossible. I found this post while looking up something completely different and decided to do Tetris just because I felt like it. It took me 30 minutes to have pieces falling and connecting. By 1 hour I had rotations, cause they’re a tad tricky. By 2 hours I had it clearing rows and causing the above rows to descend downward.

    However, let me say that this is not the first game I’ve created. I’m not inexperienced and am a frequent Ludum Dare participant. I think that if you participated in some game jams that you might get a hang of how to do this stuff correctly quickly.

  16. Pingback: From zero to a complete Unity3D game: 3D Concentration using C# – step 1 - Emanuele Feronato

  17. Pingback: Create an HTML5 Sokoban game using new Construct2 tilemaps only - Emanuele Feronato

  18. Pingback: Complete HTML5 Concentration game made with PIXI.js - Emanuele Feronato

  19. Pingback: Draggable, Zoomable Tile Map with Pixi.js | bhopkins.net

Leave a Reply

Your email address will not be published. Required fields are marked *