PDA

View Full Version : Projekt Weltherrscher - "Phase 2"



Sascha Willems
22-10-2012, 05:53 PM
http://www.saschawillems.de/images/phase2_betalogo.png

About
It's been in the makings for over five years now, and I've been working on it almost every day since the release of "Phase 2" and spent most of my weekends writing code, creating models, textures, users interfaces and all the stuff that needs to be done for a game. But after all these years, I can finally release a first beta of "Phase 2" of Projekt Weltherrscher to the public!

First planned as an addon for "Phase 1" (you can read up on it over here at PGD (http://www.pascalgamedevelopment.com/showthread.php?3594-Projekt-quot-W-quot)), "Phase 2" offers so many new features, functions and content that it should be seen as a whole new game, finally implementing (most) of the features I initially planned for this game.

Some of the new features :
Turn-based hexagonal battle fields
Just think of "Panzer General". You can now battle out attacks on regions by yourself on a 3D battlefield, with different visuals for different regions, fully modelled units with skins for each of the nations. This adds a lot of depth to the game, especially when going head-to-head against a human player
Global projects
The beta includes the first batch of global projects. These are powerful projects that take lots of resources to develop, but on the other hand can turn around a game. There are aggressive projects likes nukes and pandemics, as well as passive projects like espionage sattelites.
Redone user interface
The complete user interface has been redone, and after a dozen or so rewrites it's now where I wanted it to be.
Enhanced espionage and sabotage
A lot of work has went into expanding this feature. It was a gimmick in "Phase 1", but now it's almost a game in a game by itself. You can fake data by puttin agents into your own regions, infiltrate enemy regions and wreak havok there and even infiltrate hostile data nets to get important information on your adversaries.
New military units
In addition to separate skins for all units for each nation, there are also new units that are unlocked by researching the approriate technologies. Including hover tanks, rocket launchers, stealth bombers and more.
New technologies
The technology tree was also expanded with new technologies. And once you've researched all technologies, endless research will be unlocked.
And many many more
Including balancing, new features, minor tweaks, gameplay additions, etc.


The game itself is a turn-based strategy game placed in the not-so-distant hostile future, with only five huge nations left that fight for world domination 'till the end. You can choose which of these nations you want to play with, and either play against the AI or against human (mixed with AI if wanted) players in hotseat mode. Describing all it's features would be too much text to write, but basically it's risk, mixed with Civilization, Panzer General and my own take on the turn-based strategy game. You manage your regions (construct buildings), your armies (construct units, manage divisions), conquer enemy regions (with fully 3D-turn based battles), research new technologies, unleash mighty global projects unto your enemies, manage your stuff and do all the other strategic things that are needed to succeed in conquering the world.

The game was initially started with Delphi 7, moved over to Turbo Delphi (don't mention it, it was horrible) and is now developed with XE2 (which is much better, though still has it's large share of problems). It uses OpenGL for 3D graphics (the current beta needs at least OpenGL 2.0 with shader, framebufferobject and S3TC-support) and also uses some shaders for it's nice visuals. The linux port was made with Lazarus and FPC (though I could actually use that combo for the windows version too).

And with the exception of the music (thanks to YD (http://opengameart.org/users/yd) and Kevin MacLeod (http://incompetech.com/) for this!) I did everything for "Phase 2" by myself. Not only the coding (currently over 120.000 lines of code, though that doesn't include tens of thousands of lines that were deleted over the years), but also the user interface (for which I wrote my own OpenGL-GUI library, including a WYSIWYG-editor with XML-Import/Export), all the graphics and 3D models, all of the game's content and everything else necessary to finish a game. And yes, that was a lot of work, my development directory for the game (excluding SVN) now stands at roughly 1,2 GBytes with over 3,000 files (art, drafts, documents, data, source).

If you've never played "Phase 1" or aren't keen with turn-based strategy, it's always a good idea to take a look at the included HTML manual. It's got information on all the features of the game, and an interactive tutorial (like for "Phase 1") will also be added for a final release.

So getting this beta out to the public is a huge step (and believe me, a great relief too) for me and I hope you guys over here at PGD enjoy this first version of the game.


Important information
But please note that this is STILL A BETA! It's still lacking some functionality (e.g. the politics part of the game), content needs to be added and there are bugs left in the game. But at the current state it's playable and showcases a lot of the features that have been implemented since "Phase 1".

Also note that the game is FREEWARE! You should never be asked to pay anything for it!

And also please DON'T DISTRIBUTE THE GAME (yet). It's still a beta and I don't want it to spread around the net. Though that'll change with the final release.


Download

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #201 (~83 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev201_win32.zip)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #201 (~90 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev201_linuxi386.tar.gz)
(Linux, x86_64) Projekt “W” – Phase 2 – Open Beta rev. #201 (~90 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev201_linuxx86_64.tar.gz)
Important note for linux users : Please run the "startprojectw.sh" script inlcuded in the download instead of the application itself. The game uses libbass.so (BASS sound API) which needs to be located by linux, so if you don't have this installed and run directly the game may not launch. That's why I created the start script to change the ld_path.[/list]

If you don't want to start from scratch and just want to test out the features you can download the savegame pack for rev. #107 (http://www.saschawillems.de/files/beta_saves_rev107.zip) with premade savegames. Extract them into the game's save directory under your local user's dir, e.g. x:\Users\USER\Documents\ProjektW_Phase2\saves.


Screenshots
And last but not least some impressions from the current beta (thumbnails, click to enlarge) :

http://www.saschawillems.de/phase2/t_04_07_2013_1.jpg (http://www.saschawillems.de/phase2/04_07_2013_1.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_2.jpg (http://www.saschawillems.de/phase2/04_07_2013_2.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_13.jpg (http://www.saschawillems.de/phase2/04_07_2013_13.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_01.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_01.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_02.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_02.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_03.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_03.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_04.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_04.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_05.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_05.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_3.jpg (http://www.saschawillems.de/phase2/04_07_2013_3.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_4.jpg (http://www.saschawillems.de/phase2/04_07_2013_4.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_5.jpg (http://www.saschawillems.de/phase2/04_07_2013_5.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_6.jpg (http://www.saschawillems.de/phase2/04_07_2013_6.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_7.jpg (http://www.saschawillems.de/phase2/04_07_2013_7.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_8.jpg (http://www.saschawillems.de/phase2/04_07_2013_8.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_9.jpg (http://www.saschawillems.de/phase2/04_07_2013_9.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_10.jpg (http://www.saschawillems.de/phase2/04_07_2013_10.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_11.jpg (http://www.saschawillems.de/phase2/04_07_2013_11.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_12.jpg (http://www.saschawillems.de/phase2/04_07_2013_12.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_14.jpg (http://www.saschawillems.de/phase2/04_07_2013_14.jpg)


Video
Video of the current open beta (June 2013) :

http://www.youtube.com/watch?v=-TtVQw2_cWY&hd=1


Community
Projekt W is present on the following platforms :
http://button.desura.com/popularity/medium/games/20743.png (http://www.desura.com/games/projekt-w-phase-2) http://button.indiedb.com/popularity/medium/games/20743.png (http://www.indiedb.com/games/projekt-w-phase-2)


I hope you enjoy "Phase 2"! And since a freeware game won't get me any money, feedback is very welcome ;)

Daikrys
23-10-2012, 07:24 AM
nice to hear and congratulations :)

will have a look later today

AirPas
23-10-2012, 01:06 PM
wow , a big project by one developper ! ? really great work

paul_nicholls
25-10-2012, 09:44 PM
Wow Sascha, that looks very very professional and slick...I will have to try it :)
Congrats on this release, you have done an awesome amount of work on it over the years...

cheers,
Paul

phibermon
28-10-2012, 10:50 PM
Absolutely awesome! your hard work and dedication over the past 5 years is most certainly worthy of a decent playtest :) I happen to love turn based strategy so downloading now

de_jean_7777
29-10-2012, 09:16 AM
This is awesome. Played a bit, not really fan of such games but it's well done in my opinion. I ran it on a i3 2310M, 4GB DDR3 and a Intel HD3000 on Windows 7 x64, and works without a hitch.

Cybermonkey
29-10-2012, 10:57 AM
Just according to the screenshots, this looks awesome! I definitely have to test it although I am not the turn based strategy guy. ;)

