|
Welcome back!
Before we get started, there are some loose ends from the previous article that I want to tie up, based on feedback from folks who e-mailed me or discussed the article in the forums. These folks pointed out some items that I forgot to address.
- Command-line. Most of the time, the average user won’t need to know how to use the Linux Command Line Interface (CLI). Like Windows, you can usually do what you need to do through the GUI. However, there are times when it is necessary and even more efficient to use the CLI. This is especially true for developers; in fact, you will need to use the CLI later in this article. You can find a good tutorial for getting started with the CLI at http://linuxcommand.org.
- Other distributions. In my previous article, I recommended a few Linux distributions I have used that I felt would be good for those who are new to Linux. These certainly aren’t the only distributions available. You can find a list of alternatives at http://distrowatch.com if you’re not satisfied with the ones I recommended. Diversity is one of the strengths of Linux; just keep looking and you’re bound to find a distribution that suits your personal taste.
- Development environments. In this series, I’m not recommending any one particular development environment, nor will I be teaching you how to compile, link, and debug a program on Linux. Linux isn’t like Windows, where one IDE (namely Visual Studio) dominates the landscape and a tutorial on how to use it would satisfy the needs of 90% of developers. With Linux, you have a lot more freedom of choice – that can be good (because you’re not locked into any one tool or way to do things) and that can be bad (because it’s hard for me to write something comprehensive for everyone). How you compile, link, and debug will largely depend on what development environment you choose.
The best I can do is point you to some tools and let you try them. One of the common complaints I often hear from developers new to Linux is that they aren’t even sure where to start looking. At least Apple provides a developer site where you can go and find everything you need to learn about how to develop for Mac OS. But there is no equivalent, definitive site for Linux development that I’ve ever been able to find. That’s why I wrote the first article in this series: to point you to the information you need about some of the Linux development tools that are available so that you can get started on your own.
It’s up to you to find a development environment or set of tools that you are comfortable with, and then to learn how to use it. When you find a tool you like, you can find further documentation and help at the tool’s web site. Many tools have excellent documentation, and there are plenty of tutorials available for particular tools – if you can’t find a good tutorial on a particular tool’s web site, then you just have to do a little Googling. In addition, lots of the tool web sites have forums where you can go to ask questions and get help from people knowledgeable with that tool.
So if you’re stuck on this point, I recommend going back to the first article in this series, look over the listed tools (both the ones I recommended and the ones that the folks in the discussion forums recommended), pick a tool that you think you would feel comfortable with, and start learning how to use the tool.
Moving On
The rest of the articles in this series assume you have some working knowledge of Linux. I’m assuming that you’ve found a Linux distribution you’re comfortable with, and that you’ve learned how to set it up, install the applications and packages that you need, and start using it. I’m also assuming that you’ve selected a development environment that you like and you’ve got your game to compile, link, and run on your Linux computer. If that’s not true, you should go back to the first article and start there; otherwise, you’re now ready to have some other people test your Linux game.
So you zip up the executable and game assets, e-mail it to your buddy so he can test it for you, and you eagerly await his feedback. A short while later, he e-mails you back these three devastating words: “It won’t run.”
After a few brief questions about his setup, you discover he is running on a different Linux distribution than you are. Your heart sinks. Now what?
The Problem
|
|