Schlachtfeld

Der Stafflerblog von Warzone2100.de

15.05.2008

Developer interview #3 – Per

Filed under: English,Miscellaneous von Kreuvf um 09:15:20

After the last interview with EvilGuru I planned the next interview to be held after the release of 2.1. Unfortunately the release delayed and after some hints I decided to have another interview, this time with Per.

He did a Master in Philosophy and works as a system developer at a company that produces medical devices. Besides his participation in the WRP his hobbies are reading books, doing sports and playing board games.

Kreuvf: How did you find Warzone 2100 and since when are you part of the team of the Warzone Resurrection Project?
Per: I did play the original Warzone with some friends in 1999 or so, but was never really involved with any WZ community until after the source was released. I co-founded the WRP with rodzilla and I also was part of the redev effort or whatever its name was.

Kreuvf: And what was your motivation for founding those projects and/or taking part in them?
Per: It sounded like fun. I usually play games with other people, not by myself – I still haven’t completed the campaign from start to finish – and Warzone was one of the games we had a lot of fun with in our LAN gaming group.

Kreuvf: With your motivation being fun what were your personal goals for warzone?
Per: A solid network play: No crashes or out-of-sync issues. That’s priority number one. Improving path-finding and graphics would perhaps be the second.

I’d love to see more cloak and daggers type tactics in the game. I usually play the sneaky bastard side in RTS and RPG games and I find it rather unfortunate that there is only one side to choose from in Warzone, unlike games like Starcraft and Dune 2 and almost all the other RTS games.

One thing I have been working on is support for cloaking and electronic counter-measures to block sensors.

Kreuvf: How far did you get with it?
Per: I have some experimental code, but I have postponed work on it until after 2.1 and some other, more important work is done, like multi-threaded path-finding and a new savegame format.

Kreuvf: Most of the readers perhaps don’t understand what multi-threaded path-finding means and what it is good for. Could you explain that?
Per: Yes, I’ll do that. Modern computers now often ship with two (or more) processors. In old school games like Warzone, however, you run the entire game on a single processor. If you split out heavy work like path-finding into its own thread, you can utilise your other processor to do that work instead, freeing more capacity on the first processor. That way the game should run smoother and faster. And there should be less delay between when you issue an order to go somewhere and when it actually starts to go there. In games with lots of units and lots of things going on, you can experience often significant (several seconds) delay now.

Kreuvf: Oh yeah, I know this and it’s quite annoying. So it’s about multiple cores then?
Per: It is not only about multiple cores, actually. The code is also written in a way that allows you to utilise your processor better, even if you just have one. So all users should experience faster path-finding.

Kreuvf: So we can expect better path-finding and better performance of the path-finding in future releases? If yes, does this include 2.1 as well?
Per: I do not think we want to push this into 2.1. Writing threaded code is difficult and it is very easy to make hard to find and hard to debug errors in it. So for stability and testing reasons it doesn’t make it for 2.1.

Kreuvf: You are mentioning stability. Unfortunately past releases not always have been as stable as users may have wished them to be. Anything new on the quality front?
Per: Yes, past releases have not always been very stable and we wish to change that. One of the things we have been working on is adding unit testing and finding other ways to continually improve code quality. We have spent a lot of time improving things „under the hood“ and I think that will start to pay off in a big way in future releases as it becomes easier to make changes and easier to find bugs.

Kreuvf: Besides the changes „under the hood“ there are many others incorporated into 2.1 – what is your No. 1 feature in 2.1?
Per: Multiplayer stability is definitely #1, with the game balance fixes in a good #2.

Kreuvf: And what annoys you most when developing for Warzone 2100?
Per: What annoys me most? Hmm. Bugs! ;)

Kreuvf: One final thing: You have a Master in Philosophy which makes me curious about your favourite philosopher, if you have one.
Per: Oh, there are so many to like, but my favourite would definitely be Immanuel Kant.

Kreuvf: Okay then. Thank you for the interview, Per.
Per: You are most welcome.

Comment on this (board-account necessary)

28.12.2007

Developer interview #2 – Freddie Witherden

Filed under: English,Miscellaneous von Kreuvf um 14:02:42

After the special interview with DevUrandom it’s time for another developer interview, this time with EvilGuru whose real name is Freddie Witherden. He’s 17 years old and is living in the UK. Currently he is studying Physics, Chemistry and Maths at post-16 level and hopes to go on to study Physics at Imperial College London.

