FIFE community & development blog







Post-Apocalyptic RPG blog: Big Changes Ahead

Greetings PARPGians!

Its been a while since we last updated the blog, and boy have a lot of things have happened in that time! I’ll try and outline what we’ve accomplished in the past few weeks below.

Moving On Up (to Assembla Source Hosting)

The single biggest change we’ve made is that we now use Assembla (http://assembla.com) as our source repository host. Although Codesion, our previous host, has done a lot for us over the years we decided that it was time to update to a distributed version control system and Codesion’s offerings in that area simply did not meet our requirements. However, we will continue to use our Trac page for bug tracking and keep our old svn repository online, at least for the foreseeable future.

One of the really neat things about Assembla is that it is built with Agile Programming methods in mind. Our Assembla workspaces provide tools for asynchronous communication, posting progress reports, viewing repository changesets and managing milestones and backlog items. Although we’re still getting used to Agile methodology, I think that most of us would agree that it has significantly improved our communication and collaboration habits. Overall, we’ve been very impressed with Assembla’s free hosting. It is by far the most professional free host we’ve seen, and has tons of features that we haven’t even figured out how to use yet!

Feel free to explore our Assembla pages at http://parpg.assembla.com and get a feel for how it all works.

Through the Looking Glass: From Subversion to Mercurial

One of our primary reasons for changing source hosts was that we wanted to migrate to a distributed version control system (DVCS). Subversion simply wasn’t scaling well enough for us, since we often had two, three or even more developers working in parallel. Add in the fact that each of those developers was working on some experimental changes and… well you get the idea.

So we said good bye to subversion (well, sort of – see below) and migrated our codebase to Mercurial. We narrowed down the field to either GIT or Mercurial, and most of the developers agreed that the learning curve of GIT was too steep compared with Mercurial’s subversion-like behavior and commands.

There have been a few stumbling blocks to implementing and using the new Mercurial repositories, but we’re starting to get used to the new workflow. So far the extra flexibility of Mercurial has been very useful, at least to the programmers.

Three Repositories Are Better Than One

As if changing our source host and VCS wasn’t enough, we also split up our codebase into three separate (but related) repositories: parpg-core, parpg-assets and parpg-tools.

The parpg-core repository contains the core code framework which makes up the PARPG application, and as such contains the majority of our Python source code.

The parpg-assets repository contains all of our game data – object definitions, sprites, maps, dialogs, music and sound fx, etc. Unlike the other two repositories, which are Mercurial repositories, parpg-assets is a subversion repository (the reason for this is explained below).

Finally, the parpg-tools repository contains the source code and supporting assets of the various tools and utilities we’ve developed over the years to help us create game content.

Our justification for splitting up the code like this was that the binary asset files don’t change very often and yet comprise the bulk of the storage space (more than 200MB in all), which would have significantly slowed down clones of the repository (DVCSs copy all history in their “check-outs”). Compounding this problem was the fact that Mercurial (and most other DVCSs, actually) don’t handle changes to binary files well and tends to create a lot of bloat with each commit. To solve this issue, we moved most of the binary files into parpg-assets – a subversion repository which is able to handle changes to binary files much more gracefully.

To prevent parpg-core from drifting apart from parpg-assets and parpg-tools, we made parpg-assets and parpg-tools subrepositories of parpg-core. What this means in practice is that any time you clone parpg-core, you will also clone/checkout parpg-tools and parpg-assets, respectively. This is a feature of Mercurial that was really fleshed out in the 1.7 branch, so you’ll probably want the most recent version of Mercurial clone parpg-core.

Distutils, SCons and (now) WAF, oh my!

Just to make things as confusing as possible we also changed our build system (twice). Originally we used Python’s distutils installer to build and install everything, but unfortunately as the project grew more complex we discovered that distutils was very difficult to extend and was really starting to slow down development. To be fair the distutils module was developed to build, maintain and install Python libraries, not games with thousands of assets and dozens of tools.

SCons seemed like the natural replacement for distutils, since FIFE (our rendering engine and game framework) uses SCons as its build system. But right from the start we ran into problems with SCons. First, SCons didn’t like our Python code and we had to write a custom extension to get it to correctly install and optionally compile our Python code. Then SCons didn’t like our 8,000+ asset files and we had to write ANOTHER extension to get it to correctly copy our assets (and very, very SLOWLY at that). Then SCons had issues verifying which files had changed between the build/installation directory and the source, which required YET ANOTHER extension (you can see where this is going…).

In the end, we abandoned SCons in favor of its bastard child, WAF. WAF is an old fork of SCons that was developed by a couple of KDE developers. Although much less mature than SCons, WAF has proven to be more than stable enough for our purposes. So far, WAF has been very easy to work with: our current build script is a fraction of the size of our previous SCons buildscript, and yet does everything that SCons could do and more. WAF is also many times faster than SCons, which makes development a lot quicker. Finally, WAF comes as a self-contained script, which means that we distribute WAF along with PARPG – eliminating any issues with users using an outdated or incompatible version of the build software.

Our WAF build system is still being tested, but it should be in the main parpg-core repository soon!

The Times They Are A-Changing

We have even bigger changes planned in the weeks and months ahead, so stay tuned!

Zero-Projekt - English news: Summer is coming… (update)

...and not only beer gardens are putting their lights back on.
In ZERO too, it is now bright as day (or, occasionally dark as night), thanks to our very own God-of-GL, Master of Lights and Overlord-of-OpenGL: Helios  Wink. Spending the past weeks with attempts to implement lighting and  a Day-/Night cycle into the ZERO-world and finally succeeding  while cursing occasionally (read: it wasn't exactly safe for minors).


Zitat
obscured worldmap
 

Zitat
Light on

Technically spoken, this is done using two methods:
First,  the map is shaded using a  command implemented in OpenGL, by which one is able to set strength and color of global light. Secondly, other sources of light are spawned using multi texturing. With this method, multiple textures are blended into one, creating beautiful effects e.g. flickering torches or searchlights. These methods will enable us to increase the atmosphere in ZERO further and offer you a better playing experience.
On this occasion, we would like to thank Helios again. You may now buy him a quantity not less than one of his favorite beverage.

Two funny fails during the implementation.


Zitat
Zero in hell
 

Zitat
blue light fail

The lights of  this news ain't out now, because Helios is already planning further optimizations like running multi texturing via different texture units of the graphics card. By using this method, a better performance can be achieved with ZERO, which will come in handy for the planned features.

Unfortunately many members of ZERO are currently busy working or studying (I damn thee, exams!)  therefore are unable to commit fully to the development of ZERO. Nevertheless, we are trying to finish the Demo as soon as posible and maybe cast a ray of light into the dark world of ZERO.

Greatings

the Zero-Projekt Team

Watch this screencapture to see the lighting while movement

Edit: added screencapture

Zero-Projekt - English news: Zero-Projekt Website – ready for service

Some of you might already know it - our website got a complete overhaul. Smiley The changes took us nearly a week, but now we have finished - the Zero-Projekt website is back.

Many changes and improvements have been made. The forum software has been updated and we switched to a new CMS: Redaxo. (Which we would like to praise and approve at this opportunity Smiley )

The main drive for this relaunch was to improve the multilanguage aspect and the amount of information about our project. So you will not only find more articles on the main page - they were also completely translated to English. We also separated the forums from the website and introduced a new design for both the forums and the website.

Furthermore, there are some new subdomains available:


And - last but not least, we made RSS feeds available for the news (again, for both languages).

Special thanks go to our two community members batgilla and bumsbomber. Batgilla basically initiated the relaunch, and both he and bumsbomber supported us with ideas, remarks and hints during the whole process. Illustrated, that looked like this:


We hope you like our new website and we would also like to encourage you to send us feedback of all kind. If there is something you are still missing or minor hints - it doesn't matter. Just let us know Smiley

Cheers,
the Zero-Projekt

Zero-Projekt - English news: Zero-Projekt special: Armor system

We welcome you to our first special about our cRPG project "ZERO - Was vom Morgen blieb".



Due to the current development status of our project we are finally able to provide detailed informations concerning single aspects of Zero.

In contrast to past news, which were genaralised and lacking detail, this news will focus on a single topic - armor.

Because the text has gotten a bit big, this is only a teaser with a short overview, a few (but nice) pictures and the link to a screencapture (on YouTube or as a file)

Topics of the armor special:

  • How does the armor system in ZERO work?
  • Grouping armor parts
  • Seperation of armors
  • Abrasion of armors
  • Damage types
  • How does the armor protection works?
  • Which kind of armors / armor parts will Zero have?
  • How do the armor modifications work?
  • Does every armor part change the visual appearance of my character?
  • Why is Zero not using animation-overlays?

The armor special can be found on our forums, in the section "Zero infos"

Zitat
Leather coat
Zitat
Leather armor
 
Zitat
Metal armor

Zitat
Combat armor
 
Zitat
Russian combat armor
 
Zitat
German environmental suit

Video of the armor special

<a href="http://www.youtube.com/watch?v=N13zPqPkruA" >http://www.youtube.com/watch?v=N13zPqPkruA</a>


Cheers,
the Zero-Projekt team

Zero Projekt - English news: New tiles, armours – and unicode support!

Wow, the last few days were just ingenious!
It seems that with the snow slowly melting a second spring came along and inspired the team!



Shadowrunner for instance is not far from completing a brand new set of animations for our armor draft. Furthermore, a new concept for the creation of ground tiles via Blender saw the light of the day and we made a lot of progress concerning the demo story.

But not only ZERO benefits from this year's spring - also FIFE's development took new things on. Phoku has just begun a new unicode branch and is not far from completion. Vtchill, Cheesesucker and chewie are caringly looking after improvements for the official editor (just to name a few facts).

That's how it is fun, guys - we're making progress Smiley


Zitat
Light russian armor
 

Zitat
Armored german protective gear

Zitat
Tile transitions directly rendered using Blender

Zitat
FIFE's GUI can now display for example german umlauts thanks to Phokus's unicode support

Cheers to all who made this possible,

the Zero-Projekt team

Zero-Projekt - English news: New tiles, armours – and unicode support!

Wow, the last few days were just ingenious!
It seems that with the snow slowly melting a second spring came along and inspired the team!



Shadowrunner for instance is not far from completing a brand new set of animations for our armor draft. Furthermore, a new concept for the creation of ground tiles via Blender saw the light of the day and we made a lot of progress concerning the demo story.

But not only ZERO benefits from this year's spring - also FIFE's development took new things on. Phoku has just begun a new unicode branch and is not far from completion. Vtchill, Cheesesucker and chewie are caringly looking after improvements for the official editor (just to name a few facts).

That's how it is fun, guys - we're making progress Smiley


Zitat
Light russian armor
 

Zitat
Armored german protective gear

Zitat
Tile transitions directly rendered using Blender

Zitat
FIFE's GUI can now display for example german umlauts thanks to Phokus's unicode support

Cheers to all who made this possible,

the Zero-Projekt team

Zero Projekt - English news: 3 years Zero-Projekt – and we’re still here

Three years ago "ZERO: Was vom Morgen blieb" (at that time Fallout:Zero) was literally raised from the dead.

A lot happened since then and more than one time the team had to learn that there's a lot more needed than plain enthusiasm to develop a game. And even today we're not armed against misguided development and we constantly learn something new each day.

However let's stop this, since noones is really interested in anyways. Here are the hard facts what we did last week - and of course the big "All the best for your third birthday, ZERO!"



Changes
So what has changed since our last news? A lot...

We revamped and changed the whole main plot for the better and adjusted the prehistory accordingly. More than before we tried to achieve even more vitality and a greater replayability. Also the ruleset has been worked on assiduously and we reasonably made some changes in the matter of balancing, some skills have been combined, partially assigned to different skill groups and the armour system has been revised.

In the matter of coding there are also several improvements and innovations. Our drag&drop-system has been rewritten and enhanced and a really persistant bug (which nearly lurked us into going mad and expressed itself in a flawed display of object-tiles) has been corrected thanks to our intensive efforts. However, removing this bug also required huge changes on our object geometry, which forced our graphic artists to rerender every single object and make them fit for the new geometry.
Furthermore our KI-development introduced the agenda-system which provides a great step into the direction we head for. The agenda-system controls the daily routine of every npc dependent on the time of the day. Thus the NPC goes for example hunting, back home, or on patrol (provided he has a patrol route). The agenda always takes action, if the NPC doesn't have anything else to do - thus is not engaged in any actions like fighting or other interactions with the player. And that's the big advantage of this system: it's controlled by parameters. There's no need to write scripts and - simplified expressed - the designers can just klick their way to the required parameters for the agenda. Admittedly the agenda still needs a lot of work. So for example the KI for fights and the fuzzy logic are still missing until the agenda is ready for the game.

Furthermore, the team's prayers for more tools was just answered by our coders - for a short time, Zedit is in development now. Zedit is an in-house development of an editor and is based on the FIFE-core and is meant to close the gap between mapeditor and framework. Both items, NPCs and map metainformation like triggers and dialog trees should be possible to be edited and created later on.

The Demo:
We're still in the middle of developing a playable demo. Unfortunately the whole development drags out pretty much. This has mainly personal reasons. Because of the fact that our team is very small, if a member drops out for a while because of real life this has a devastating impact. Although we try to compensate the deficity it hardly works at the moment. That's why we can't avoid a halt in some areas which leads to a breakdown in development and thus to a temporal postponement.

At the moment by no stretch of imagination we can tell when we'll have a playable demo ready. We just lack the manpower to further our development in a faster way.

If someone wants to support us - we're still searching for capable contributors in all areas of development (coding, graphics, story, quest- and dialog design), who want to participate in the development of ZERO. Who wants to contribute actively can always join our public channel (attainable through the direct link on our website or irc.chatspike.net #zero-projekt)

Screenshots:
Of course we want to present you some new screenshots at this point - and further down you can find moving images Wink

Zitat
A nice version of trinity made by our graphic artist James
Zitat
A test with clouds - they'll possibly just used on the world map as the effect doesn't really work on other maps (the clouds fly too low)
Zitat
Finally our main menu got some advancements too Smiley
Zitat
A few smaller mapobjects placed on tables
Zitat
A small lumberjack camp in the woods
Zitat
Junk - if it can ever be repaired again..? ^^
Zitat
Restructured skill groups
Zitat
Revised building concept - still WiP but you can guess the direction it heads for
Zitat
Dead end, zombie! Here are the ZERO rocks (at the moment of the screenshot we couldn't tile them, but now it works)
Zitat
Some new items for our inventory

As a special delicacy we want to present you a kind of video diary - it contains a lot of screencaptures we took lately.
You can follow the development with these screencaptures and they show several stations of development. The small films are categorized to ensure a better overview.

Note: The screencaptures are in .ogg-format. You can stream them with the VLC mediaplayer plugin for Firefox without downloading them. If you're using IE... that's your own fault. Tongue

You find the screencapture gallery here: http://zero-projekt.net/files/screencaptures/

Despite the lack of manpower and the little objects thrown in our way, we're still on target - even if we couldn't stay on schedule all the time. However this doesn't prevent us from celebrating ZERO's third birthday.
Having said this: Happy Birthday!

Regards,
Zero-Projekt Team

Zero-Projekt - English news: 3 years Zero-Projekt – and we’re still here

Three years ago "ZERO: Was vom Morgen blieb" (at that time Fallout:Zero) was literally raised from the dead.

A lot happened since then and more than one time the team had to learn that there's a lot more needed than plain enthusiasm to develop a game. And even today we're not armed against misguided development and we constantly learn something new each day.

However let's stop this, since noones is really interested in anyways. Here are the hard facts what we did last week - and of course the big "All the best for your third birthday, ZERO!"



Changes
So what has changed since our last news? A lot...

We revamped and changed the whole main plot for the better and adjusted the prehistory accordingly. More than before we tried to achieve even more vitality and a greater replayability. Also the ruleset has been worked on assiduously and we reasonably made some changes in the matter of balancing, some skills have been combined, partially assigned to different skill groups and the armour system has been revised.

In the matter of coding there are also several improvements and innovations. Our drag&drop-system has been rewritten and enhanced and a really persistant bug (which nearly lurked us into going mad and expressed itself in a flawed display of object-tiles) has been corrected thanks to our intensive efforts. However, removing this bug also required huge changes on our object geometry, which forced our graphic artists to rerender every single object and make them fit for the new geometry.
Furthermore our KI-development introduced the agenda-system which provides a great step into the direction we head for. The agenda-system controls the daily routine of every npc dependent on the time of the day. Thus the NPC goes for example hunting, back home, or on patrol (provided he has a patrol route). The agenda always takes action, if the NPC doesn't have anything else to do - thus is not engaged in any actions like fighting or other interactions with the player. And that's the big advantage of this system: it's controlled by parameters. There's no need to write scripts and - simplified expressed - the designers can just klick their way to the required parameters for the agenda. Admittedly the agenda still needs a lot of work. So for example the KI for fights and the fuzzy logic are still missing until the agenda is ready for the game.

Furthermore, the team's prayers for more tools was just answered by our coders - for a short time, Zedit is in development now. Zedit is an in-house development of an editor and is based on the FIFE-core and is meant to close the gap between mapeditor and framework. Both items, NPCs and map metainformation like triggers and dialog trees should be possible to be edited and created later on.

The Demo:
We're still in the middle of developing a playable demo. Unfortunately the whole development drags out pretty much. This has mainly personal reasons. Because of the fact that our team is very small, if a member drops out for a while because of real life this has a devastating impact. Although we try to compensate the deficity it hardly works at the moment. That's why we can't avoid a halt in some areas which leads to a breakdown in development and thus to a temporal postponement.

At the moment by no stretch of imagination we can tell when we'll have a playable demo ready. We just lack the manpower to further our development in a faster way.

If someone wants to support us - we're still searching for capable contributors in all areas of development (coding, graphics, story, quest- and dialog design), who want to participate in the development of ZERO. Who wants to contribute actively can always join our public channel (attainable through the direct link on our website or irc.chatspike.net #zero-projekt)

Screenshots:
Of course we want to present you some new screenshots at this point - and further down you can find moving images Wink

Zitat
A nice version of trinity made by our graphic artist James
Zitat
A test with clouds - they'll possibly just used on the world map as the effect doesn't really work on other maps (the clouds fly too low)
Zitat
Finally our main menu got some advancements too Smiley
Zitat
A few smaller mapobjects placed on tables
Zitat
A small lumberjack camp in the woods
Zitat
Junk - if it can ever be repaired again..? ^^
Zitat
Restructured skill groups
Zitat
Revised building concept - still WiP but you can guess the direction it heads for
Zitat
Dead end, zombie! Here are the ZERO rocks (at the moment of the screenshot we couldn't tile them, but now it works)
Zitat
Some new items for our inventory

As a special delicacy we want to present you a kind of video diary - it contains a lot of screencaptures we took lately.
You can follow the development with these screencaptures and they show several stations of development. The small films are categorized to ensure a better overview.

Note: The screencaptures are in .ogg-format. You can stream them with the VLC mediaplayer plugin for Firefox without downloading them. If you're using IE... that's your own fault. Tongue

You find the screencapture gallery here: http://zero-projekt.net/files/screencaptures/

Despite the lack of manpower and the little objects thrown in our way, we're still on target - even if we couldn't stay on schedule all the time. However this doesn't prevent us from celebrating ZERO's third birthday.
Having said this: Happy Birthday!

Regards,
Zero-Projekt Team

Zero Projekt - English news: If you enter a building….

...loot it! Zero now has locked containers, which you can open - if you have the proper skill and pass the skill check.

Here is a screencapture how this works for now:

Furthermore, we made some improvements on the GUI:
  • the inventory now has a hover effect if you move the cursor upon an armorslot. The character wire on the right sight indicates which area of the body is affected if you place the proper armor item into this slot
  • the layout of the charscreen has been improved
  • both the EiRi and the HUD have been improved in terms of the textures and the 3D modells

Besides the visual changes, the programmers are of course hard-working to fix bugs both in our framework and FIFE itself - as well as improving both and developing new features. (e. g. particle system for FIFE, increasing performance etc.)

Zitat
The new hover effects for armorslots, here: bodyarmor
Zitat
The new hover effects for armorslots, here: bracers
Zitat
Test of a first "complete" building with tiled walls - including a front- and backside and some established objects
Zitat
Improved layout for the charscreen, better look for both EiRi and HUD in general

Regards,
The Zero-Projekt team

Zero Projekt - English news: Yet another news update…

Time for yet another news update about "Zero - Was vom Morgen blieb" Smiley

About entering buildings...
Up to now, the buildings in Zero weren't accessible by design. By creating tiled walls, we changed this now. Btw - our developers agreed to not use a system which introduces loading times if you enter a building. They said this would the worst thing you can do to the players.



Fight, loot, allocate
After hardening the item system, we introduced lootable containers (which happen to be dead npcs, too ;-) ). This adds a lot more fun to the available gameplay, though. Smiley









Welcome on board, Tor Smiley
Again, we are able to introduce a new teammember of Zero. Tor - a skilled role player who also works as game master for Fallout PnPs - is reinforcing our story and gameplay department.