farcodev
03-11-2012, 03:17 PM
Wow what a hellish of work you've made! 8)

Great job!

Sascha Willems
11-12-2012, 05:39 AM
I have released a new version (revision 121), grab it here (http://www.saschawillems.de/download/projektw_phase2_beta_rev121.zip). I dub this the "AI release" as it mostly contains enhacements for the AI. Prior to this release it was still mostly at the same state as for the "Phase 1" release, so I added a lot of functionality to the enemy AI and also made it a bit smarter. The AI will now do most of the stuff that players can do in "Phase 2", including upgrading buildings, researching infinite technologies, doing espionage and sabotage and so on.

I also changed the construction AI (see this blog posting for more information (http://www.saschawillems.de/?p=1127)), so the AI will now be much more competitive than before, populating regions in a better way than before that'll get upgraded over time. It also demolishes buildings that aren't needed aynmore, making space for better once. Also the AI is now less prone to loosing reagions due to high pollution or low loyalty.

Here is the complete changelog for this revision :

------------------------------------------------------------------------------------------------------------------------
Revision #121
------------------------------------------------------------------------------------------------------------------------
Fixes
- (Regions) Added missing connections from Japan to neirhbouring countries
- (Regions) Added missing connection from Korean Kuril to United korea
- (Regions) Added missing connection from State Alliance to Texas
- (Regions) Added missing connection from New Texas to Texas
- (Regions) Removed connection from Oldquebec to New Nunavut (no shared border)
- (Regions) Removed wrong connection from Egypt to Algeria (no shared border)
- (Regions) Wrong regional loyality display and calculations fixed
- (Espionage) Captured agents during hostile region infiltration are now removed (as noted in the message box)
- (Savegame) Creating a new savegame now uses the correct file extension

User interface
- (Regions) Changed building selection (again). Dropdown for building category now only jumpts to selected category
instead of only displaying buildings from selected category
- (Transfermarket) Several optical and usability changes
- (Misc) Changed scrollbar appearance for listboxes (no more overlapping, better scrolling visualization)
- (Misc) Fixed partially wrong button click areas

Balancing
- (Buildings) Lowered resource penalty for "Orbital sun sails", giving it an advantage over a nuclear power plant

AI
- (Construction) No longer constructs normal buildings on coastal spots
- (Construction) No longer populates locked coastal spots (regions without coasts)
- (Construction) Added more randomization to the construction AI (placement, building selection)
- (Construction) Now constructs new coastal buildings when coastal spots are available
- (Construction) Now demolishes buildings not needed anymore and regains funds (like human players)
- (Construction) Added upgrade paths for buildings, so AI will now upgrade existing buildings to better versions
- (Espionage) Now also hires and manages agents
- (Espionage) Assigns hired agents to the different infiltration targets (own region, hostile region, data net)
- (Espionage) Agents infiltrated into own regions fake either division or structure data
- (Espionage) Agents transition from one data net level to the next one
- (Epsionage) Agents execute data net espionage and sabotage actions
- (Military) No longer attacks with one-unit only divisions

Sascha Willems
25-12-2012, 02:34 PM
With 2012 ending soon I decided to release a new version of the "Phase 2" beta. You can grab it grab it here (Revision #125) (http://www.saschawillems.de/download/projektw_phase2_beta_rev125.zip).

Contrary to the last release this one doesn't include bugfixes but adds a new feature and new content :


Detached manual battles
As the manual battles in Projekt "W" could almost be made into a separate game I decided to add a new entry to the game's main menu that allows you to setup a manual battle and play it without having t play a "real" game". So from both the single- and multiplayer menu it's now possible to start manual battles detached from the main game. A new dialogue will show up that allows you to customize all of the battle's aspect. Starting from the setting, to the nations involved and also including complete control over how many and what units will participate in the battle
New maps
I also added half a dozen new maps for the manual battles that'll get selected at random. The last release only included 6 maps, so the number of possible maps for the manual battles is now doubled.


Screenshots :

http://www.saschawillems.de/phase2/december2012/t_screenshot1.jpg (http://www.saschawillems.de/phase2/december2012/screenshot1.jpg) http://www.saschawillems.de/phase2/december2012/t_screenshot2.jpg (http://www.saschawillems.de/phase2/december2012/screenshot2.jpg) http://www.saschawillems.de/phase2/december2012/t_screenshot3.jpg (http://www.saschawillems.de/phase2/december2012/screenshot3.jpg) http://www.saschawillems.de/phase2/december2012/t_screenshot4.jpg (http://www.saschawillems.de/phase2/december2012/screenshot4.jpg) http://www.saschawillems.de/phase2/december2012/t_screenshot5.jpg (http://www.saschawillems.de/phase2/december2012/screenshot5.jpg) http://www.saschawillems.de/phase2/december2012/t_screenshot6.jpg (http://www.saschawillems.de/phase2/december2012/screenshot6.jpg)

I hope you enjoy the new features and have a happy new year :)

Edit : I noticed that the last video of PjW was from November 2011, so I decided to cut together a new video showcasing the most recent version. You can watch it here : www.youtube.com/watch?v=_LmWSjU-vTU&hd=1 (http://www.youtube.com/watch?v=_LmWSjU-vTU&hd=1)


http://www.youtube.com/watch?v=_LmWSjU-vTU&hd=1

Sascha Willems
13-01-2013, 01:46 PM
So 2013 is here, the open beta is running good and people seem to like the game.So for 2013 I plan a final release (after all the years of hard work and endless weekends that made it look like the game would never become finished) and there isn't that much left to do :

Sound design
The game is severely lacking in this area. I noticed this will playing a small indie strategy game where the sounds perfectly fit the scenario and added to the overall atmosphere. That’s pretty much missing from “Phase 2″ currently, and this is one of the bigger issues I’ll take care of.

Politics feature
I mentioned this in several posts and the button is already there in the current beta build, but the feature is still in design stage. My plan is to add more personality to the game so the player feels more like the leader of a nation rather than “just” building stuff and moving divisions.

Ingame tutorial and documentation
“Phase 1″ had an ingame tutorial that lead the player through the most important aspects of the gameplay. This is currently missing from “Phase 2″, but something like this is a necessity for such a complex game. The html manual include is already a step in the right direction but not sufficient in my eyes.

Add more content
Although already stuffed with a lot of content (currrently the development directory inlcudes almost 800 MBytes of drafts, artworks, models, textures, designs, etc.) there are still areas where content is lacking. Battlefields for example still lack variety in 3D models and I also want to add some more buildings, technologies and global projects.

Remove backwards compatibility for shaderless GPUs
Wheen the original game launched there were lots of GPUs that didn’t support shaders, so there is still code in the renderer for these cards. But nowadays even the cheapest GPU is capable of shaders (inlcuded integrated GPUs), so I want to remove this legacy stuff and then also use shaders to opimize rendering in certain areas.


These are the most important points on my agenda, though I still have some plans left after the first final release (except for patches). I may implement a complete network mode in addition to hotseat multiplayer and I also want to make it compile with Lazarus so that I can also release a linux and MacOSX version (or maybe even more). Though these points aren't written in stone as I'd like to move on from Projekt "W" at some point in the near future and start working on something else.

And btw. the game is now also listed on the IndieDB. I hope this will broaden the audience a bit and make more people play it :
http://button.indiedb.com/popularity/medium/games/20743.png (http://www.indiedb.com/games/projekt-w-phase-2)

Rodrigo Robles
13-01-2013, 01:56 PM
I think this is one of the best indie games I ever seen. It's feature full and polished.
A Linux version would be fine. I tried it under wine and the game almost work, but at some points graphics didn't show and I couldn't make an extensive testing.
Porting to Lazarus can open the multiplatform world and make it runnable in many platforms, including iOS and Android.

Sascha Willems
13-01-2013, 02:28 PM
Well, that'd be my ultimate plane. I think a game like this is perfectly suited to be played on a tabled, so getting it up and running with Android (or even iOS) would be great. But I know that means a lot of work, but getting it to compile with Lazarus would be a big step in the multi-platform direction. And that's what I'm currently doing (out of curiosity), though Lazarus has it's share of problems with such a big project. Converting it fails each and every time with a different error, so I'm doing it by hand now. The biggest part of this will be adjusting the XML-parts, cause the Delphi XML-functionality differs from the implementation in Lazarus. But that's nothing that can't be done ;)

And thanks for the kind words, always good to hear positive stuff on your own projects :)

WILL
16-01-2013, 05:36 AM
Not to sound like a broken record of late, but... your best bet to get your game to run and perform well on ALL mobiles platforms (especially Android) is probably Oxygene.

Lazarus is great and all, but frankly it's Android support is not 100% Android compatable and if you do manage to get it going for *some* Android devices it would only work on the hardware that you designed it for. Your best bet, from any compiler on Android is something that compiles Java btye-code and the only Object Pascal compiler that does that is Oxygene for Java.

As Paul and I are both discovering that does mean you'll have to do some porting work on your code to make it more Java-friendly, but in all honesty depending on how you've written your code, it might not be that bad.

And as far as iOS and Mac OS X well Nougat works rather well and also compiled native code using XCode. I've tried it out and found it to be rather easy to setup once you know how. :) Personally, you'll have a much easier time with Oxygene for all things Apple overall as it uses Xcode, which allows you to do all your provisioning and submit to the App Stores via iTunes Connect. I'm not sure if there is an easy way to do that with Lazarus.

Sascha Willems
16-01-2013, 04:53 PM
Well, that's what I feared (but thanks nonetheless for this valuable information). I only took a quick glimpse at the android support that FPC has to offer some months ago and it seems that not much has changed, so I guess I'll have to look elsewhere for that. But who knows, maybe Embarcadero's announced Mobile Studio (iOS first and then Android at a later point) will be the "weapon of choice" to get the game to android.

But what I can achieve in the short term are additional ports for Linux and MacOSX (glCapsViewer for example already supports these), and I'm pretty sure the changes I make to the project to get it to compile for Linux and MacOSX will make it easier to get them onto other platforms as well, so the time invested won't be wasted.

Right now I'm replacing all platform specific stuff. For the past 5 days I've been replacing all Delphi XML-Stuff (which is pretty nice to use but is based on MSXML) with the OpenSource NativeXML that needs no external libs and should work on all platforms. Though this affects several thousand lines of code it should be the biggest step towards getting the game to compile with FPC. The next step then is getting the rest (e.g. OpenGL render context creation) to support multiple platforms and I'll at least be able to offer versions for Linux and MacOSX.

Android may then follow at a later point, though I guess I'll have to put in a lot of work for the GUI the be usable with touch-based devices.

WILL
16-01-2013, 11:45 PM
I will still say that with Free Pascal and/or Lazarus you have next to the best portability for your code though. :)

And even if you can't figure out how to rig your game for the App Stores on Mac, there is still gamer communities like Steam where I'm sure publishing doesn't require Apple's more strict validation process. You can also release the game under both Mac and Windows in parallel there too which would be easier to manage having only one distribution system to deal with.

SilverWarior
17-01-2013, 05:17 AM
Desura http://www.desura.com/ alows distribution of games for Windows, Mac and even Linux platform.
As far as I know they don't have such strict rules for validation as their primal goal is also to distribute games which are still under development (great for indie comunity).
Their validation proces is mostly used only to prevent spreading of malicious software (viruses and such).
They alow you to publish as many patches for your software as you want and as often as you want. Only drawback of Desura is that their validation process takes sometimes even more than a weak to be finished, so publishing of patches through their platform isn't best as you need to wait for each patch to be validated and therefore wait for response from your gaming community to the latest patch. But even steam has patch validation the only thing is that their validation proces is usually quicker.
Another advantage of Desura (atleast by my opinion) is that while they do offer special software to alow of downloading, installing and keeping your games updated (similar as Steam client) they don't force you to use it. If you wan't you can always go and download a standalone instalation for desired game directly from their webpage.

Sascha Willems
17-01-2013, 12:10 PM
I already took a look at desura, and since PJW is already listed at IndieDB I too think that this would be the easiest way to get my game onto a game distribution platform, so i'll definalty take a look at it once it's final. I hope that'll add even more players to the game's audience ;)

And btw (sort of a historic moment) : After throwing out all Delphi XML-stuff (changing thousands of lines of code) and putting some ifdefs here and there I finally got Projekt W to compile with lazarus yesterday! And not only did it compile but it also worked and the game booted into the main menu without any problems. So next step is to remove the few windows releated things and get it to compile with Linux (and later one MacOSX). I hope to get a running linux build to compile this weekend.

And I also noticed that FPC / Laz have made big steps since my first attempts at trying to "port" my game over there some years ago. Linking and compiling is pretty fast and debugging, though not quite as nice as in Delphi is well implemented. With all the problems and limitations Delphi has this combo is getting more and more attractive :)