Kreuvf: First question will always stay the same: How did you find Warzone 2100 and since when are you part of the team of the Warzone Resurrection Project?
EvilGuru: I found the project back in June (or was it May?) 2007, when I was bored one afternoon. However, I have been playing Warzone for a lot longer. I first got it for the PSX back in 1999 (just after it came out) after reading a positive review of it in a PSX magazine. Later in 2004 I finally got the PC version of the game and kept with it until around January.
Kreuvf: So it was a logical step for you to participate in the WRP?
EvilGuru: Yes. Back in 2004 I was quite new to computers and unable to program/participate, however when I rediscovered the game earlier this year (2007) I was a lot more adept. After finding the WRP and downloading it I quickly also found the IRC channel where I was given a warm welcome.

Being in contact with the developers gave me the encouragement I needed to go from a player to an (amateur) contributor. My first patch was a modification to the experience system, whereby experience is rewarded for damage as opposed to kills, which seems to be very popular with the community.
Kreuvf: When looking at the features that definitely come with 2.1 what would you say is your No. 1-feature, if you have one?
EvilGuru: Definitely the cross platform networking code, that for the first time allows for Linux/Mac/Windows users to play each other. This is more important than ever in the 2.1 release due to the addition of 64-bit support.
Kreuvf: How has the bandwidth you need to play Warzone 2100 changed with the new netcode?
EvilGuru: It should be exactly the same as with the previous netcode, a bit more in some places, a bit less in others. However, Warzone’s network code it extremely efficient. A 4 player game (two humans, two AIs) even in the midst of battle only requires around 1.4 KiB/s. This makes the game very playable even on dial-up connections.
Kreuvf: In the interview with Giel internationalisation was mentioned. How much of the i18n-stuff is done by now? And will 2.1 ship with several language-files or will it be in English only?
EvilGuru: The new text rendering system is now completely integrated into Warzone. So all that remains is to touch up the language files. Luckily many of the developers are bi-lingual and so I do not foresee any problems with i18n.
Kreuvf: What other contributions to the project did you make since you joined?
EvilGuru: I added a new video options menu which allows for changing of resolution, setting fullscreen/windowed mode from within Warzone so you do not need to edit a config file.

Also there is a lock cursor mode which makes the game playable in windowed mode as the cursor stays in the window when the game is not paused. And for lower end systems I added the ability to change the texture size so those systems should get a much better experience as now you can play in a window with smaller textures and hopefully get better performance.

I have been very active on the balance/gameplay side of things — trying to make the game more tactical and fair. One of the things I am very big on is experience and so most of my work has been focussed there.

First of all I introduced the partial kills system so it is easier to level up. Previously a unit only got a ‚kill‘ when it killed something. I, however, was not a fan of this, as if a Lancer takes another unit down to 5% HP, but while it is reloading a cyborg fires a few shots its way and kills it the cyborg will get the kill. With the partial kills system you get kills for what you do. So with the new system the lancer unit in the above example would have .95 kills and the cyborg .05 kills.

More recently this has been augmented by a ‚quality factor‘ system. So if an expensive/high HP unit kills a cheaper/weaker unit it will gain less experience than if the case was reversed.

However, I am not stopping there! Now that the level-up system is ‚fair‘ for the most part I plan to make experience have a greater effect on the outcome of battles. This includes making more experience units more accurate and dealing out more damage; while currently experience only reduces the amount of damage a unit takes when it is hit.

Furthermore I am also working on the recycling system. Currently I feel it is an under-used and under-rated feature of the game. So in order to make it more useful I have made it so that recycling old units will make newer units build faster. Of course there are some checks and safe-guards to prevent it from being exploited.
Kreuvf: So all in all people will have more resources for production when they recycle which of course will heat up battles a lot.
EvilGuru: Yes, a player who recycles will be able to churn out his army faster, quicker (less power required) and it will be experienced out of the box. It should make battle more tactical, as it is more important than ever to preserve your units and on the flip side not give your opponent ‚free‘ experience.
Kreuvf: Did you change anything regarding the experience stack? Can you assign a rank to a unit or has nothing changed in that matter so you still have the highest/best rank for the first produced unit?
EvilGuru: It still picks the highest first. The reason for not changing this was because it would add both another level of complication that one does not need in the middle of a heated battle.
Kreuvf: Okay, that was my last question then, EvilGuru, and I’d to thank you for this interview.
EvilGuru: Thank you!

Comment on this article (requires board-account)

08.10.2007

Special interview #1: Warzone 2100 2.1

Filed under: Development,English von Kreuvf um 16:10:09

As announced in the board I had an interview with DevUrandom about the upcoming version 2.1 of Warzone 2100. First some facts about DevUrandom, then the interview:
Currently he is studying mathematics and computer science in Germany. In his freetime he does sports and is interested in the middle ages.

