Tell me more ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I've written games for DOS(ModeX In Borland C & Watcom C) & I've written games in C#/XNA

I now want to try writing for Linux, I have no idea where to start as I've never written for linux before.

Where is the easiest place for me to start? I'd like to be able to make something cross-platform but that can wait for now.

Edit:- OK, slight clarification, What IDE/Engine/Library should I use to get started. I'm only interested in making a 2D game at the moment, start small and all that.

share|improve this question
4  
uh... get linux, install an IDE, get a cross platform engine (most of them are) and write something, probably in C++? this is such a weird question, you can write programms in C, i'm assuming C++ aswell, what's the issue, you've used a library before with XNA, find a multimedia library for low level input and sound (like SFML or SDL) and a graphics engine (if you want 3D graphics, multimedia libraries handle basic 2D stuff), programming for Linux isn't much different from any other platform, you just can't use Windows specific libraries like XNA – dreta Feb 14 '12 at 9:34
Added an edit to my original question to clear up what I wanted to know. – mort8088 Feb 14 '12 at 9:58
2  
This still isn't a real question. And the topics you're asking about are covered in depth on here and SO. Here's a Gamedev.SE question for engines: gamedev.stackexchange.com/questions/3383/linux-game-engines And as for IDEs, stackoverflow.com/questions/24109/c-ide-for-linux and stackoverflow.com/questions/151350/… – michael.bartnett Feb 14 '12 at 10:26
How to write an entire game is off-topic here because it is so vague. Also, addressing your edit, which technology to use questions are also off-topic. You are welcome to discuss this in chat after acquiring the required 20 rep on any SE site. – Noctrine Feb 14 '12 at 15:00
I didn't think I was asking how to write in entire game just what did people recommend for developing games targeting Linux. Which I realise now is soliciting opinion and against the rules of the FAQ, my bad sorry. – mort8088 Feb 14 '12 at 17:58

closed as not constructive by Sam Hocevar, michael.bartnett, bummzack, Trevor Powell, Noctrine Feb 14 '12 at 15:00

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

4 Answers

I'd go with Code::Blocks for IDE. More popular IDE these days beside Visual Studio, you shouldn't have issues finding support for it, most libraries have builds for it aswell, so you don't have to compile your .dlls. Though learning to use CMake can't hurt.

http://www.codeblocks.org/

For the engine i'd pick SFML (Simple and Fast Multimedia Library). It's written in modern C++, it's light, clean, and easy to learn. It should handle all your needs when it comes to creating a simple 2D game.

http://www.sfml-dev.org/index.php

Additional useful libraries are Box2D for handling physics (if you're making a simple game, then i'd advise against it, it's good exercise to write your own collision detection and basic response) and probably a parser for handling data, there's plenty to choose from, this is up to you. I personaly use a YAML parser, there's an easy to use library for it called yaml-cpp, though most people prefer XML. JSON is also availible.

Oh, and if you want to document your code, the easiest way is to do it with Doxygen. If you want to use it, i'd suggest researching it before coding, just because it requires you to comment your code in a specific way (it's an easy to learn way and doesn't require much work, it forces you to write proper comments aswell, which is good)

http://www.stack.nl/~dimitri/doxygen/index.html

share|improve this answer

Check out Monogame: http://monogame.codeplex.com/

Bastion used this as an intermediate step to NaCI and Wizorb used it to target Linux and Mac. It's still quite buggy, but maturing all the time, and the team are pretty quick to respond to issues.

share|improve this answer

Since you are looking for something simple and 2D, you might want to look at Slick2D, which is a Java library based on LWJGL and is a pretty good and easy way to learn 2D game development.

Even if you don't have experience with Java, going from C# to Java isn't hard.

When it comes to choice of IDE, there are many in Java, but IntelliJ Idea and Eclipse are the most popular ones.

share|improve this answer

You could try using Unity (http://unity3d.com/). Unity is a great game engine / dev tool. It can export to Windows, Mac and NaCl.

NaCl is Google Chromes native client. When you export to NaCl it will run native code through Chrome, and since Chrome is on Linux, you automatically have Linux support. :-)

You can develop games in Unity with C#, Javascript or Boo. Since you already have experience with C# and XNA it should be pretty easy for you to get going with Unity.

It might seem like the easy route, but will get you going in Linux and be multi-platform at the same time. :-)

share|improve this answer
I looked at Unity a few months back, and just didn't like it. I think it focuses too much on 3D for what I want to do. – mort8088 Feb 14 '12 at 10:07
2  
There is no Unity for linux – CeeJay Feb 14 '12 at 10:18
@CeeJay: Unity isn't for linux, but he said he wanted to write for Linux, not in Linux. Choosing NaCl as export option gives the possibily to run on Linux. – Ricki Feb 14 '12 at 10:23
2  
@Ricki: What I meant is that if you are a Linux user, you can't play Unity games made by other people. Unless you go all hacker with chroots and wines and those things regular users like me have no idea about. I wasn't talking about the editor, I was refering to the plugin/executable in the user's computer. Also, I happen to use Firefox, should I be forced to switch to another browser because of some random developer's whims? – CeeJay Feb 14 '12 at 10:31
@CeeJay: I see NaCl and Chrome as a possibility to get more games running on Linux more than forcing people to change browser, but you are correct in assuming that Unity games won't on Linux unless exported to NaCl. – Ricki Feb 14 '12 at 10:57

Not the answer you're looking for? Browse other questions tagged or ask your own question.