Projekt "W" (for Weltherrscher = World ruler) - "Phase 2" is a turn-based strategy game set in the not-so-distant future. You take control over one of the five big remaining nations and your goal is lead it to world domination. During this task you - Manage regions by constructing buildings - Manage divisions and military units - Attack enemy regions / defend your regions on hex-based 3D battle fields - Research dozens of technologies (to unlock new buildings and units) - Work on global projects to unleash them onto your enemies or use them for your own advantage - Hire agents, scientists and generals - Do espionage and sabotage on your enemies (including counter-espionage) The game uses OpenGL to render it's state-of-the art visuals and can be played either against human players (via hotseat) or against the AI.

Report article RSS Feed First public linux release!

After a month full of counltess hours of coding, I finally ported the game over to linux. It wasn't easy, and I had to learn a lot about the differences between windows and linux but now you can finally enjoy a native linux vesion of "Phase2".

Posted by SaschaWillems on Feb 16th, 2013

The public open beta is now also available for linux!

Important note for the linux release:
Please start the game using the "startprojectw.sh" script. The game uses the BASS audio library, so linux needs to know where to locate the libbass.so. This script ensures this.

Also note that the linux version was compiled with a different compiler than the windows one, so there may be bugs present on linux that aren't present on windows.

Note that game requires OpenGL 2.0, so make sure you've got OpenGL acceleration setup on linux and that your graphics card supports at least OpenGL 2.0.

