title: What do I need to write a small game on Linux?
body: <p>I want to make a simple game: 2d, single-player, without tons of animations and special effects. I am not interested in ready to use game engines, I want to learn to write some code in a quite universal language. I am <strong>using Linux (AMD64)</strong> and looking for something easy with nice library for games. I do not want to mix few languages, most of them are in fact fast enough themselves for my needs. Cross platform would be an advantage, however all I need is a good Linux support.</p>
  
  <p>I have been considering few solutions.</p>
  
  <p><strong>Ruby</strong><br>
  + Language looks very nice.<br>
  + I am going to learn Ruby.<br>
  - I am afraid I can have problems with additional libraries.<br>
  - This <a href="https://stackoverflow.com/questions/1699675/ruby-library-gem-for-game-graphics">thread about game libraries for Ruby</a> could be longer.<br></p>
  
  <p><strong>SDL + C</strong><br>
  + It is used for games.<br>
  + It is very easy to set up.<br>
  + There is a lot of additional libraries.<br>
  + It is cross-platform.<br>
  - The solution is quite low level.<br>
  - The language is sometimes quite hard to read.</p>
  
  <p><strong>QT + C++</strong><br>
  + It is very easy to set up.<br>
  + The standard QT libraries supports everything I can possibly need.<br>
  + It is cross-platform.<br>
  + The documentation is good.<br>
  - The compilation is slow.<br>
  - The language looks horrible.<br>
  - The size of standard QT libraries is too big to comprehend.</p>
  
  <p><strong>Environment of web browser</strong><br>
  + I am going to learn something more about this environment.<br>
  + It is somewhat used for games.<br>
  + It is quite cross-platform.<br>
  - It would be too much experimental.</p>
  
  <p><strong>Java</strong><br>
  + It is used for games.<br>
  + The standard Java libraries supports everything I can possibly need.<br>
  + It is cross-platform.<br>
  - It is quite hard to set up.<br>
  - The size of standard Java libraries is too big to comprehend.<br>
  - The source code in Java could look better.<br>
  - I think I do not want to learn Java.</p>
  
  <p><strong>Google Go</strong><br>
  + I am going to learn Google Go.<br>
  - There is big problem with libraries.<br>
  - The solution would be quite low level.</p>
  
  <p><strong>Python</strong><br>
  + It looks some people do games in Python, according to <a href="https://stackoverflow.com/questions/432016/what-commercial-games-have-been-written-with-pygame">this thread</a>.<br>
  + It looks there are probably more libraries than for Ruby.<br>
  - The Ruby language looks better.<br>
  - I think I do not want to learn Python.</p>
  
  <p><strong>C++ + something else</strong><br>
  + It is used for games.<br>
  + It would be probably cross-platform.<br>
  + There is a lot of libraries.<br>
  - I do not need C++ extensions over C.<br>
  - Compilation could be slow, there are fast compilers for C, not for C++.</p>
  
  <p><strong>Haskell</strong><br>
  + I am going to learn Haskell.<br>
  - Many things about programming computer games looks too much imperative.<br>
  - It looks I can have some problems with libraries.<br>
  - Compilation (GHC) looks slow.</p>
  
  <p>There is probably something more to consider. Does anyone have experience in making small games for Linux in non mainstream solutions? Does anyone have an advice for me?</p>