Schlachtfeld

Der Stafflerblog von Warzone2100.de

09.08.2008

Developer interview #4 – Buginator

Filed under: English,Miscellaneous von Kreuvf um 09:08:31

Buginator thinks that personal information is irrelevant, that is why it is excluded. If you look up his ’name‘ on Gna, it is ‚bugs buggy‘ which is a play on words for ‚bugs bug me‘.

Kreuvf: How did you find Warzone 2100 and since when are you part of the team of the Warzone 2100 Resurrection Project?
Buginator: I have been lurking around Warzone 2100 for awhile, I don’t really recall the exact date. It has been awhile though. As for when I started to be part of the team, if you mean started to submit patches, then a long time ago. I forgot the exact date for that also. If you mean as a ‚official‘ member of the Warzone 2100 Resurrection Project, then that is today (1st August 2008).

Kreuvf: Today? So you really officially joined today? If so, that is some nice coincidence. Did you decide to become an official developer just today or were there any other things that prevented you from becoming an official member?
Buginator: The only reason I became an ‚official‘ developer was to access SVN myself, and not having to keep nagging the other guys to apply my patches.

I was unofficial for awhile. The reason behind that was, I wanted to stay neutral between the two Warzone groups. However, one group did not release the code to the public yet, and so the choice was made for me more or less. Of course, there is lots of other stuff that went on ‚behind the scenes‘, that I left out. :) It would make for a good ’soap opera‘ (or perhaps a comedy?) though. ;)

I really think it is better to have all the source code and everything else available from day one. This is the way Pumpkin did it, and I firmly think that is the way to go. I don’t like the idea of working ‚behind closed doors‘, for an open sourced project.

Kreuvf: What do you think is a major disadvantage of working behind closed doors? And what do you think is the major advantage – as they surely did not choose to work behind closed doors just for fun?
Buginator: If you want to be secretive, then well, you get your wish. Nobody outside the group will know what you are doing, and nobody will (can) look at the source code, so you can’t expect help that way. That is a HUGE disadvantage. With this project, everything is open, and you can look at everything from day one. The only advantage I can think of, at this time, is that you don’t want others to know what you are doing. You can think of it like Duke-nuke’em Forever. That game will come out one of these days, but so far, it is vaporware. That is also why I was in a bind, since I could have also joined the other group, and seen the source code, but then, if one of my patches just happens to be like something they have already in the codebase, I would be accused of ’stealing‘. That is something I wanted to avoid, and that is one of the main reasons why I didn’t join up with the other group.

Kreuvf: We will stay tuned to that project nonetheless. Another topic: Now that you have commit-access you will – for sure – commit stuff. What are the main areas of the source code you are planning to work on?
Buginator: I don’t think there will be one area of the codebase that I will not touch at some point. :)

Kreuvf: So your name is an indicator for what you will be doing mainly?
Buginator: Not really. While I did lots of bug patches before, that was just because I wanted to play the game, and it was buggy and missing some of the features I want in a RTS. I don’t plan on only fixing bugs – that is REALLY boring.

Kreuvf: So, what is the feature you are keen on implementing most?
Buginator: At this time? Hmm. There is no one specific feature, I just go by what I don’t like, and how can I improve it. A very small example of this is the little tabs you see in the debug menu structure/unit button. I thought it was silly to limit to only 70 (or was it 80?) items in the list, so I basically made it so I don’t have to deal with those limitations.

Kreuvf: With 2.1 coming nearer and nearer: Which of the features of 2.1 are your favorites?
Buginator: To be honest, I don’t really know what is in the official 2.1. I don’t really play betas much, and usually stick to trunk. Guess I will have to check what made it into ‚2.1‘, and what didn’t. Then again, I don’t really have one favorite feature. Though, less bugs would be a feature I would like. :)

Kreuvf: So your philosophy of working on Warzone 2100 is that whatever seems wrong or should be fixed is changed by you?
Buginator: Not just by me, I think the rest of the members do that as well.

However, I usually ask in the forums about major changes (or even minor ones), so I can at least get some feedback. Lots of stuff is being held back because of the hardware people are using to play the game on. I wish everyone could upgrade to hardware that was made in the last few years, and also, wish the driver writers would release decent drivers for their hardware. Intel’s integrated gfx is bad enough as it is, but they seem to have even crappier drivers. Don’t even get me started on VIA/S3. People, stop buying crappy laptops with crappy chipsets, and expect the game to work on those! Argh!

Kreuvf: How much time do you spend actually playing Warzone 2100? And when you play, do you more or less actively search for bugs?
Buginator: That depends. If I am bored, then I play a bit. If I find a bug while playing, I tend to see if I can find a fix. I do read bug reports, but as I said before, hunting for bugs tends to get boring.