Behind the scenes
Porting the game over to linux wasn't easy after all and it took me almost a full month of countless hours of coding (after my day job as a software engineer). The windows release was made with Embarcadero's Delphi which is de-facto only available for windows and included more than 120,000 lines of code with lots of windows-only stuff.
So in order to get the game ported over to linux I had to replace all the windows-related stuff (setting screen resolution, loading XML, the sound library, etc.) with code that would run and compile on both platforms. That meant replacing several external dependencies (e.g. microsoft's XML libs) with my own stuff (having me write new code for things that worked for years now), adding a lot of compiler defines so that certain code get's used when compiling for windows vs. different code only used when compiling for linux.
And since Delphi isn't available on linux a also had to move over ot another development environment. I went for Lazarus (with free pascal as the compiler) as it's object pascal too and pretty close to Delphi. But still there were some (partly game-breaking) differences between the two compilers making me change another big part of the code to get them to work with both.

But in the end, after all these countless hours of work, the game's code now runs and compiles fin on windows and linux, so from now on all future release will be released for both operating systems.

And I also want to add Mac OSX support sometime in the future, though that may not happen this year.

So I hope all linux users out there that like turn-based strategy games can now enjoy "Phase 2" of Projekt Weltherrscher too!

Post comment Comments
sinisterrainbow
sinisterrainbow Feb 16 2013, 7:28am says:

Thanks for posting this. I would love to know the largest troubles you had to deal with so us others thinking about porting over can get a nice heads up. Game looks awesome btw, love that genre and the hexa-tile grid.

+2 votes     reply to comment
SaschaWillems
SaschaWillems Feb 17 2013, 5:37am replied:

Well, the biggest trouble was the fact that I've been coding on this game for seven years without thinking about other platforms than linux at all.

So in order to port to linux I had to replace a lot of code (several thousand lines) and make it run on both platforms, or add code for both. The biggest chunk was all the XML-related stuff. The game makes use of this format a lot and the XML implementation in Delphi (the programming language the game was made with) was based on MS-XML, which is only available on windows. So I had to write my own xml wrapper that uses something different on linux and had to replace all xml loading and saving stuff with my own wrapper.

Other than that there were the "usual" things that differ from OS to OS that took some time to figure out. E.g. how to switch resoluation, different file and path naming conventions, differences in the widget sets (e.g. no floodfill on linux), etc.

So it's not really that hard moving to other platforms, but since this was my first big port to linux it just took long due the numerous changes I had to make to the code and also test.

+2 votes     reply to comment
poVoq
poVoq Feb 16 2013, 8:47am says:

Thanks for releasing it on Linux... looks like a great game so far.

+2 votes     reply to comment
poVoq
poVoq Feb 16 2013, 9:30am says:

Hmm, it just gives me a black screen and no error feedback in the console when I start it though (I am using Linux Mint 13 (based on Ubuntu 12.4 LTS) and it does the same with with the the on-cpu intel GPU and with my Nvidia card through bumblebee).

+2 votes     reply to comment
SaschaWillems
SaschaWillems Feb 17 2013, 5:38am replied:

That's odd. I'm running on Mint too, and it even works fine in my virtual machine (though it's running pletty slow there).

What graphics card is the NVidia one? Does it support OpenGL? What does the log of the game say? You can find the log in the user directory in ProjekW_Phase2 (log.html)

+2 votes     reply to comment
poVoq
poVoq Feb 17 2013, 8:29am replied:

The nvidia is a gforce M 555, runs other games fine. Judging from the log.html it doesn't actually recognise the bumblebee (optimus) support though.
However regardless of if I start it with bumblebee or the sandy bridge it doesn't run and shows the same symtoms. The log.htmp isn't very helpful either... the only thing it complains about is that it "required support for compressed textures"... which might be the problem on the sandy bridge, but should not if it would run on the geforce through bumblebee.

+2 votes     reply to comment
SaschaWillems
SaschaWillems Feb 17 2013, 10:45am replied:

Well, the game needs the "GL_EXT_texture_compression_s3tc" extension to run as it stores it's textures in DXT1..5 formats to direcly upload compressed textures to the VRAM. So if your OpenGL implementation doesn't suppot it, the game won't run.

But actually there should be a message box that informs you of this unsupported feature and not just a plain black screen, so I'll have to look into this issue.

+2 votes     reply to comment
GamerKnight
GamerKnight Feb 16 2013, 10:22am says:

Thank you so much for Linux support.

+3 votes     reply to comment
AlexVSharp
AlexVSharp Feb 16 2013, 10:29am says:

Okay, thanks to your dedication in going cross-platform the game popped up on my radar. Looks slick, so I took it for a spin and can definitely see the potential. Unfortunately in its current state it has proven to be way too much trouble to play at a reasonable pace; that's to say: so many things to set up, very slow way of doing it. The combat also felt rather stagnant, hence I just ended up simulating everything - less fun, but less troublesome as well...

I have high hopes for this title and as such have to emphasize extreme caution with the way you plan on implementing the micromanagement systems. If strained too much it could bring the gameplay to an unreasonable crawl, especially with bigger campaign. This would potentially cripple the title.

So far so good though; tracking.

+2 votes     reply to comment
SaschaWillems
SaschaWillems Feb 17 2013, 5:40am replied:

Thanks for your honest feedback!

And that's what the open beta is for. Right now I'm focusing on getting all the features into the game, and then it's balancing time.

And that means fixing the things you said like making combat more interesting and also adding functionality to make several repeatable tasks more interesting. The game will also get more game modes including ones with random events to make general gameplay more interesting.

+2 votes     reply to comment
sextremist
sextremist Feb 16 2013, 1:00pm says:

you are the one of the best to give support to Linux. Thank you very much

+2 votes     reply to comment
sinisterrainbow
sinisterrainbow Feb 17 2013, 1:53pm says:

Cool. Thanks for the response. I tried the Windows beta, full packed game, definitely see the potential. Could not place troops, so simulated everything. In a game with so much info, it begs for a tutorial - and perhaps starting with just a few options to get familiar (avoiding overwhelmed syndrome). I personally don't mind just playing with things and losing miserably the first game or two until I get a sense of it, but my experience with most players is they prefer mastering small pieces to start, and introducing small bits of new info each time until they understand the full system. That being said, it seems like it has enough features to keep the game quite interesting, always something to do, and always a challenge.

+2 votes     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Projekt W - Phase 2
Platforms
Windows, Linux
Developed By
SaschaWillems
Engine
Custom Built
Contact
Send Message
Official Page
Saschawillems.de
Release Date
Released Oct 20, 2012
Game Watch
Track this game
News
Browse
News
Report Abuse
Report article
Related Games
Projekt W - Phase 2
Projekt W - Phase 2 Indie Single & Multiplayer Turn Based Strategy
Related Engines
Custom Built
Custom Built Commercial Released Sep 1, 2007
Related Groups
Linux Gamers
Linux Gamers Fans & Clans group with 2,903 members