His first contact with WZ was on the 8th of July, 2005, which also was the day he touched the source-code for the first time. Back then the name was Warzone ReDev and the source-code was hosted at BerliOS. Version 0.1 had been announced on LinuxGames.com and Linux-Gamers.net two weeks prior to DevUrandom immerging into the world of Warzone. He was immediately fascinated by it (it was the only realtime strategy game for Linux he knew of at that time) and the way to design own vehicles by assembling parts reminded him of his all-time-favorite turn-based strategy game Sid Meier’s Alpha Centauri.
Some days later his commitment to Warzone started with a huge wishlist and a few weeks afterwards he was involved with the project.

Since then he worked on many parts of Warzone. Currently he is responsible for creating releases (compiling installers, source-code tarballs, announcing on various game sites and notifying Linux distributions).

Some people confuse him with a project leader, which he is not. The core team works fully democratic and those who are considered „experts“ in the area in question are usually getting paid the most attention, with a slight focus on the „older“ members. However, the final decision goes to the person actually doing the work.

Kreuvf: Good day, DevUrandom, nice to have you here today. As you already know I am about to ask you certain questions regarding the upcoming version 2.1 of Warzone 2100.
DevUrandom: Sure, go on.

Kreuvf: The version is scheduled for x-mas 2007 and it was announced as a network-release. Could you explain what that means in detail?
DevUrandom: We want to get 2.1 out roughly at the end of the year. We don’t guarantee that it will be ready to lie under your christmas tree (or however you celebrate christmas, if at all), but that is the target we aim at. The main „feature“ is to get the networking stable on and between all systems, hence the name.

Therefore we will replace the underlying network code with something that is not so prone to differences which may arrise from using different operating systems and 32bit/64bit systems. That system (the author calls it „netprimitives“) is to large parts written by Freddie Witherden (EvilGuru) and currently being merged into Warzone.

Kreuvf: So you will actually be able to have a match vs. someone who uses Linux, someone who uses Mac OS X and someone who uses Windows without any problems?
DevUrandom: That is the goal, yes. As we follow a development model which makes the game more and more stable as the patch version increases, it may not be optimal at 2.1.0, but we always do our best to deliver the best possible gaming experience.

Sidenote on Warzone versioning: 2.1.0 -> major version = 2, minor version = 1, patch version = 0. Major version increases happen only very very seldomly when something really groundbreaking is changed. Minor version may also be called feature version: We include new features into those. Patch version, aka bugfix versions are only intended to fix bugs.

Kreuvf: Besides the changes on the net-code, what other changes are scheduled for 2.1? And how will those changes affect the minimum requirements for Warzone 2100?
DevUrandom: What is already done:

  • AIVolution by Troman: An enhanced AI with learning capabilites.
  • Multiturrets by Watermelon: Droids (which is how Warzone calls the units) can have multiple turrets instead of just one. Think of it like a tank: It has a cannon for long distance shooting on armored vehicles and an MG for close range defense against soft targets.
  • Improved AI target selection (afaik Troman+Watermelon): Droids should select the targets they attack more intelligently.
  • Collision-based hit-system by Watermelon: If a target is hit by a projectile or not is no longer predicted by a dice system. Instead the projectiles really damage only the target which they hit. If the unit that was fired at moves away while the projectile is in flight, it won’t be damaged anymore as it is not hit.
  • The scripting language was enhanced by Troman. It now supports strings, functions with local variables and and and…
  • A system which provides the ability to assign armor to each side of a droid (as opposed to the droid as a whole) was written by Watermelon. This means that you could have tanks which are weakly armored on the top and behind, but very strong on the front. This should support mods with higher focus on tactics. (It is not yet used in Warzone itself.)

Besides the netcode, I am currently working/testing different things with graphics, of which one is a rewritten terrain renderer and another is TrueType fonts. The renderer is a lot in flux currently and techniques of rendering are tried and thrown away a lot, so it may not be ready for the freeze (testing period before the release) and thus not 2.1, even though I try my best.
As the TrueType fonts may be very useful for translations (you can theoretically support every language), I am focussing on that now. (And it is a little bit easier to implement as well, since there are not 1001 ways of doing it.) (Editor’s note: interview was held on 23rd Sep. 2007 and TrueType has by date of publication been implemented by Giel using QuesoGLC) Which brings me to another major change not mentioned yet: NLS (Native Language Support)

