Port Torque 3D to Linux

We Want Linux to be a First-Class Citizen for Game Development

Right now, Linux has some great programming libraries for developing games, but when it comes to working as a level designer or an artist, the tools are lagging behind Windows and Mac OS X. It’s not from lack of trying. There are great developers working on tools day and night for Linux, but the going is slow. Unity announced an export option for their engine so that game developers on Mac and Windows can export to Linux. This is EXCELLENT news for Linux game players. It’s the same news as always for Linux game developers: to make games: buy a Mac or pay for Windows if you want to make games.

We started this campaign to change that message. We want Linux to be a first-class citizen for game developers. We recently open sourced Torque 3D under the MIT license, and the first deluge of questions were about Linux compatibility. The move to open source Torque was something that the founders of GarageGames wanted to do over 10 years ago, but they also needed a business model for their studio.

Torque is the engine that was originally used in the Tribes series of games, and has seen a number of advancements throughout its history. Since open sourcing it, we have had nearly 300 forks of the codebase on GitHub. You can find out more information about Torque at the GarageGames site and download it from GitHub to kick the tires. Unfortunately, it’s only for Windows right now, so you might have to flex your Wine or dual-booting muscles to try it out.

updatebundle

What’s In It for All of Us?

We want a dedicated Linux-native game development platform. We don’t think that Linux game developers should have to switch between machines so that they can develop on Windows and just test on Linux. We don’t think that they should have to fiddle with Wine to get the simplest of editors to work natively, only to have the whole thing crash when importing models. We want Linux to be a native platform for game developers.

Workflow for Engines without Native Support

If you use any of the popular engines out there that have Linux support, here is a workflow (assuming dual-booting).

Open editor. Import models, edit level, add logic, etc. Build the game. Export to Linux. Copy the binary to a shared drive. Reboot and load Linux. Copy from the shared drive locally. Run the game. Crash. Get crash report. Copy crash report to shared drive. Reboot. Load engine and crash report. Find mistake and attempt to repair. Repeat.

This loop is a little faster if you have two computers next to each other and a shared device, but even then you’re switching gears and doing a lot of waiting. Waiting means that you have time to get coffee or check Slashdot for news, but it’s also time that you could be making your game.

 

cheetah

Our Solution: Linux-Native Game Development


Obvious, right? Well, it should be. But it’s also an answer that takes a lot of time and money to implement. When commercial software companies look at their bottom line, the return on investment for developing software for Linux is really low (and often unknown) in the game engine development world. John Carmack noted during his keynote at QuakeCon that “Valve announcing Steam Linux support changes things a bit but we have made two forays into Linux commercial market, most recently with Quake Live client but that platform just hasn’t carried its weight compared to Mac” (45:26, QuakeCon 2012 – John Carmack Keynote). This was specifically about game targets, but the lack of commercial editor support for game development on Linux speaks volumes on how the engine industry feels about Linux.

Luckily, our platform layer has some of the core functionality needed for a Linux port. Our dedicated server has been used on Linux for a number of years with different games, and that handles much of the core engine functionality. What currently is not working on Linux is the game editor and shared client. That’s where you come in.

So, How Will the Money be Used?

Well, this is an experiment to see if crowd funding can pay for specific features that people really want in a game engine.

What we are asking for is enough money, based on a number of estimates from strong Linux developers who have ported large codebases in the past, to make this port happen. The estimates were between two and three months for a single, dedicated developer. We chose three months to accommodate any found-work that can come up. As software developers, we know that once you start down a path, new work will be discovered, so we wanted to make sure to include a buffer for it.

The project will pay $45 an hour for roughly 3 months worth of work from a single developer (a team can be hired to increase productivity, but there will be a finite amount of money from the campaign to pay them). Of course, IndieGoGo will get 4% off the top for hosting the service. The payment providers (credit cards, PayPal, etc) will get roughly 3-4% depending on international fees, etc. Then, the prize tiers will be fulfilled, shirts and such bought and shipped! The remainder of the money will go towards the development team porting Torque 3D to Linux.

 

When Will We See Updates?

As it is developed. That’s right. Torque 3D is open source and up on Github right now. You can download it and take it to town, kick the tires, and see what it’s all about. There will also be a Linux branch live on GitHub where you can watch the developers porting the engine to Linux. You get to see the benefits immediately. You do not have to wait a long time watching for infrequent updates, hoping to see something in a year or two. You will have full access to the development branch of the Linux port to see the team’s progress, commit by commit.

But even if we do not reach our goal, and your money goes right back in your pockets, we think you’ll see a Linux port eventually. It just won’t be nearly as quick since the developers have jobs, families, bills, and they’re doing the port of a very large engine in their limited free time. Why not hire them so that the port can be their full-time job? That’s what we want to do.

Our first platform target is 32b Ubuntu, with stretch goals for other platforms to be announced.

love Linux, but have no money! How can I help?

  • Tell people. Tell your friends and family, local installfests, anyone who would love to make games on Linux.
  • Share this project using the IndieGoGo social tools, your favorite social media platforms, or just by linking to it on forums that you frequent!
  • Leave comments so that we can answer your questions.

 

PR out. All in all go to indiegogo and donate to these guys!

Advertisements

3 Comments

    1. 32-bit binaries run fine on a 64-bit OS. That was always intended in the design of x86-64/AMD64. The same is true for the new ARM AArch64 architecture too.

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s