Rodrigo Robles
18-01-2013, 02:26 PM
Yeah please let me know when the Linux version comes out!

Sascha Willems
18-01-2013, 04:29 PM
Will do so, and I'll also announce it over here at PGD, so don't worry ;)

And yesterday I reached a "historical" milestone! After roughly a week of hard work (5~6h each day, after 8h of coding at work) I fnally to the game to compile with FPC / Lazarus :) :

http://www.saschawillems.de/phase2/fpc_pjw_firstcompile.jpg

Most time consuming part of this procedure was replacing all the Delphi XML-stuff. I really like how XML is impelemented in Delphi, but it's based on MS-XML COM, so it's windows only and it differs in terms of coding from the XML-implementation for FPC. And since I had to replace several thousands lines of code I opted for NativeXML, cause it doesn't need external libs, works with Delphi and FPC and should work an all platforms I want to move to. And it's much faster than the Delphi implementation. Other than that I only had to put in a few ifdefs for different unit names or generics definitions and now the game compiles with Delphi and Lazarus (I want to keep all options open, maybe Embarcadero's mobile Studio will allo easy porting to android).

And even better, the game is also fully playable :

http://www.saschawillems.de/phase2/t_fpc_pjw_firstrun.jpg (http://www.saschawillems.de/phase2/fpc_pjw_firstrun.jpg)

There are a few missing text labels and some visual glitches, but nothing that can't be fixed within a few days.

The next step now is to remove all windows specific stuff, and that's not a lot. Creation of render context has to be implemented for the other platforms, but otherwise I don't use OS specific stuff in a lot of places. So I'm pretty confident that I'll have a running Linux version up very soon, hopefully to be followed by a Mac OSX version (problem here : I don't own OSX, and as far as I know I can't compile for it without).

AirPas
18-01-2013, 07:15 PM
And it's much faster than the Delphi implementation.
do you mean fpc version is much faster than delphi one ?

Sascha Willems
18-01-2013, 07:39 PM
do you mean fpc version is much faster than delphi one ?

That was related to the XML-Implementation of Native XML. XML-Functionality in Delphi is based on MS-XML which is pretty slow. So for the next release, all XML-based stuff will be faster (loading and saving games, startup in general, etc.).

And btw. I finally got Lazarus set up under a current Ubuntu. Actually I hate the Ubuntu user interface (worst UI design I've ever seen) and getting Lazarus installed there almost drove me made (in the end I had to install 10 ! packages), but it's now all set up and I'll soon start getting it to compile there :)

http://www.saschawillems.de/phase2/t_fpc_pjw_linux.jpg (http://www.saschawillems.de/phase2/fpc_pjw_linux.jpg)

AirPas
18-01-2013, 07:54 PM
good progression.
are there any intention to make it open source ?
the game really has alot of cool things , like the GUI which is amazing

Super Vegeta
19-01-2013, 12:13 PM
Actually I hate the Ubuntu user interface (worst UI design I've ever seen)That's why I always recommend Mint - it is based on Ubanto, so you get all the hardware drivers and other goodies, but the user experience and customization is much better.

The project itself looks absolutely kick-ass. I am definitely going to check this out once a Linux version comes out.

AirPas
19-01-2013, 03:33 PM
That's why I always recommend Mint
even with xfce its a little bit slow , i switched to debian with gnome 2 , it seems much better than tons of distros i've installed

Sascha Willems
20-01-2013, 05:14 PM
Well well well, after a complete weekend of getting Lazarus up and running in my Ubuntu VM and getting the code linux-compatible, I just compiled the first native linux version of "Phase 2" :) :

http://www.saschawillems.de/phase2/t_2013-01-20_pjw_firstlinux.jpg (http://www.saschawillems.de/phase2/2013-01-20_pjw_firstlinux.jpg)

Yes, there are visual glitches, missing texts and other stuff that's not display like it should (ignore the FPS, it's MESA OpenGL in a VM), but that's nothing I can't fix. So a linux version is finally going to happen and I hope it'll get played as much as the windows one.

paul_nicholls
21-01-2013, 05:13 AM
That is awesome Sascha, nice one! :)
Lazarus rocks!

