I wish someone would pin this up so everyone can read it – not because I am smart, but because this is really important.

1. Decrease time to download

When the deadline comes, many people go to sleep because they know that tomorrow they will play and rate lots of games. They will do that for the next three weeks (probably with decreasing intensity) so the download process must be easy. I’ve participated in the last three LDs and I’ve rated lots of games. Some of the devs rated more than 300 games per LD (although this doesn’t guarantee that they really played them, but I am not the one to judge that). I’ve wasted almost an hour more than I had to (accross this many games) on downloading the games that are not directly downloadable.

The point is this: games should be easily accessible and downloadable. The less clicks I need to do to run the game, the happier I am (…and you are too!).

That being said, I have several suggestions for developers:

  1. If possible, provide a web version of the game. If your engine does not support that, that’s ok too. Simply follow the next points.
  2. Use download services that allow you to post a DIRECT link to your file. This is how it goes with those typical gaming portals many of you use (the bad scenario):
    1. Chose a link on LD page
    2. *a gaming (or other) portal opens, for example – itch.io* – sometimes slowly
    3. find a download link among 10 other links and pictures
    4. *a popup opens*
    5. ignore the donation links and buttons and search for the download link, which is usually small.
    6. click the found download link
  3. If you are using dropbox or onedrive or some other cloud drive – modify the URL so that it leads to the direct download. It will take you 5 seconds but save each of us that are playing your game 5-10 seconds. For example, if your dropbox link looks like this: https://www.dropbox.com/s/abcdef0123456789/file.zip?dl=0, change the ending to ?dl=1. This will save everyone’s time.


2. Have mercy on the non-EN players

I don’t know the exact demography of the LD developers, but I guess many of them are from USA/UK or other english-speaking countries. However, please… and I mean PLEASE!, have mercy on players/devs that do not use english QWERTY keyboard layout. That means: X and Z keys are among the worst choices for player actions. Simply DO NOT use those! If you need proof, look at this picture (This is about the ONLY keyboard layout where X and Z are next to each other):


And now look at these (these are layouts that a lot of people use too, believe it or not). Notice how far are X and Z from each other.




You may use the QWERTY layout, but know that many people do not! (And I have not even touched on cyrillic, arabic, chinese etc.)

The solution? Either allow the player to configure the keys or use the keys that are in the same position on all keyboards (shifts, controls, alts, tabs, enters, backspaces, etc.)

And if your engine really really does not make it easy for you to enable the user key binding, use letters C + V or J + K (other than the dvorak layout, these are next to each other on most other keyboard layouts).


3. Folder naming

Fellow developer DesignerNap added another important best practice: Always name your folder (ZIP archive or the folder inside) by the game, not generic names like ‘game’, ‘LD35’ or such. If the game is called “Dolly wants a cracker”, then I expect a folder with that name.


4. Unity (.NET in general) PDB files

(Thanks to Almax27)

PDB files are useful. Very useful. But only to the developer. These files are huge and contain all sorts of different debugging data required to step through your code in your Visual Studio. However, once you build the executable, players have absolutely no use for them. Do not include PDB files in the published version.

On the side note, the only reasonable reason why you could include PDB file with the build is that in the case of the exception logging, you will be able to see the line in the source where the exception originated, which is useful too. But again – only to the developer. And since we do not expect players to send us their debug logs with exception messages and stack traces, they do not need the PDB. Leave it out! :)


5. Good luck Ludum Daring.

Good luck with your games. I look forward to playing them.

Tags: , , , ,

13 Responses to “Things to REALLY consider (dev/submission best practices)”

  1. DesignerNap says:

    Solid advice here. Good work!

    Also this – http://ludumdare.com/compo/2014/12/08/one-piece-of-advice-i-would-like-to-offer/

    Lost count of the amount of “LudumDare.exe” games I have played…

  2. KaiseanGames says:

    I forgot about that one, but it!’s important too.

    Someone should make a ‘best practices’ page. :)

  3. fullmontis says:

    THank you for this, very helpful. I always get mixed responses about the keys so I’ll follow your suggestions.

  4. Almax27 says:

    I’d also like to add (particularly for those using Unity), PLEASE PLEASE PLEASE do not include the .pdb files in your windows builds, as they explode the download size 😀

  5. Linver says:

    I really don’t think about non-QWERTY keyboards 0_o Thanks!
    Also, cyrillic keyboards have QWERTY mode and labels, for information.

  6. Hoping this isn’t poor form…

    I recently posted two key-binding scripts on the Unity Asset store for free – should make it super easy for a Unity based LD game to allow the user to rebind or remap keys. Use it if you want.


    I was probably not going to include it, but after reading this maybe I will… Hmm. Makes for an easy start screen.

  7. qbicfeet says:

    Speedy downloads is a really good tip since downloading 100MB Unity games from the slow itch.io was a pain last judging phase, but I’m not sure I’d consider the Z/X and non-QWERTY keyboards thing a super important factor. Sure, it’s a kind consideration that’s convenient for people with non foreign keyboard layouts, but players can also easily work around it by quickly changing their keyboard layout in their computer’s language settings to UK/US English. If you don’t have the time or ability to set up customizable controls and really need to use Z/X or WASD just go for it and add some lines instructing players to swap their input language in the game’s description.

    • KaiseanGames says:

      I agree it’s much less important. I don’t see a reason why a game wouldn’t allow both ZX and CV. In most game engines, it’s an OR logical expression in a single line of code. I guess dual controls would solve the problem with minimum fuss.

    • terryg says:

      I’ve been using itch.io. I always create a web game using the unity web player. What is a better alternative do you think for hosting other than itch.io?

      • KaiseanGames says:

        I don’t know. But I’d rather download a Win Build (seems more stable, no mouse input glitches, no fullscreen problems) if a direct link was available. I personally use Dropbox, but everything goes as long as direct link is available. If the game is small and simple, I don’t mind playing it in web browser. I just dont like link-hopping.

      • qbicfeet says:

        From what I remember web games on itch.io work and load fine, it’s the downloadable standalone games that are sluggish and can take several minutes for ~100MB downloads. But if you need alternatives, both Dropbox or Google Drive work great for web games if you set them up right.

  8. terryg says:

    Great advice. Thanks!

  9. scorched says:

    Thanks. Never seen Cyrillic keyboard that is not also QWERTY. The only problem is that in some apps (e.g. git gui) you must switch to English layout to use shortcuts :/

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]