Projekt “W” Phase 2 – New beta release (#201) + linux x86_64 support

The current open beta of Projekt “W” – Phase 2 has been updated to revision 201. New for this release :

  • Added a linux x86_64 release. From now on all upcoming releases will also be available for linux x86_64.
  • Fixed a bug that stopped ecology buildings from getting finished.
  • Fixed wrong global project calculation for minimum required funds to progress.
  • (Linux) The sound library ( is now loaded dynamically. If there was a problem loading it you get a corresponding message instead of the game not starting.
  • (Linux) Executable bits for the start script and the game’s binary have been set.
  • Fixed lots of spelling and grammar errors.

You can grab the new releases here :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #201 (~83 MBytes)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #201 (~90 MBytes)
(Linux, x86_64) Projekt “W” – Phase 2 – Open Beta rev. #201 (~90 MBytes)

The main reason it took longer than planned to get this release out (the changelog is pretty small) was the continued work on the Mac OSX port. It’s already fully functional and playable on Mac OSX (including all OS-specific stuff like getting and changing resolutions, different timing methods). But no ETA on this yet, as there’s still a lot of testing to be done.

Projekt “W” Phase 2 – New beta release (#190)

Later than expected (partially due to a power supply failure on my PC) here’s the new beta release #190 of “Phase 2”. As usual it’s available for windows and linux :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #190 (~83 MBytes)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #190 (~80 MBytes)

Here are some highlights from this release, for a full list of changes take a look at the changelog :

  • AI Builder for regions
  • New soundtrack, including the game’s very own theme song
  • New and improved sound effects
  • Several improvements to the user interface / gameplay :
    • Visual warnings for regions with low loyalty or high pollution levels (right to the region’s flag on the globe)
    • The region list can now be sorted by different criterias (economic power, population, pollution level, etc.)
    • You can now have the units placed by the computer on the battlefield (by simply ending the placement phase)
    • Unit health is now displayed for deployed divisions in regional view
  • Almost two dozens of fixes and minor improvements
    • One of these fixes includes full support for render-to-texture on older graphics cards (earlier releases would crash in certain parts of the game)

So this release doesn’t only add to the game’s overal atmosphere with the new soundtrack and improved sound design, but also adds some finish with lots of bugfixes and small improvements to the user interface. What’s still missing from the sound design is the battlefield. Units currently don’t have any sounds assigned, but that’s planned for a future release. It’s sadly kinda hard finding military unit sounds that sound good and won’t cost any money.

Also on the list are some missing features like the whole politics area of the game (it’s partially there but disabled for the current build) and the different game modes that I intended to add at some point during game design.

I hope you enjoy this new build of “Phase 2” even more than the recent ones. And a big thank you to all the people that send me their valuable feedback on the game. That’s what actually keeps me motivated 🙂

Projekt “W” Phase 2 – New beta release (#170)

It took much longer than initially expected, but here comes a new release of Phase 2, both for linux and windows :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #170 (~74 MBytes)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #170 (~78 MBytes)

Selection of screenshots :

As hinted in my last postings this release includes the new space backdrops as well as the extensive ingame tutorial that’s aimed at both beginners, as well as experienced players that wan’t to know about the details. Due to the extensive nature of that tutorial (70 chapters, ~ 25,000 words in two languages) it took me almost 3 weeks to get it done,  and I plan on adding some more chapters and details in the future.

I also changed some parts and visuals of the main menu, getting it more in line with the new space backdrops. And the new game screen now also shows the options on the nation selection screen, so no more clicking through two different screens for starting a new game.

Other than the above changes there were some bugfixes and small additions (e.g. correct display of special characters on Linux). You can find the changelog for revision #170 here.

Now with that release out of the door I can hopefully start to implement the last few missing features, add some more content and do some balancing, getting closer to a final release.

Projekt “W” – Phase 2 – First linux release!

phase2_logo_iconBelieve it or not, but after a month of hard work (and only very little sleep), the first open beta release of “Phase 2” for linux (i386) is finally here!

Only a few small issues had to be fixed since my last posting about going multi-platform. No big deal, only a few visual glitches, missing staff images and (very annoying) a missing flood fill algorithm. I use flood fill to generate the colored territorial maps on each turn, and lazarus doesn’t implement this for the linux widget sets, so I had to write one on my own that isn’t slow as hell. And then I did some final game testing this afternoon and only found the game to be perfectly playable, so I decided to finally release the linux version.

Download :
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #142 (~65 MBytes)

Important : Please run the included “” script instead of the application itself as the game needs a certain library to be in the search path to run. If you run the application itself without (which is what the script does), the game won’t launch!

Also note that I updated the windows release too :
(Windows) Projekt “W” – Phase 2 – Open Beta rev. #142 (~60 MBytes)

So if you’re a linux user and haven’t been able to play my latest game, you can now run it without using something like Wine. But please note that there may be bugs not present in the windows release, and that I only tested on one linux distribution, so I can’t tell about the other numerous distros out there. So if the game is running for you feel free to comment with your linux distribution so I can see where the game is running and where not.

Going multi-platform, part 5 : Finishing touches

phase-2-linux After weeks of hard work and learning a lot about the differences between coding on windows and linux, the current source revision of Phase 2 is completly functional on linux and playing the same as a windows version. So if you’d put them side-by-side in fullscreen mode you wouldn’t notice any differences!

Currently I’m putting the finishing toches on the linux release and only a very few minor things have to be fixed and adjusted before I’ll release the linux version into the wild, so you guys can play with it and provide me with feedback, the linux world is far more fractured than the windows world, so I’d love to know how the game runs on different distributions.

Since the last posting I did the following for the linux source path of the game :

  • Switched to the BASS audio system
    In my last posting I wrote about the problems finding an fmod linux library that would work with my game and free pascal. The problem here is that delphi/fpc support has long been dropped from fmod, and since a lot of declarations have changed, using the last delphi/fpc header with a recent fmod library wouldn’t work. So I switched over to BASS, a sound library that I already used several years ago. It still supports delphi/fpc, is leightweight, updated on a regular basis, free for non-commercial use and supports many platforms. You can get it from un4seen.
    Since my different sound systems (fmod, OpenAL) are all abstracted via TSoundSystem and TMusicPlayer classes, adding in BASS only took me 15 minutes, so the game is now running on a different sound API and the linux version now also plays music and samples.
  • Added resolution selection / switchting
    This was a lot harder than I intially thought. For windows this is pretty simple (as I’ve been using it for years), but for linux I had to do a lot of research before I started implementing it. In the end I went with xrandr and you can now change resolutions and windowed / full screen on linux like on windows.
  • Implemented performance fixes
    I hinted at this in one of my recent postings. There are several performance differences between free pascal and delphi, so code that ran pretty fast on delphi made the game crawl on free pascal. One example was the transfer market. On delphi I had all texture names for all available staffer picutes in a stringlist and on drawing each staffer entry in the selection listbox, I looked up the texture ID of the staffer’s face via this stringlist. If that image was already loaded into VRAM I draw it, if not it get’s loaded from the virtual file system. On free pascal that code made the game go down below 10 fps when opening up the transfer market window. So now I load up all staffer pictures when loading the game (only takes a few ms) and directly assing the texture ID to a staffer. Sicne this is faster in general, this will also make the delphi version run faster.

So the linux version is looking fine, and I hope to have a public release ready within the next two weeks, so the linux crowd is finally able to play my game outside of wine or virtual machines. And though it was a hard piece of work (partially making me wonder if it was worth all the hours of coding) I think it was worth it as I learned a lot about coding on linux. So for my future projects I’ll take multi platform support into account from the very beginning.

Going multi-platform, part 4 : First run on a native linux

After another week of intense coding on “Phase 2“, trying to fix the mistake I made with nativeXML, I finally got all of the xml stuff switched over to my own xmlwrapper. As hinted at in my last posting, nativeXML wasn’t working on linux (and I haven’t been unlocked for their support forums, after over a week of wait!) so I decided to write my own wrapper unit that uses fpc’s or delphi’s xml implementation, depending on the compiler target. Once again this was a huge code change (thousands of lines of code) but now all of the game’s unit have been changed to use this xmlwrapper, removing any references to external xml libraries.

So with that obstacle out of sight I decided it was time to install a real linux one of my partitions. The virtual machine was nice for getting the first version compile and run in linux, but developing in a VM is kinda cumbersome, especially as the OpenGL visuals don’t mirror a real system, so instead of trying to fix some awkward visual bugs (that are only visible in the VM) I made room on my external harddisk and installed linux (mint, same as in my VM) on a partition. So now I can also boot into a real linux with complete hardware acceleration and an OpenGL implementation that offers me the same extensions and performance as on my windows system. Installation itself went pretty easy, though I must admit that the linux system oddly isn’t nearly as stable as my good old Vista64. Debugging my game often hangs the complete system, requiring a hard reset, my USB ports aren’t powered down when shutting down linux (which is annoying, cause my lit keyboard is still on power after turning off my PC) and my wireless network drops out every few minuts. But well, just for developing and testing my game it’s fine, and that’s what I needed.

So here are the first screenshot of the game running on a native linux installation. I actually wanted to post a video, but finding a working screen capture application on linux (like fraps or camtasia for windows) was kinda impossible and made me waste half of my sunday. But anyway, here is the first bunch of screenshots showing the running natively on linux directyl from the lazarus IDE :

As you can see from the screenshots, performance is already pretty good (though it’s lacking in several areas, I guess due to compiler differences between fpc and delphi). But there is still a lot work to be done before I can release a linux build into the wild. As already said the soundsystem is currently disabled (because of the FMOD package version I need not available anymore), fullscreen mode along with getting resolution list is also missing, and timing is currently done via GetTickCount, which isn’t nearly as accurate as QueryPerformanceCounter for windows. And there seems to be a small encoding problem, wrongly displaying special chars like Umlauts (‘ü’,’ ä’, ‘ö’).

But yes, it’s fully playable and with only a bit more work I’ll finally have a working linux version of Projekt “W” – “Phase 2”!

2012 – Final posting (and a new release)

We’re in the final days of 2012 (and the world didn’t end, who would’ve thought) and continuing my “tradition” this will be the final post of this year including different topics. So first of all I’d like to wish all my friends, relatives and readers a good start into 2013!

As for my personal situation, a lot changed in 2012 (if you’ve read last years final posting you might remember) and mostly for the positive. As of may 2012 I’m working as a fulltime Delphi Developer right around the corner (if I’m not too lazy I even hop on my bike to get there) and I’m having a real blast working over there. The working atmosphere is great, I get along very well with my co-workers, and getting paid for coding stuff in Delphi is pretty awesome too.

So as far as work goes I’m very happy right now, and contrary to what I expected first, coding all day long at work (mostly, I do other stuff there too) didn’t destroy my motivation to code at home at all. Actually it’s the complete opposite, cause I’m much more focused during coding at home due to the practices at work and a (finally) ordered real life.

So instead of bothering you with my highs and lows of this year, I decided to finish off this year with a new release of “Phase 2 (Revision #125).

This revision includes a new feature that allows you to start manual battles directly from the game’s main menu with the possiblity to complelty customize it. You can select the setting, the nations and the units for each nation. To make this feature even more interesting I also added half a dozen new maps for the manual battles.

You can grab the current release on the game’s offical page.

Update (26th December) :
I noticed that the last video showing Projekt W in motion is from november 2011 and since back then a lot of things changed and have been added, I decided to cut together a new video showing scenes from the current beta. So here you go :

New Projekt “W” – Phase 2 beta release (#121)

I have updated the “Phase 2” beta to release #121. 

This is dubbed the “AI update”, as it adds a lot of functionality and tweaks to the (enemy) AI of the game. When releasing the first “Phase 2” beta, it’s AI was pretty much at the same code level as the one for “Phase 1” and it actually didn’t do a lot of the new stuff that the gameplay offered.

So during the last few weeks I’ve been putting a lot of work into the AI. It’ll now do most of the things players can do, should be better at managing it’s regions and there have been some small other fixes to the game.

You can find the detailled changelog for this revision here.

Projekt “W” – First public “Phase 2” Beta

More than five years after the release of “Phase 1”, the first public beta for “Phase 2” goes live!

I’ve been working on “Phase 2” almost every single day for the past five years, and a lot of coding, creativ work and though went into this game. And though at some times it looked like I’d never get it done I finally got to a point where the game is in such a good shape that I can release a beta to the public, so everyone being curious can take a look at the game’s current shape and how much it evolved compared to “Phase 1”.

But please keep in mind that this is still a beta and far from a final game. There’s still a lot of work for me to do with content missing (graphics, 3D models and especially sounds), features to be implemented and stuff to be fixed, but this beta release should be playable and with the exception of the politics part of the game all the features planned for “Phase 2” are in place and can be used. So you now got manual battles, global projects (including nukes!), a stock market and a much more complex espionage (and sabotage) feature that should add a lot of fun, especially when playing against your friends in hotseat mode!

So if you want to take a look, head over to the project page to download the current beta. And since it’s a beta and you may want to just test out some of the new features, you’ll also find a package of savegames there that allow you to directly hop into the game. The game now also comes with a real manual in the form of HTML, so if you don’t know about the game or want to read up on the new features you can always take a look at the included manual.

Feedback is greatly appreciated, but as said above please don’t forget that it’s a beta. And also keep in mind that this is a freeware game made only by myself, so I don’t have a QA department to test for bugs or crashes.

Also please DO NOT DISTRIBUTE THIS BETA. If you’ve got a page that displays or distributes freeware games, please contact me before you can link to the current beta. I don’t want it to spread beyond my homepage until it leaves the beta state.

And last but not least a slew of new screenshots from this beta release (thumbnails, click to view screenshot) :