Sascha Willems
15-02-2013, 09:18 PM
http://www.saschawillems.de/wp-content/uploads/2013/02/phase-2-linux.png
Believe it or not! After a month of hard work (with very little sleep) I'm proud to present the first public linux release!

If you've followed my blog you may have seen me post several articles on going multi-platform where I wrote about my experiences porting the game over to linux, and though at times I thought I'd never get this done (linux differs a lot from windows) I finally got a fully playable linux version done, and if you'd run it fullscreen along a windows version you wouldn't be able to tell the difference. So linux users now get the same experience as windows users. So from now on the game's source compiles with Delphi and Lazarus and on Windows and linux. MacOSX support is also planned, and hopefully not as hard to implement now with linux supported.

But please note that I could only test on one distribution and since it's a different compiler there may be bugs not present in the windows version. So if you get it to run on linux I'd love to hear on what distribution.

Downloads

Linux :http://www.saschawillems.de/download/projectw_phase2_beta_rev142_linuxi386.tar.gz (.tar.gz, ~65 MBytes)
Important note : Please run the "startprojectw.sh" script inlcuded in the download instead of the application itself. The game uses libbass.so (BASS sound API) which needs to be located by linux, so if you don't have this installed and run directly the game may not launch. That's why I created the start script to change the ld_path.

