Tuesday, April 24, 2012

Ludum Dare 23


Last weekend I took part in Ludum Dare game development compo. I've been jealous to Jetro for a long time because he always manages to make something great in these compos. So I took the time and bit the bullet myself.

The game I made for the compo is called Gingerbread Kingdom, it is kind of a mix between Carcassonne, Tower Defence and Rampart.



I set a couple of constraints to myself before I started: 1) Simple, 2) 2D Game, 3) written in Javascript. I often manage my daily work using disposable prioritized todo lists (Babauta style), and I often doodle pictures to set myself longer term goals. The castle and the giant in the above picture is the one that kept me going in the Ludum Dare concept (even if giants turned into birds later on). I had the idea of using the Carcassonne tiles from get go. When I saw the last theme voting, it was quite clear that it would fit in any of the ideas.

Equipped with these ideas I started to work on placing the tiles, finding complete castles and scrolling the area. Initially I had the idea that the world would be infinite (of course!), as I went on I kept on making it smaller and smaller, until at very end I removed vertical scrolling. On hindsight,  I think the game would be twice as fun if it did not have any scrolling at all.

One tile placement was working and I could detect the castles, it was time for some enemies. At this point the world was still infinite and I struggled to figure out a way to spawn enemies from any direction without making the game too frustrating. In the spirit of getting things done, I just made them always spawn from right, and afte I had implemented the first version, I did not see any reason to make it more elaborate.

Once I got the basic conflict set up, the hardest part of the project started: balancing. This was around the evening of the first day, and I was getting a bit worn out already. And boy was it hard! The game was not fun, it was unbalanced, unfair, buggy and I just had to keep on going to play it.

To get past that stage, I kept writing tiny lists of things that needs fixing, and fixed them and moved on. After some passes I started to see a game emerging, and it was time to start pruning things. The biggest change for me was to shrink the playfield. When I got the idea to use the Carcassonne tiles, I wanted to solve the Carcassonne problem that you run out of table. It took me more time than necessary to let go of that idea.

It has historically been really hard for me to design game endings. I can kinda make ok-ish failure conditions, but defining the point where you have won a game is just somehow out of my character. For example my earlier game Zen Bondage did not have game ending at all, you just had to decide that you're done. I kinda got away with it with the Buddhist theme there :)

So when I finished my "all nighter" around 2 am the first day, I had my basic game done.

The next day I concentrated on making game ending, and making the game more understandable. My design philosophy is: use less energy to decode more information. Usually this require rounds of user testing, and reworking things. This phase usually includes adding some kind of indication to all meaningful state transitions in the game.

My favorite tools for these indicators are particle systems and procedural animations. I think the 1.5 hours I spent on making that procedurally animated bird was well worth it. I wish I had had another 1.5 hours to spend on making a simple particle system, which I could have sprinkled all over the place.

I left the winning condition to very last stage of the project. I generally hate boss battles, so that was yet another mental struggle to get through. I'm glad my fiancee insisted on having a boss fight in the end :) Once I had it implemented, I had a stream of other ideas how to make the overal progress better, but no time.


The ideas that spawned the day after when I saw people actually play the game were:

  • make tile rotation instructions in bigger, bolder, blinkier and fancier text 
  • no scrolling, make the gamefield fit on screen
  • add level of increasing difficulty
    • could be procedurally generated
  • ramp up difficulty based on enemies and terrain (water tiles)
  • better indication which tiles are ready to fire
  • lasers!


All in all I think it was a great project. the biggest lessons were that it is really hard to balance a game system when you're really tired. It turned out to be equally nasty to find bugs in dynamic language, especially refactoring was something was huuge pain. Next time I'll set up closure compiler from the start. I'm most proud that I was able to keep it simple and finish the game.