If you have tried the current snapshots (or been watching the mailinglist or svn/trunk), you may already have noticed the option „NLS“ in the component selection. It means that now it is [should be] possible to translate Warzone to virtually every language and have users select which language they want while Warzone runs. Before every piece of text in the menus was hardcoded in the executable and things like unit descriptions, mission briefings came in lots of textfiles. Now the strings are all in one location and can be translated more easily. You don’t have to reinstall Warzone to change the language.

Requirements: The new hitsystem may be slightly more demanding on the CPU, but I doubt you will notice that. The rendering techniques for the terrain renderer are too much changing at the moment as that I could give any estimate on that.

Generally we try to support as many people as possible and reasonable. So there won’t be a return of the software renderer and if you have something on par with a Radeon or GeForce card you should be on the safe side. If the renderer makes it in time, Vertex Arrays (VA) will definitely be required, but even TNT grade cards support that as far as I know.

Kreuvf: Wow, that’s overwhelming. That enhanced AI by Troman: In what way will it be „enhanced“? Will it make better tactic-decisions and how does the learning take place?
DevUrandom: You better ask Troman himself about this. I can tell you that it was rewritten from ground up and that it can remember where you attack it usually and with which weapons, so that it can build better defenses against you the next time.

Kreuvf: So the learning does not imply inter-game-learning, it’s more like match-restricted learning – the AI learns for one match and doesn’t save anything?
DevUrandom: No, I think it saves per-map data so it can gain advantage from earlier games and improve its tactics over multiple sessions. What I definitely know is that messing with it is a tough task, even for more experienced players.

Kreuvf: Sounds like a tougher AI – something people have looked for since Warzone’s initial release in 1999.

I want to come to my last topic for today: Balancing. As you most probably know I am a balance-fanatic and all those changes seem, to me, to affect the overall-balancing alot. The question now is: How noticeable regarding the balancing are those changes, e.g. are some weapons that were weak before strong now?
DevUrandom: Especially the hitsystem affects balancing a lot. Long range attacks or shooting on fast moving targets can be quite inaccurate now. The latter applies e.g. to VTOLs, which became quite hard to hit. This was compensated by bigger hitboxes (you may know that from games like Counter-Strike), to make the effect less visible. Long range artillery may also have some problems now. We will try to compensate for that till the release and tune balancing during the 2.1 release cycle and for 2.2 (which is targeted summer next year). But long range shots and shots on fast targets will definitely be harder than before. This should bring in more tactics and help smaller but faster units, like Cyborgs.

Note: I am not too much involved with balancing or playing and neither do I play since the beginning, so take my answer with caution.

Kreuvf: Okay, DevUrandom. Thank you very much for this interview and for exhaustingly answering all the questions.
DevUrandom: You are welcome.

Comment on this article (requires board-account)

06.08.2007

Developer interview #1 – Giel van Schijndel

Filed under: English,Miscellaneous von Kreuvf um 19:57:03

More than two months ago I asked the German community to submit questions for developer-interviews. And with those question in my pocket I did my first interview with a developer of Warzone 2100 GPL.

This first developer-interview has been conducted with Giel van Schijndel. He is 19 years old, lives in the Netherlands and describes himself as "programming-addicted". He just finished his degree in food-technology and is now starting with computer engineering.

Kreuvf: What’s probably the interesting thing is: How did you find Warzone 2100 and since when are you part of the team of the Warzone Resurrection Project?
Giel: Well, I found Warzone itself in a toy store; as for how I found this „resurrection project“ I don’t remember anymore. But I started programming on it around November/December 2006.
Kreuvf: What is your main intention when working on Warzone 2100? In other words: What’s your motivation to work on Warzone 2100?
Giel: Well some goals are: making the code very clean (up to beautiful, if possible), also making the game very mod-friendly is a favourite of mine.
I’m currently working on re-implementing the sound-library (the current implementation is rather flawed), adding UTF-8 support, adding font rendering support.
And EditWorld, we shouldn’t forget that; I’m busy on making it work on other platforms than just Windows currently.
Kreuvf: Version 2.1 is scheduled for Christmas 2007 and we can expect lots of new things. But what is your No. 1-feature of 2.1?
Giel: Although I don’t really have a personal No. 1, I would say UTF-8 and general multi-language support.
Kreuvf: Which brings us straight to the next topic: Internationalisation. People from the German community want to know, if currently somebody of the WRP is working on complete translations of all texts in-game and if there will be translated voice-files as well in the future.
Giel: Well, I (and some others) are currently working on making internationalisation (aka i18n) support better. That way it will be possible to translate most of the in-game texts. As for German: I think very large portions of Warzone’s texts already have been translated into German.
Kreuvf: How would one contribute a translation? Are there any special programs one would need in order to do the translation?
Giel: Currently we use „GNU gettext“ to add translation support. Most of those gettext-files (they’re called translation catalogs) can be edited by poEdit, which is a GUI for translators. Then, when you have created/edited/updated a translation file, you can send it to the mailing-list and we’ll add it to the translations.
Kreuvf: Sounds quite easy to me :D
Giel: It is, and should be easy.
Kreuvf: Okay, that was my last question, Giel. So: Thank you for this interview.
Giel: Happy to be of assistance.