I also don’t really have the time to play the game properly (as in a full MP game, or a full campaign game start from the beginning, and going to the end, WITHOUT CHEATS!). That is why we need people to play for the developers, so we can know what works, and what don’t – and once they do find an issue, then they really need to start posting in the bug tracker. They can post about it in the forums, so they can see if anyone has the same issue, but it is much better to use the ‚official‘ method.

Kreuvf: How long do you think will you, the WRP, need in order to release 2.1.0? And what are the currently blocking bugs that make a release impossible?
Buginator: That is a good question. I don’t really stick to major/minor releases, since I work mainly from trunk. Which is the active development branch. Looking at some bug reports, we do (and I guess always will) have bugs.

What people don’t seem to realise is that the state of the code that Pumpkin released was more or less filled with bugs. Lots of them. Not all of them are apparent to everyone, but they are still there. This project made some of those bugs much more visible by changing the design of the program (like removing memory pools), and some other changes, but overall, the changes they have made were to make Warzone 2100 a better Warzone 2100.

I would rather see many more releases, then waiting for months between releases. As I said, the developers can only test so much, and things can and do slip by. If people want a more stable game, then start playing, and report those bugs – with all the information about said bug as you can possibly remember!

Sorry, got sidetracked a bit. To your original question of when will 2.1 be released, I dunno. It is always available to anyone who wants it, just without the ‚2.1‘ moniker on it. Remember, this is an open project, and people can get the latest & greatest whenever they want. They just need to compile it, or use one of the nightly builds that are available for Windows users (maybe Mac builds as well, if someone is up to the job of doing them – <HINT>we need Mac maintainer(s)!</HINT>).

Kreuvf: And what annoys you most when developing for Warzone 2100?
Buginator: The same issues that are present in most open source projects. There really is no leader, nor can there really be one, since most people are NOT paid for their skills, and they choose to do this on their own free time. Which can make it somewhat difficult at times to get things done, the way you would normally get things done.

Kreuvf: Could you give an example? Does not need to be WRP related.
Buginator: Well, in normal project, you have people working for you, and you have set goals. Like if you are building a house, you got a blueprint, and everyone follows that, and has specific task to do. If you don’t follow the plan, then you better have a good excuse, or you will get fired/sued or whatever.

In an open source project, people do what they want, and you can’t really force anyone to do what they don’t want. (Well, I take that back, you can force them, but I highly doubt they will stick around much longer. It doesn’t pay to be a jerk about how/what people can contribute, at least not without some hurt feelings involved. That being said, it also isn’t wise to allow just any code/gfx/whatever to be integrated into the project without at least some testing/discussion. It is a fine line between keeping everyone happy, or pissing them off.)

There is still a kind of a blueprint, (everyone has the same goal, to make the game better) but then you got people that keep adding/removing and even changing stuff that was just done. Sometimes this works out great, other times, it don’t, and usually, the developers don’t have time to test every nuance of the change, which just leads to another bug. Yeah, this is vastly over simplified, but oh well.

Kreuvf: So the driving force ‚money‘ is missing, right?
Buginator: Not really money, it is more of an attitude I think. It mainly depends on the person involved, and their motivation, and of course, how much time they can dedicate to the project. Kinda hard to juggle everything between real life stuff, and the project(s) they are working on, and people tend to ‚burn out‘ sometimes.

Kreuvf: Okay, that was my last question and I’d like to thank you very much for the interview, Buginator.
Buginator: meh. :) Ok… ok… your welcome.

Comment on this (board-account necessary)

06.08.2008

Änderungen im Board

Filed under: Deutsch von Kreuvf um 10:45:14

Es gibt im Board für den Durchschnittsuser genau zwei Boardkategorien: Boards zur Seite (bis eben noch „Warzone2100.de-Boards“) und Boards zum Spiel (bis eben noch „Warzone 2100-Boards“). Die Umbenennung war nötig, da es neuen Mitgliedern regelmäßig schwer gefallen ist das richtige Board auszuwählen und somit z. B. Themen, die im Commandertreff besser aufgehoben sind, ins Sonstige-Board der Kategorie „Boards zur Seite“ landeten.

Zudem spiele ich mit dem Gedanken das Development-Board zu schließen und ins Archiv zu verschieben und das aus zwei Gründen: Zum einen können wir hier sowieso keinerlei Support leisten, was die Entwicklung beim WRP angeht, da uns einfach die Fachkenntnis fehlt und man sich in diesem Fall eben an die Entwickler wenden muss. Zum anderen wurde das letzte neue Thema dort im Jahre 2007 erstellt, was man auch darauf zurückführen könnte, dass es von unserer Seite dort eben keine großartige Hilfe gibt und geben kann.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