Windows : http://www.saschawillems.de/download/projectw_phase2_beta_rev142_win32.zip (.zip, ~60 MBytes)

Super Vegeta
16-02-2013, 09:19 PM
Welp, my card doesn't support compressed textures. Are you doing Load_GL_X_X calls anywhere? Cause though my driver info displays 1.4, calls up to 3.1 are successful in my programs and I've been quite happily using OGL 2.X stuff.

Sascha Willems
17-02-2013, 09:51 AM
Well, I'm using our dglOpenGL.pas for linux too and that just uses glXGetProcAddress to get the procedure addresses. But as for the compressed textures I simply check against the presence of GL_EXT_texture_compression_s3tc in the extension string, and if that's not present the game won't run.

Maybe I'll have to check against a different (newer) extension instead of the GL_EXT_ one, but e.g. GL_ARB_Compression is completly different. I'll look into this issue.

P.S. : What graphics card are you using? Could you upload a report to http://delphigl.de/glcapsviewer/listreports.php if you haven't done so, so I can see what it supports?

Super Vegeta
17-02-2013, 02:11 PM
Ok, I uploaded my report here (http://delphigl.de/glcapsviewer/generatereport.php?reportID=326).
Although there is no GL_EXT_texture_compression, I see GL_ARB_texture_compression listed. So well, if you'd be able to get it to work, that'd be great. If not, I guess I'll have to wait a bit till I can get my hands on the game. :)

Sascha Willems
17-02-2013, 03:43 PM
Sadly GL_ARB_texture_compression is something different than GL_EXT_texture_compression_s3tc. The first one only "tells" that texture compression is supported when it's present and that compressed textures can be used. But all my textures are stored using DDS (DXT1, DXT3 and DXT5) and GL_EXT_texture_compression_s3tc is necessary to directly upload these compressed formats via OpenGL. And I thought this was an industry standard, as even valve's OpenGL games need this extension to run. So no, it's sadly not easily possible to move away from that extension.

phibermon
18-02-2013, 04:42 PM
Hi Sascha, if compressed textures are not supported on the card you can decompress the images system side before you upload them. The algorithms and various code examples are available if I remember correctly.

I don't do this either at the moment as I'm GL3.2+ only and the only configurations I know of hardware/software that support GL3 that don't also have st3c are open source drivers on Linux (as the support is still an extension (not core) and patented etc so trouble for open source development)

It should be quite easy to decompress however, the algorithm must only take a few short steps in silicon to return decompressed values, that means it's probably not going to be anything beefy or stream based.

Sascha Willems
04-03-2013, 09:11 PM
Just a quick heads-up :
I got really annoyed of the old backdrops for the different nations that I made years ago when 4:3 and 5:4 displays where still the majority. So I finally decided to drop them and along also the odd water plane. Thoug the reflecting water plane was a nice shader showcase it always felt unnatrual and, depending on globe zoom and position, would obstruct the lower regions of the globe.

So I decided to give the game's main view a complete visual overhaul and create a gorgeous looking space skybox (with this great tool (http://alexcpeterson.com/spacescape) from Alex Peterson), you can see the first screenshots of it in action here :

http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_01.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_01.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_02.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_02.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_03.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_03.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_04.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_04.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_05.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_05.jpg)

