Background: Python and C++ coder, mainly scientific/financial computing in Linux. Some exposure to DirectX, OpenGL and am aware of game loop mechanics and the basics of game design.<p>I'm interested in beginning a project like Open Transport Tycoon Deluxe (openttd.org) or the TA Spring project (http://springrts.com/) primarily for my own learning/enjoyment.<p>Specifically, I would like to take an old Windows game and port it to Linux. I'm not interested so much in playing the game as I am interested in learning about the whole process and what it will involve.<p>Firstly, it would be appropriate to ask if this is a legal thing to do. Presumably it depends upon the current state of the game's IP, who owns it and whether they care?<p>Secondly, where should I be looking to learn about all aspects of a project of this scope? What particular topics should I be considering at the outset?<p>Initial points I have considered:<p>* Graphics libraries in Linux (OpenGL, SDL)<p>* Reverse engineering of executables<p>* Unpacking binary files (maps, textures etc) in whatever proprietary format is in use by the game<p>* Network programming and how to update older protocols (pre TCP etc) for multiplayer aspects<p>* Looking at the source code for other open games (FreeCol, FreeCiv, OpenTTD etc.)<p>Any comments would be extremely useful.<p>Thanks in advance.<p>Mike.
If you are goint to port an existing game you definitely need to get permission from the copyright holders first. If you don't you risk being forced to shutdown the project later, after already having spent a lot of effort on it. (This has happened to fan remakes more than once.)<p>If you can't get permission, you're better off just taking the mechanics of the original game and making something based on those mechanics without using any of the original IP.