Just wrote down some advices on how to survive a game jam (having ludum dare 48h-competition in my head). Have a look here:
How to survive a game jam
Breakdance McFunkypants is going to write a book about game jams and asked the game community about their advices:
dertom’s five cent about finishing the jam
I’m attending ludum dare since #13 and since then I tried to do as much official ones and miniLDs as possible. And to be honest I didn’t finish most of them. It is not easy to tell one cause! It is more a mixture of bad decisions…and even knowing most of them beforehand won’t prevent you from doing them! I’m the best example for that…
- starting with lack of sleep: I am located in germany meaning ludum dare starts in the middle of the night 3/4/5 am for me. Being excited about a great coding weekend my sleep is very “thin”. If you are awake when the theme is announced, do not look at the theme! Try to get your normal amount of nightly hours. Once you know the theme your “brain storms”! ;D That might differ from person to person! For sure there are cases where the brain produced a nice concept during REM and this kind of approach might be a plus..I never experienced that but just couldn’t sleep well and healthy at all…
- know your tools: Many people will say “Oh great! LD (or the JAM) is a good opportunity to get into a certain technology.” e.g. I ever wanted to use python, or flixel or libgdx ,etc. And it is true, nothing is better to get into a new tech than having a deadline to finish something. BUT the less you know the tool/framework and the programming language behind it the bigger the chance to fail in case of finishing the game. So I can only advice to use the frameworks you are familiar with so you don’t loose time for just looking up things you would know easily in the framework you are used to.
- don’t start with just a picture in your head how your game could look like: Once you know the theme (hopefully well-rested) lots of ideas rush through your head. Very rough ones where you might have a clue how it looks like afterwards. Don’t start with just that picture without thinking about the gameplay. Try to immerse into your finished game: You start the game, “Press space”, what happens now? how can I progress? What are the main-elements? And most important: is it fun? Nothing is more frustrating than being on a good way in finishing the game and realizing there is absolutely no fun. (this have to be discussed on its own later) Try to write all of this down. Sooner or later you get exhausted and might forget about the best parts.
- Try to find the basic gameplay early: Once you are lucky enough to have a concept try to figure out the most basic gameplay. Do avoid things like effects, complicated movement types of your enemy, etc. That parts are only optional for the case you have enough time left. The gameplay has high priority and try to get that basic gameplay playable as fast as possible with still readable source-code! (Makes it lot easier afterwards). Try to create a game type that keeps a playable version where you only extend new features as long as you have time left. That is first very motivating and second as you play your game all the time you see quite early if your game ‘works’ or not.
- Once you got a prototype, play your game: Play your basic gameplay with “Player’s eyes” and think about the next steps, what would you expect and want to be included in that gameplay. Be that kind of guy that sees your game and shoots as fast as a gatling gun one suggestion after each other at you. Write them down and classify them about how hard it will be to implement them. You know there might be even problems for the easiest feature. So really pick the one that appears to be the simplest (and pray it really is )
- Please, start with dummy graphics: In my opinion one of the most fatal mistakes is trying to create artwork (as it should look at the end of the game) too early. Keep it more than basic. the first graphics approach should be done in very very^n short time. Try to know the type of the graphics. e.g. you create a 2d game and you know the player is an animated sprite. Create a 2 frame animation that you can replace if you have enough time left, but already use the right classes and calls on the coding side, like starting animations on movement,etc Btw: If you aren’t familiar with animating anything up to this point, then keep it static! Animations are not as important as you might think but can eat time like a black-hole(sun) material (and you start looking like the guys in soundgarden’s video clip to that song *lol* just kidding)
- when you realize ‘my game is without fun and without any challenge’: Once you get to this point there are few options:
1) Try to figure out if there are elements that you can add to save it and implement them.
2) Kick your game and start over from scratch. This you should really only do if you still have enough time and are still fresh enough…
3) Or just go on and finish the game as it is. A finished game even when it has no fun at all is 100 times more worth than two half finished that you can’t even start. Always remember not to expect too much from yourself. Know your skills and use them. A finished game will last forever and it is always fun to look at them once you improved. Honestly I love mine…
- Times for assets: Being a coder I say that doing assets doesn’t expect my brain to be as fresh as for creating code. (Sry artists! I know that might not be true! But ugly arts won’t throw any exception! Hmm,…an ugly-art-exception would be fun though :D) So don’t waste your energy and time for creating assets too early. After several hours of coding you are getting more and more exhausted and you find yourself watching your cursor or scrolling up and down your code without knowing what exactly you are doing…That is the hour of the asset! Start the asset creator of your dreams and do it now. Even you might think to create a still “Work-In-Progress”-Asset , double the time you invest per asset. 4 minutes instead of 2 :D! Still keep it as fast as possible and try to create a complete art-set. Most of the time this “temporary” assets become final having a lack of time in the end! Now it is time to have a rest.
- How to regain power? Don’t underestimate the power of doing something different. Being focused on your project all the time might be wrong. You need breaks.
1) I found it very helpful to have a walk. The combination of fresh air and the lack of electronic devices around you will help you solving problems and decide further approaches. I suggest to set an alarm to have at least one walk during the coding time per day (not kidding)…and force yourself to do it.
2) Don’t work too long at day one. Once you slept for some hours most problems you had when your brain was at 50% are solved in nanoseconds.
3) Quick naps are also a good thing. Take a break lie on your couch and close your eyes for some minutes…
4) Do not drink too much coffee. At least for me that was fatal most of the times
- Have fun!
- Keep it simple!
- Don’t take yourself too serious!
- Do not expect more from you than you are capable of at the moment.
- Have fun!
- Remember :In first place you create the game for yourself! You will be a proud father/mother after that 48h lasting birth(or how long the jam takes).
- Don’t argue about people that use tools you might consider as “cheating”! That is just annoying.
- If it is a competition don’t feel sad about bad votes. Just think of yourself if you have to/want to vote 300+ games in 2 weeks! You don’t have a chance to invest all your energy to any game ==> you don’t understand how to play any game and don’t have the patience==>not that good votes. BUT remember it is your baby and you love it! No matter what others say….
- Make your game as accessible as possible. Like an .exe file, flash, applet,etc Do not expect people to install libraries just for playing your game and at least provide links for direct downloads for the people that are willing enough to install the least known python addons….
-Also very important: PEOPLE DO NOT READ INSTRUCTIONS! They start the game and think:”I will get it!” Try to make instructions as short as possible and try to include them in the gameplay or at least make them available during gameplay (e.g. write them on the background)
- Ah and last but most important: Have fun! It is all about having fun!!
I hope to comply with my own ‘rules’ the next time as well:D
Keep on rocking, ToM/dertom