Looks much better in my opionion and it also feels more natural to see the globe from space and to have a rotating backdrop. You may also notice that the globe looks a bit better now too, as I did some fine-tuning to the shaders and changed texture color and saturation levels to give it a more realistic look. The earth's shader now also (again) has a realisitc day/night transition and was enhanced to also render the clouds (that was a separate sphere up until now). So the shader now uses up to 6 different textures.

Note that this is still work-in-progress and a new beta will be released soon (no ETA yet). I also plan to add some dynamic objects to the background like the glowing sun and and orbiting moon that may even get used for a global project, so stay tuned ;)

SilverWarior
04-03-2013, 09:51 PM
Wow it realy looks nice!
Do you use some static textures for clouds or are they procedurally generated?

phibermon
04-03-2013, 10:15 PM
That's looking loads better now, the water shader was nice but this sets the right mood

Sascha Willems
05-03-2013, 08:10 PM
Wow it realy looks nice!
Do you use some static textures for clouds or are they procedurally generated?

No, the backdrop is static. It's generated with this nice tool (http://alexcpeterson.com/spacescape) and post processed in Photoshop (the tool sadly generates some errors when creating the textures). Having a complete dynamic space backdrop with moving clouds and pulsating nebulaes sure would be nice, but that'd take a lot of time. So maybe (or maybe not) sometime in the future ;)


That's looking loads better now, the water shader was nice but this sets the right mood
Thanks :) It completly changes the feel of the game. I played a bit yesterday (late at night) with some ambient space drone music in the background and boy, what a difference to the mood of the old backdrops. Right now I'm even thinking about changing the soundtrack to some ambient space drone music.

SilverWarior
05-03-2013, 08:45 PM
Sorry Sacha but I was refering to planetary clouds and not Space backdrop. So how are planetary clouds being done?

Sascha Willems
05-03-2013, 08:50 PM
Sorry Sacha but I was refering to planetary clouds and not Space backdrop. So how are planetary clouds being done?

Ah, didn't realize you were talking about the globe's clouds ;)

And no, they're not procedurally generated. Just a simple texture with cloud information in one texture channgel and specular information in another color channel, which is then just moving around the globe. So no procedurally generated stuff here, though that may be a great idea. Since it's a shader anyway I could do something with noise I guess. Maybe I'll take a look into this :)

SilverWarior
06-03-2013, 07:11 PM
When developing my entry to 2nd PGD mini competiotion (which was never finished) I have been fidling with procedural content generation quite a lot.
Amongst other things I tried generating clouds using "Perlin noise" and even got some nice results. But the problem was that then I tried rendering that texture to sphere it got disturbed due the way how spherical texture projection works so in the end it almost looked ugly.
I should probably have used several smaller textures and then projecting each of them to the sphere so the distorition would me much lower.
Anywhay procedural texture generation development is currently on hold as I first need to design a way to make nice game GUI in an easy manner.

Sascha Willems
07-04-2013, 07:59 PM
It took me much longer than expected, but I just uploaded a new release of the open beta for windows and linux :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #170 (~74 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev170_win32.zip)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #170 (~78 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev170_linuxi386.tar.gz)

