The 48-Hour Game Programming Competition is a "mostly from scratch", timed, solo coding challenge where all willing game developers spend their allowed time making the best game they can under a common theme. **IMPORTANT** The whole *point* of competing in the LD48 competition is to challenge yourself to write a game, from scratch, by yourself, in 48 hours. That's what we old-timers call the "spirit" of the competition. If you've got a question regarding any of these rules - see whether thinking about the above statement will answer the question for you. **The details**: Date -- April 15th (Friday) to April 17th (Sunday), 2005 Time -- 9:00PM EST (UTC-5) to 9:00PM EST (UTC-5) Teams -- Individual only **Basic Rules For The Competition**: Here's the outline. The rest of the documentation goes into more detail. * This is a Solo competition. * All assets are created during the competition - code, art, sound and music. * Any programming language/compiler/assembler that can produce an executable binary (.exe, rom, etc...) are allowed. * Any platform is acceptable, but Windows is the recomended platform. Links to emulators are recommended for emulatable platforms (GBA). * Many open source libraries that provide no game logic are allowed. See the Libraries section for more info. * No base code. All code is to be written from scratch durring the competition (excluding libraries). * Games will be submitted at or by the end of the competetion. We have a bunch of rules laid out in this page. We can't hope to cover every loophole that someone might think of. Fundamentally, we can have *no* guarantee that people won't just copy something they've already worked on. We have to *trust* that they're working in the spirit of the competition. Otherwise they wouldn't be here. You enter the 48h competition for the *challenge*. **Rules For Submission** * Games will be submitted at or by the end of the competetion. * Finished games must be hosted on this server as they will represent the definitive version. They must weigh in at under 20Mb. * Provide a link to the source code - it may be hosted on this server. * Archive your game and source as a ".zip", Installer ".exe", ".tar.gz", ".tar.bz2", ".sit", or any appropriate standard archive for your respected platform (if not covered). * A weblog will be provided on this server for you to keep a running log of your activities if you wish. * Screenshots *should* be uploaded to this server on a regular basis (6 hourly?) **Time limit**: All code and assets must be created and turned in between the opening and closing times above. **Disclosure for review**: All source code will need to be handed in with the entry. This will help ensure people wrote the code that day, and provide a learning tool for others so we can all share experience and styles. **Theme**: The theme of this competition will be determined by a two-step vote in the week leading up to the competition. 1. A week out, we'll get everyone participating to select their favourite themes from ThemeSuggestions. Everyone gets 10 votes which they use to select 10 themes. Votes are tallied. Ties are decided by random choice. 2. The five winners from that round go into a final vote 24 hours before the competition. All participants get to place a preference against each of the five final themes. The vote preferences are tallied, according to "instant-runoff rules":http://en.wikipedia.org/wiki/Instant_runoff_voting (Aussies will be familiar with this ;) The winner of that vote is announced at the point that the competition begins. All votes will be recorded for later examination. **Entry limit**: Only one final submission is allowed. **Content Creation**: You are required to make all your assets for your game between the start and end time of the competetion. All publicly available (free or commercial) fonts and tools are allowed, as long as all content created with them is durring the competetion. Tools with clipart libraries (Paint Shop Pro) are limited to basic mathematical shapes (circle, square, triangle, hexagon, etc...). No baloons, bugs, or other clip art. No custom pre made map editors, but publicly available open source or freeware ones are ok. No game makers. * All Graphics Editors (Photoshop, Paint Shop Pro, The Gimp, ...) * All Modeling software (3DS Max, Maya, Milkshape, Blender, ...) * All Tracking and Composition Software (Modplug Tracker, Impulse Tracker, Buzz Tracker, Fruity Loops, Cakewalk, ...) * All Audio Editing and Mixing Software (Cool Edit, Sound Forge, Audacity, ...) * All Text and Hex Editors, and IDE's (Visual Studio) * All Data Generation Software (Texture Generation, Sound/Sample Sythesis, etc...) * All Map and Data Editors (Assuming they're not made for the competetion and taylored to your game) * All Plugins (assuming they don't violate the earlier mentioned rules) * No Game Makers. Anything not covered, ask in the forum. **Sound and Music**: Since it's common in computer music to use existing samples to create music, you are allowed to use any "one shot" musical note or percussion samples you have for composing music. What you're not allowed to do is pre-record vocal tracks, guitar solo's, custom drum loops, or similar. On the other hand, you must create your own sound effects. This can be done with a microphone, by composing jingles, software sound synthesis, or mixing samples. Take note, all composition and creation of sound and music must be done durring the competetion (not before). The point we're trying to make here is we don't want you ripping sound effects from a sound effects website. This also serves as an excercise in time management. Many entrants will not have time to create sound and music, and their games may not requite it, so this is a catagory for those who have free time or have different priorities. **Compilers**: Any compiler/assembler that can produce executables or binaries is allowed. While it's not required to provide a Windows executable, most entrants run Windows. * All Assemblers (GAS, NASM, ...) * All C, C++, C# and ObjC Compilers (Visual Studio, GCC, DevC++, Borland, Watcom, ...) * All Pascal Derivatives (Pascal, Delphi, ...) * All Classic Basic Compilers (QB, Visual Basic, anything with a release before 1997, ...) * Many Game Related Basic Compilers (Blitz Basic, Ask in forum...) * All Java Compilers (J2SE, GCJ, ...) * Python * Macromedia Flash * Macromedia Director * Any "dead" languages, as long as they create executables/binaries (Fortran, Cobol, ...) * No Game Makers (Click 'n play, RPG Maker, ...) * No Game Engines (Torque, Quake, etc...) Any missing, ask in the forum. **Libraries to be used**: Many "Standard", "Open Source", or "Free for Non Commercial Use" libraries are allowed in the competetion. Generally speaking, a library is allowed if it does not do game logic. What we mean are more general purpose libraries, such as ones for loading and drawing graphics, playing sound and music, or getting controller input. While not recommended, we do allow many higher level libraries (which we may change in the future) for physics, scene graph, but not AI (too close to game logic), in order to be fair for those worried about Blitz Basic giving a stupid advantage. Either way, it's up to you set up all your libraries yourself durring the competetion, without base code. In the past, winning entries used core libraries like GL, Allegro, SDL and pyGame, this has yet to prove to be a problem. To clarify, a "Standard" library is any library included with your compiler (<stdio.h>, <iostream>, etc...). The comprehensive list of allowed libraries (assiming they meet the criteria of Standard, Open Source or Free for Non Commercial Use): * All Standard Libraries (until someone finds one that has game logic) * All File Format libraries (image loading/saving/manipulation, audio, music). * libPNG * libOGG * DUMB / DUMBOGG / DUMBMP3 * PIL * DevIL * BASS * etc... * All Open Source Bindings Libraries * AllegroGL (allows you to use OpenGL graphics library with the Allegro library) * DelphiX (allows you to use DirectX with Delphi) * etc... * All Audio, Music playing and mixing libraries. * All GUI Libraries * GTK * wxWindows (and the whole "wx" series) * etc... * All Networking Libraries * All Graphics/Game Libraries Without Game Logic * DirectX / Direct3D * OpenGL * Allegro * SDL * Kyra * ClanLib * CDX * GapiDraw * HAM (GBA) * OGRE * Crystal Space * PTK * G3D * pyGame * pyOpenGL * Graphics Libraries that exist for out dated compilers (Turbo Pascal, etc...) * etc... * All Add-on Libraries, that don't provide game logic * SDL_Mixer * etc... * All General Game Unrelated Libraries * Boost * XML Libraries * etc... * All embedable scripting libraries (However, considering you have only 48 hours, it would be an incredible waste of time to embed one) * Python * Lua * etc... * Many Game Related Libraries * Open Dynamics Engine (ODE) * Ask In Forum... No Game Engines! **Allowed Documentation**: * Any online documentation may be used. This encompasses anything that might be viewed in a web browser and found by Google by any of the competition entrants. Mailing lists and bulletin boards count. * If online documentation includes code snippets, that's ok, just don't cut-n-paste the code directly into your game. * If the online documentation is *only* code (ie. it's a web CVS viewer, or similar) then it's not OK. * Any existing code you've written should be considered out-of-bounds for the duration of the competition **Platforms**: All platforms are allowed. However, most of the entrants run a Windows based OS with a DirectX 8 capable video card. The easier it is for users to play your game, the less chance they'll ignore your entry. Most users expect a ZIP archive file that can be unzipped to a directory, and run an executable. Games that have complicated or excessive setup procedures are prone to lose the interest of players, or result in low scores. Many users would prefer a longer download over a treasure hunt. Some tips: * General Windows Apps, include all non-standard dependent .dll's. * ROM's (GBA, etc...), it's recommended you provide a link or a copy of the appropriate emulator (license pending). * Python, use Py2Exe. * Visual Basic, it's recommended you include all non-standard dependent .dll's and runtimes with your executable. Not everyone wants to install the VB runtimes. * .Net, not everyone wants to install the .Net framework. If you can live without it, so could a number of other people. Still prefered over VB runtimes. * Java, there's not a lot you can do about J2SE. Not requiring the latest version may help. * Flash, people generally have no issues downloading this. Not requiring the latest version may help, but should not generally be a problem. * Shaders, unlike the casual market, many entrants here will have DirectX 8 pixel shader ready hardware. Significantly less will have DirectX 9 hardware, or OpenGL Shader supported drivers. * MMX/3DNow/SSE, MMX is rather standard, but 3DNow and SSE is maybe. Besides, you shouldn't be wasting time on this level of optimization anyways. **Chatting**: Part of the fun for many (not all joined) of the participants of the last competition was talking in the IRC channel we used as a staging and voting area as they worked. They passed pictures of their progress back and forth, and it was quite a bit of fun. The chat channel is on IRC, and can be reached by going to the server: irc.afternet.org and channel #ludumdare. If you do not have an IRC client program, you can download one "here":http://www.mirc.com/ **Prizes**: The envy of all your fellow indie game developers. Your name in lights, and 48-hours worth of hard work presented for all to marvel over. What could be better than that? Well, if you win in a category, you also get to download and display prominently a graphical icon, depicting a pelican, in gold, silver or bronze. These are known as pellies. **Judging**: Judging will be done by your peers, the other souls brave enough to grind away for 48 hours and compete with you. Judging is performed separately in the two divisions. Judging will be done in three categories rated 1-5: * Fun * Innovation * Production (graphics, sound, polish) Gold, silver and bronze pellies will be given for each category. Additionally, entrants will also select the one entry they think is the best overall (not their own). The entry that gets the most votes here will win the Uberpelly (artwork pending). Finally, entrants may vote that an entry be disqualified for one of three reasons: 1. Did not follow the theme of the competition, 2. Did not work on the target platform, or 3. Entrant cheated. An entry that gets more than 50% disqualification votes is not eligible for any prizes, though they'll still appear in the rankings ("do'h, if only I'd followed the rules!") **Cheating**: Though this has yet to be a problem, we're always anticipating something. Post cheating claims (preferably with proof) on the forum. Cheaters will be disqualified from final standings, but it's not like we can punish them any more than that. **Ownership**: Your game belongs to you. Do with it as you like. All content uploaded to this server remains the property of the person uploading it.