German translation of this interview

Comment on this article (requires a board-account)

27.11.2006

New design for old stuff (1)

Filed under: Development,English von Kreuvf um 22:16:52

Today I thought about how warzone looks like for someone who never played it before. With the ‚look‘ I mean the design and presentation of data in-game.

Animation of a full 1.10 building listSo I think you all know the construction menu. On the right is a full animation of all eight tabs you can/must click through to find a specific building. For those who played warzone a hundred times already there’s nothing new to this and you know that the fortresses can be found on the last tab or last two tabs. But how does this look like for a newbie? For someone who never played warzone before? For someone who is used to comfortably arranged and sorted construction menus? In one word: confusing.

As I think that it’s one of the aims of the future development of warzone to make the game more newbie-friendly one of the main problems is the construction menu. And I have an idea for a solution to this problem.

The game internally distinguishes between different structure types and the idea is to make this distinction visible in-game.

Explanation

On the top you don’t have the tabs anymore, at least not as the first ‚level‘. Instead there are buttons indicating the structure-category. Clicking one of these buttons may lead to a second level of buttons. Perhaps the category-tree then looks like this:

  • Base Structures
    • Energy Management
      • Power Generator
      • Power Generator Module
      • Oil Derrick
    • General Base Structures
      • Command Center
      • Commando Relais
      • Research Center
      • Research Center Module
    • Production and Repair
      • Factory
      • VTOL Factory
      • Factory Module
      • Cyborg Factory
      • Repair Facility
      • VTOL Rearming Pad
  • Defense Structures
    • Intelligence
      • Hardened Sensor Tower
      • CB Tower
      • VTOL Strike Tower
      • VTOL CB Tower
      • Wide Spectrum Tower
      • Satellite Uplink Center
    • Artillery
      • Bombard Pit
      • Pepperpot Pit
      • Incenediary Mortar Pit
      • EMP Mortar Pit
      • Ground Shaker Emplacement
      • Hellstorm Emplacement
      • Incenediary Howitzer Emplacement
      • Angel Missile Emplacement
      • Archangel Missile Emplacement
    • Bunkers and Emplacements
      • Rotary MG Bunker
      • Lancer Bunker
      • Tank Killer Emplacement
      • Inferno Emplacement
      • Plasmite Flamer Emplacement
      • HPV Cannon Emplacement
      • Twin Assault Cannon Emplacement
      • Railgun Emplacement
      • Gauss Cannon Emplacement
      • Flashlight Emplacement
      • Pulse Laser Emplacement
      • Heavy Laser Emplacement
      • Plasma Cannon Emplacement
    • AA Structures
      • Cyclone AA Site
      • Whirlwind AA Site
      • Vindicator SAM Site
      • Stormbringer AA Laser Site
      • Assault Gun Hardpoint
      • Twin Assault Gun Hardpoint
      • Cyclone Hardpoint
      • Whirlwind Hardpoint
      • Avenger Hardpoint
      • Vindicator Hardpoint
      • Heavy Rocket Bastion
    • Hardpoints and Towers
      • Assault Gun Hardpoint
      • Twin Assault Gun Hardpoint
      • Tank Killer Hardpoint
      • Scourge Missile Hardpoint
      • Assault Cannon Hardpoint
      • HPV Cannon Hardpoint
      • Heavy Cannon Hardpoint
      • Railgun Hardpoint
      • Gauss Cannon Hardpoint
      • Flashlight Hardpoint
      • EMP Cannon Hardpoint
      • Mini-pod Rocket Guard Tower
      • Scourge Missile Tower
      • Needle Gun Tower
    • Special Defense Structures
      • Nexus-Link Tower
      • Laser Satellite Command Post
      • Cannon Fortress
      • Mass Driver Fortress
      • Missile Fortress
      • Heavy Rocket Bastion

The ‚demolish structure‘ (which is an own structure internally) is shown on every page. ‚Wall‘ and ‚Tank Trap‘ are shown on every page of the Defense Structures. As you may notice some structures are in more than one category.

My hope is that these categories will make it into the game at some point in the future. To preserve the feeling of the original warzone this should be an on- and off-turnable feature.

Comment on this (board-account neccessary)

« Vorherige Seite