Screenshots :

http://www.saschawillems.de/phase2/t_04_07_2013_1.jpg (http://www.saschawillems.de/phase2/04_07_2013_1.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_2.jpg (http://www.saschawillems.de/phase2/04_07_2013_2.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_13.jpg (http://www.saschawillems.de/phase2/04_07_2013_13.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_01.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_01.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_02.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_02.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_03.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_03.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_04.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_04.jpg) http://www.saschawillems.de/phase2/t_2013-03-04_newbackground_05.jpg (http://www.saschawillems.de/phase2/2013-03-04_newbackground_05.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_3.jpg (http://www.saschawillems.de/phase2/04_07_2013_3.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_4.jpg (http://www.saschawillems.de/phase2/04_07_2013_4.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_5.jpg (http://www.saschawillems.de/phase2/04_07_2013_5.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_6.jpg (http://www.saschawillems.de/phase2/04_07_2013_6.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_7.jpg (http://www.saschawillems.de/phase2/04_07_2013_7.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_8.jpg (http://www.saschawillems.de/phase2/04_07_2013_8.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_9.jpg (http://www.saschawillems.de/phase2/04_07_2013_9.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_10.jpg (http://www.saschawillems.de/phase2/04_07_2013_10.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_11.jpg (http://www.saschawillems.de/phase2/04_07_2013_11.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_12.jpg (http://www.saschawillems.de/phase2/04_07_2013_12.jpg) http://www.saschawillems.de/phase2/t_04_07_2013_14.jpg (http://www.saschawillems.de/phase2/04_07_2013_14.jpg)

This release includes the new 360° space backdrops for the main view as well as the main menu, and the extensive ingame tutorial (70 chapters, over 25,000 words in two languages) that should help starters get a grip of the game but also includes information that experienced users may be interested in. Other than that there were some small bugfixes and changes that can be found in the changelog (http://www.saschawillems.de/phase2/changelog_rev170.txt).

SilverWarior
07-04-2013, 09:06 PM
Verry nice.
I see that you game has quite a lot of text. Have you ever considered using word compression?
Two main benefits I see in using word compression would be:
1. Less space needed for storing game texts (not really needed nowadays due to large HDD-s).
2. Ability to precalculate width for each of used word which my increase performance of automatic line war, especially if you are using bitfonts.
But there are also drawbacks of using this:
1. You need to have special routine which would decode text before it can be rendered.
2. Every small change in text requires you to regenerate word dictionary.
3. If word dictionary file gets damaged it will screw up whole ingame text.

Sascha Willems
08-04-2013, 05:49 PM
Nice idea, thouth I don't think this would benefit the game at all. Line wrapping is done at loading time, and displaying text is already extremly fast as it's only a single glCallLists for a whole line or block of text. The only way of improving performance I can think of would be to put a whole memo's text into e.g. an FBO, though that performance boost could get eaten by overheads to to texture updates. There is more optimization potential elsewhere, and I've been optimizing the game to move the limit away from the CPU towards the GPU over the last years ;)

But well, it's a turn based game anyway, and with more than 100 fps on my pretty old system in fullscreen with 4xAA is sufficent for me.

SilverWarior
08-04-2013, 06:10 PM
That was just an idea I got when playing one game a few months ago. While that game didn't use word compression for storing thext it was actually using word compression for encoding some text for certain ingame puzle. So to solve the puzle you had to conect proper words with their indexes.
As for optimizing Memo like component that I have designed for my Silver GUI library I render the whole text once to some RenderTexture and then just reuse that texture for further rendering of the Memo controll. This even comes in handy if memos render texture exceeds the size of the memo itself (more text that it can fint inside the memo) since I can only do partial rendering of this texture to represent memo controll.

Rodrigo Robles
08-04-2013, 08:11 PM
It took me much longer than expected, but I just uploaded a new release of the open beta for windows and linux :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #170 (~74 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev170_win32.zip)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #170 (~78 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev170_linuxi386.tar.gz)


Yeah! I will test the Linux version right now!

Sascha Willems
01-06-2013, 02:39 PM
Later than expected (partially due to a power supply failure on my PC) here's the new beta release #190 of "Phase 2" (http://www.saschawillems.de/?page_id=829). As usual it's available for windows and linux :

(Windows) Projekt "W" - Phase 2 - Open Beta rev. #190 (~83 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev190_win32.zip)
(Linux, i386) Projekt "W" - Phase 2 - Open Beta rev. #190 (~80 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev190_linuxi386.tar.gz)