25.05.2008

Warzone 2100 GPL 2.1-Beta 3 im Anmarsch

Filed under: Deutsch,Entwicklung von Kreuvf um 18:10:22

Eigentlich hätte die Beta 3 ja schon längst veröffentlicht werden sollen, aber dann wurden kurz vor der geplanten Veröffentlichung doch noch schwere Bugs gefunden, weshalb sich die Veröffentlichung immer weiter hingezogen hat. Und niemand hätte etwas von einer Beta mit schweren Bugs, die den Leuten den Spielspaß nehmen und damit für weniger Tests sorgen würde.

Nun lässt sich allerdings aus den Entwicklerreihen vernehmen, dass mit dem vollzogenen Serverumzug bei wz2100.net auch die dritte Betaversion erscheinen soll. Nicht gleichzeitig, aber ich schätze, dass es innerhalb gut einer Woche so weit sein dürfte. Wir dürfen also gespannt sein.

Update 28.05.2008: Wie es scheint ist die Beta 3 wirklich nicht mehr weit weg wie die Statusseite von wz2100.net derzeit verbreitet:

Server Movement
[…] However, we aren’t finished with our server-move yet… so pleace be patient, it should be done within the next two days.

Maybe the Beta3 isn’t that far anymore :)

Serverumzug
[…] Wir sind allerdings noch nicht fertig mit dem Serverumzug… also seid bitte geduldig, in den nächsten zwei Tagen sollte das abgeschlossen sein.

Vielleicht ist die Beta 3 nicht mehr so weit weg :)

Deutsche Übersetzung von mir. Original aus den WRP-Foren

Update 06.06.2008: Wenn ich die Zeichen richtig zu deuten weiß, dann ist eines der letzten Blocker für eine dritte Beta (ließ sich nicht für Mac erstellen) so gut wie gelöst. Für den Entwicklerzweig lassen sich nun wieder Mac-Builds erstellen, es muss nur noch die 2.1 nachziehen. Der Grund: Es mangelt an Entwicklern/Testern, die mit dem Mac entwickeln/testen. Ich könnte mir vorstellen, dass wir dieses Wochenende die dritte Beta sehen.

Update 10.06.2008: Nachdem über das Wochenende einige Probeversionen hochgeladen wurden, die allerdings auch Beta 3 genannt wurden, gab es erste Verbesserungen am Zusammenspiel zwischen Mac OS X und anderen Betriebssystemen. Ein Entwickler mutmaßt, dass wir dann am kommenden Wochenende – endlich – eine fertige dritte Beta in den Händen halten könnten.

Update 12.07.2008: Es wird keine Beta 3 geben, stattdessen wird mit einer vierten Beta weitergemacht.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

15.05.2008

Entwicklerinterview #3 – Per

Filed under: Deutsch,Sonstiges von Kreuvf um 09:15:23

Nach dem vorherigen Interview mit EvilGuru hatte ich das nächste Interview erst für die Zeit nach dem Release von 2.1 geplant. Leider verzögerte sich die Veröffentlichung und nach einigen Hinweisen habe ich mich dazu entschlossen ein weiteres Interview zu führen, dieses Mal mit Per.

Er hat einen Master in Philosophie und arbeitet als Systementwickler bei einer Firma, die medizinische Geräte herstellt. Neben seiner Teilnahme am WRP umfassen seine Hobbies das Lesen von Büchern, Sport und Brettspiele.

Kreuvf: Wie hast du zu Warzone 2100 gefunden und seit wann bist du Teil der Warzone Resurrection Project-Gruppe?
Per: Ich habe 1999 oder so das Original-Warzone mit einigen Freunden gespielt, war aber niemals wirklich in irgendeiner WZ-Community aktiv bis nach der Veröffentlichung des Quelltexts. Ich habe das WRP mit rodzilla gegründet und habe mich auch am redev-Projekt oder wie es auch immer hieß beteiligt.

Kreuvf: Und was hat dich dazu motiviert diese Projekte zu gründen und/oder an ihnen teilzunehmen?
Per: Es hat sich nach Spaß angehört. Normalerweise spiele ich Spiele mit anderen Leuten, nicht alleine – ich habe die Kampagne immer noch nicht von Anfang bis Ende durch – und Warzone war eines der ersten Spiele, das in unserer LAN-Spielergruppe für sehr viel Spaß gesorgt hat.

Kreuvf: Was waren deine persönlichen Ziele für Warzone, wenn man betrachtet, dass deine Motivation der Spaß ist?
Per: Ein solides Netzwerkspiel: Keine Abstürze und keine Synchronisationsprobleme. Das hat oberste Priorität. Die Wegsuche und Grafik zu verbessern dürfte auf dem zweiten Platz liegen.