23 comments:

  1. Super game - I just played it through (right to the end!)

    I liked the scrolling - it makes you feel you've made some progress, without making stuff too small to see.

    ReplyDelete
  2. Excellent game and execution! Just played it through once, except the big huge bird just cleared everything. :) I didn't first even realize that the playfield was scrollable, so indeed it could be a good idea to remove scrolling.

    ReplyDelete
  3. PROMO SPESIAL LEBARAN EDENPOKER MEMBERIKAN BONUS NEWMEMBER 10.000 DENGAN MINIMAL DEPOSIT 15.000
    DAN UNTUK PERSENTASE WD SANGAT BESAR
    YUK LANGSUNG SAJA KUNJUNGI CUSTUMER SERVICE KAMI
    DAN SEGERA DAFTARKAN DIRI ANDA BERSAMA KAMI DI WWW . EDENPOKER . XYZ
    GUDANG PROMO IDN POKER
    Agen Bandar Poker Terpercaya
    Bandar Poker IDN
    Poker IDN Terbaik
    Agen Judi Uang Asli
    Agen Judi Terbaik Di Indonesia
    Agen Judi Deposit Murah
    Info Poker IDN Terbaik

    ReplyDelete
  4. Nice Information Provided on Unity Game Development Training. Here's more on Game Development

    ReplyDelete
  5. SAHABAT DOMINO Situs QQ Online, Agen Domino99 dan BandarQ Online Terbesar Di Asia
    sahabatdomino Memiliki Permainan Yang Mudah Dimainkan & 100% Mudah Menang Lohh..
    Cukup Dengan 1 USER ID Anda Bisa Bermain 9 GAME Berkualitas :
    * Poker
    * Domino99
    * AduQ
    * Capsa Susun
    * Sakong
    * Bandar Poker
    * BANDARQ ONLINE
    * BANDAR66 ONLINE
    * Perang Baccarat
    +++++++++++++++++++++++++++++++
    AKSES LINK ALTERNATIF TERBARU :
    - sdomino99.com
    - sdomino99.net
    - sdomino99.org
    - sdomino99.info
    +++++++++++++++++++++++++++++++
    Juga menerima deposit via PULSA TSEL dan XL dengan rate 0.85 ya bossku :)

    < Contact Us >
    Info Lebih Lanjut Hubungi :
    W.A : +855972468846
    Line : Cs_sahabatdomino

    Sahabatdomino : Situs QQ Online, Agen Domino99 dan BandarQ Online Terbesar Di Asia

    ReplyDelete
  6. Cari Situs Judi Online yang fair ?
    No BOT - No ADMIN dan murni PLAYER vs PLAYER
    Solusinya hnya di CrownQQ Agen DominoQQ BandarQ dan Domino99 Online Terbesar
    Bonus Rollingan 0,5% Setiap senin
    Bonus Referal 20% Seumur hidup
    Hanya dengan nominal deposit Rp 20.000 sudah bisa bermain 10 game.
    Raih jackpot puluhan sampai ratusan juta setiap harinya..

    Ayo gabung sekarang juga hanya dengan
    mengklick Daftar CrownQQ

    BACA JUGA BLOGSPORT KAMI:
    WinCrownqq
    Tips & Trik
    Jendela Dunia
    Berita dan Info Dunia

    ReplyDelete
  7. Thanks for sharing this information.
    Yes Done is the best online site for on demand home services, professional service providers in Jaipur, Rajasthan. We are providing top services like carpenter, cleaning, TV, best pest control services in Jaipur, ro repair service in Jaipur, ac repair service in Jaipur online by Yes Done is there for services at your doorstep in Jaipur, Rajasthan. For more service visit our website. For more services visit our website.

    ReplyDelete
  8. Thank you for sharing this valuable information.

    Apparrant is the leading UX UI Design agency having experienced designers and developers working throughout the year on important and life changing products. We have been awarded as top UI UX Design agency in India by multiple agencies. If you are looking for best UX Design Agency in Noida, UI UX Design Agency in Faridabad, and UX UI Design Company in Delhi then Apparrant is best for you.

    ReplyDelete
  9. Nice Information. I really liked it and admire you for posting it on the internet for the benefit of a larger Audience.

    If you are looking for best App design and development company in Noida, Delhi NCR, Gurgaon, Faridabad and India then Apparrant is Awesome. We have been known as leading Mobile and web application development company in Noida, India. Work of Apparrant can be checked on our website along with the processes we follow in to the web or App design and technologies we use at Apparrant.

    ReplyDelete
  10. It's a great blog, shares a piece of good information.

    GIEC Global is the leading education and migration consultants in Australia. We are top Education consultants in Melbourne, Sydney, Perth, Brisbane, Adelaide and Australia. We are best education consultants for Canada in Australia. We also helps people in studying in USA and have been awarded as education consultants for USA in Melbourne and education consultant for UK in Australia.

    ReplyDelete
  11. The awesome blog shares good information with everyone. I will bookmark it in the future.

    France Education Consultants in Australia is GIEC Global. We are top Education consultants for Norway in Melbourne, Sydney, Perth, Brisbane, Adelaide and Australia. We are best education consultants for Netherlands in Australia. We also helps people in studying in Ireland and have been awarded as education consultants for Ireland in Melbourne and education consultant for Finland in Australia.

    ReplyDelete
    Replies
    1. pest control in pune & Services is a professionally managed pest control company aiming to better the environment and create better living conditions without any stress. Poona Pest Managment & Services has stringent norms to enforce quality pest control services that have lasting effects. Our pest treatment leave the desired effect on effective problem remediation by us.
      download learn Free Digital markting app
      digoital marketing

      Delete

  12. Pest control service is the necessity or authority of a diversity clarified as a pest, a member of the aspect kingdom that affects adversely on humans actions like lizard ants, rats, cockroaches, and silverfish encounter the medication. You may see a development in pest activity. This is natural as the pests are being grown from your usual hiding areas.

    ReplyDelete
  13. I guess I am the only one who came here to share my very own experience. Guess what
    I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues.
    I do not know how to Free Download But thankfully, I recently visited a website named Crackadvise.Crack

    Skype Crack

    IObit Smart Defrag Crack

    Wondershare PDFelement Pro Crack

    Ableton Live Crack

    PhotoFiltre Studio X Crack

    CCleaner Professional Key Crack

    ReplyDelete
  14. cockroach Control Service in Pune and night service for pest control according to your convenience. Positron Pest Control aimed at achieving a clean, hygienic and comfortable living environment.

    ReplyDelete