Here are some highlights from this release, for a full list of changes take a look at the changelog (http://www.saschawillems.de/phase2/changelog_rev190.txt) :

AI Builder (http://www.saschawillems.de/?p=1412) for regions
New soundtrack, including the game's very own theme song (http://www.saschawillems.de/?p=1436)
New and improved sound effects (http://www.saschawillems.de/?p=1421)
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 bugffixes and minor improvements


http://www.saschawillems.de/phase2/t_06_01_2013_01.jpg (http://www.saschawillems.de/phase2/06_01_2013_01.jpg) http://www.saschawillems.de/phase2/t_06_01_2013_02.jpg (http://www.saschawillems.de/phase2/06_01_2013_02.jpg) http://www.saschawillems.de/phase2/t_06_01_2013_03.jpg (http://www.saschawillems.de/phase2/06_01_2013_03.jpg)

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 :)

WILL
05-06-2013, 08:58 AM
You know... even if you don't sell this game on Steam or something, you should at least show it off at the IGF.

Sascha Willems
05-06-2013, 03:13 PM
You know... even if you don't sell this game on Steam or something, you should at least show it off at the IGF.

Yeah, thought about that. But not until it's finished.

And it'll soon be available on Desura (for free), making it my first game to get published on a digital platform. I must admit that the guys over from Desura responed very quick to my request and currently the installers and standalone releases are awaiting green light ;)

Sascha Willems
08-06-2013, 12:38 PM
Projekt Weltherrscher - Phase 2 will be available on the digital distribution platform Desura starting June 20th (as usual for free)!


http://www.youtube.com/watch?v=-TtVQw2_cWY&hd=1

Making this my first game to be available on a digital distribution platform, so starting from that date you can install and play it from the Desura Client (Windows and Linux). The game already got some attention and good feedback since I put it on IndieDB (http://www.indiedb.com/games/projekt-w-phase-2), and releasing it on Desura (http://www.desura.com/games/projekt-w-phase-2) will hopefully boost it's popularity outside of the development communities I used to promote my games.

http://button.desura.com/popularity/medium/games/20743.png (http://www.desura.com/games/projekt-w-phase-2) http://button.indiedb.com/popularity/medium/games/20743.png (http://www.indiedb.com/games/projekt-w-phase-2)

If you want to spread your game, distribute it or get some attention outside of the (pascal/delphi) development community, IndieDB and Desura are awesome. So I'd suggest anybody over here at PGD to at least put their projects over to IndieDB and take a look at Desura's publishing capabilities if you want to publish your games.

SilverWarior
08-06-2013, 03:33 PM
Nice work!
I have done some promotion on several game forums so expect increase of interest for your game ;)

Dan
08-06-2013, 04:20 PM
since it's working on linux now you should also try ubuntu software center.

Sascha Willems
09-06-2013, 08:52 AM
Nice work!
I have done some promotion on several game forums so expect increase of interest for your game ;)

Thanks a lot! I appreciate your effort. More publicity is always good. Now that the game is nearing it's completion I'm trying to slowly drive momentum :)


since it's working on linux now you should also try ubuntu software center.

Will think about that once the game goes final. Too many places make updating tiresome, but once it's finished I plan on getting it into some linux distros.

czar
19-06-2013, 09:51 PM
wow you don't see that everyday. Someone who has their game in metacritic

http://www.metacritic.com/game/pc/projekt-w---phase-2

Sascha Willems
20-06-2013, 11:25 AM
wow you don't see that everyday. Someone who has their game in metacritic

http://www.metacritic.com/game/pc/projekt-w---phase-2

Thanks for posting this, it's a nice find and I din't know about it. But judging from the boxart, it must be coming from Desura (http://www.desura.com/games/projekt-w-phase-2), as the game is now available there.

Btw. adding my game to IndieDB and Desura gave it a huge publicity boost. The game is currently almost as popular there as Minecraft and I'm getting lots of feedback and downloads. So anyone wanting to expand their game's audience should consider posting their games there :)

laggyluk
20-06-2013, 01:27 PM
Btw. adding my game to IndieDB and Desura gave it a huge publicity boost. The game is currently almost as popular there as Minecraft and I'm getting lots of feedback and downloads. So anyone wanting to expand their game's audience should consider posting their games there :)
True, I just added my game to indieDB yesterday however there's not much to show yet. Still I think it's a good idea to show off what is already done when working on the project than wait with 'promotion' till it's completed.

Sascha Willems
24-06-2013, 06:19 PM
I finally got my hands on a device running Mac OSX and setup my development toolchain there and started porting the game to Mac OSX last weekend!

And since Mac OSX is pretty similar to linux it didn't take ages to get the first build up and running on Mac OSX (a great feeling after that linux port took ages ;) :

http://www.saschawillems.de/phase2/t_06_23_2013_maxosx_01.jpg (http://www.saschawillems.de/phase2/06_23_2013_maxosx_01.jpg)

So prepare for a Mac OSX release coming in the not too distant future ;)

P.S. : Releasing the game on Desura was one of the best things I ever did. Lots of new players (currently over twelve hundred active installs, not too shabby for an open beta hardcore strategy game :) ) and lots of valuable feedback.

WILL
25-06-2013, 05:06 AM
Yay! Wait, define "device"? lol

1,200 huh? that's pretty darn good.

Any hopes of seeing it on the Mac App Store? :)

Sascha Willems
13-07-2013, 11:14 AM
New beta release #201 with native linux x86_64 support

I've just updated the open beta of Projekt "W" - Phase 2 to version 201.

Changes :

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 (libbass.so) 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.


Download :

(Windows) Projekt “W” – Phase 2 – Open Beta rev. #201 (~83 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev201_win32.zip)
(Linux, i386) Projekt “W” – Phase 2 – Open Beta rev. #201 (~90 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev201_linuxi386.tar.gz)
(Linux, x86_64) Projekt “W” – Phase 2 – Open Beta rev. #201 (~90 MBytes) (http://www.saschawillems.de/download/projectw_phase2_beta_rev201_linuxx86_64.tar.gz)


The Mac OSX release is still in testing, but it's perfectly playable and all the OS-related stuff is implemented. Currently I only have access to one mac (a mac mini in our IT-department) so I may seek out for some mac users to test it before releasing it to the public. So no ETA on that version yet, but it's almost there ;)


P.S. : My Desura Stats tell me that more than 2.000 people have installed the game. Not to shabby, eh :)