Ich würde sehr gern Taktiken im Spiel haben, die auf versteckten Operationen aufbauen. Für gewöhnlich spiele ich die Seite der hinterhältigen Bastarde in Echtzeitstrategiespielen und Rollenspielen und ich finde es sehr schade, dass es in Warzone nur eine Seite gibt anders als in Spielen wie Starcraft und Dune 2 und den meisten anderen Echtzeitstrategiespielen.

Eine Sache, an der ich arbeite, ist die Unterstützung für Tarnung und elektronische Gegenmaßnahmen zur Behinderung von Sensoren.

Kreuvf: Wie weit bist du damit gekommen?
Per: Ich habe einigen experimentellen Code, aber habe das nach hinten geschoben bis nach der Veröffentlichung von 2.1 und nachdem andere, wichtigere Arbeiten erledigt sind, z. B. mehrfädige Wegsuche und ein neues Format für Spielstände.

Kreuvf: Ein Großteil der Leser versteht womöglich nicht was mehrfädige Wegsuche bedeutet und wozu es gut ist. Könntest du das erklären?
Per: Ja, ich werde das tun. Moderne Computer werden oft mit zwei (oder mehr) Prozessoren ausgeliefert. In alten Spielen wie Warzone jedoch läuft das gesamte Spiel auf einem Prozessor. Wenn man die rechenintensiven Arbeiten wie Wegsuche in eigene Threads (engl. für Faden) aufteilt, kann man den anderen Prozessor nutzen, um diese Arbeit zu erledigen, was Kapazitäten auf dem ersten Prozessor freiräumt. So sollte das Spiel schneller und glatter laufen. Und es sollte weniger Verzögerung geben zwischen dem Befehl an eine Einheit sich irgendwo hinzubegeben und dem tatsächlichen Beginn der Befehlsausführung. Derzeit kann man in Spielen mit haufenweise Einheiten und viel Aktivität deutliche Verzögerungen (mehrere Sekunden) spüren.

Kreuvf: Oh ja, ich kenne das und es ist ziemlich nervig. Es dreht sich da also um mehrere Prozessorkerne?
Per: In Wirklichkeit dreht es sich nicht nur um mehrere Prozessorkerne. Der Code ist so geschrieben, dass er auch bei nur einem Prozessor diesen besser auslastet. Es sollten also alle Spieler eine schnellere Wegsuche haben.

Kreuvf: Also können wir in zukünftigen Versionen bessere Wegsuche und eine bessere Performance der Wegsuche erwarten? Wenn ja, wird dies schon in 2.1 so weit sein?
Per: Ich glaube nicht, dass wir dieses Feature in 2.1 quetschen wollen. Code, der mit Threads arbeitet, zu schreiben ist schwierig und es ist sehr leicht schwer zu findende und schwer zu lösende Fehler darin einzubauen. Daher wird es aus Gründen der Stabilität und für vorherige Tests nicht in 2.1 Einzug halten.

Kreuvf: Du erwähnst Stabilität. Leider waren die vergangenen Versionen nicht immer so stabil wie sich die Spieler das vielleicht gewünscht hätten. Was gibt’s Neues an der Qualitätsfront?
Per: Ja, vergangene Versionen waren nicht immer sehr stabil und wir wollen dies ändern. Einer der Dinge, an denen wir arbeiten, sind Unit Tests und das Erschließen weiterer Wege zur kontinuierlichen Verbesserung der Codequalität. Wir haben sehr viel Zeit damit verbracht die Dinge „unter der Haube“ zu verbessern und ich denke, dass sich dies in großem Stile in zukünftigen Versionen bezahlt machen wird, da es leichter wird Änderungen vorzunehmen und Fehler zu finden.

Kreuvf: Neben den Änderungen „unter der Haube“ gibt es sehr viele andere, die in 2.1 eingebaut wurden – was ist dein Nr. 1-Feature in 2.1?
Per: Mehrspielerstabilität ist definitiv die Nummer 1, die Balance-Korrekturen kommen an guter zweiter Stelle.

Kreuvf: Und was stört dich am meisten beim Entwicklen für Warzone 2100?
Per: Was mich am meisten stört? Hmm. Fehler! ;)

Kreuvf: Eine letzte Sache: Du hast einen Master in Philosophie, was mich neugierig macht auf deinen Lieblingsphilosophen, falls du einen hast.
Per: Oh, es gibt so viele, die man gut finden kann, aber mein Lieblingsphilosoph ist definitiv Immanuel Kant.

Kreuvf: Okay, dann möchte ich dir für das Interview danken, Per.
Per: Gern geschehen.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

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)

« Vorherige SeiteNächste Seite »