Schlachtfeld

Der Stafflerblog von Warzone2100.de

09.08.2008

Entwicklerinterview #4 – Buginator

Gespeichert unter: Deutsch, Sonstiges von Kreuvf um 09:09:12

Buginator denkt, dass persönliche Informationen irrelevant sind, daher bleiben diese außen vor. Wenn man seinen “Namen” bei Gna nachschlägt, bekommt man “bugs buggy”, was eine Anspielung auf “bugs bug me” (Fehler nerven mich) ist.

Kreuvf: Wie hast du zu Warzone 2100 gefunden und seit wann bist du Teil der Warzone 2100 Resurrection Project-Gruppe?
Buginator: Ich bin um Warzone 2100 schon seit einer Weile herumgeschlichen, an das genaue Datum kann ich mich wirklich nicht erinnern. Es war auf jeden Fall eine ganze Weile. Teil des Teams, wenn du damit meinst, wann ich angefangen habe Patches einzuschicken, bin ich auch schon seit Langem. Auch hier habe ich das genaue Datum vergessen. Falls du “offizielles” Mitglied des Warzone 2100 Resurrection Project meinst, dann ist das heute (1. August 2008).

Kreuvf: Heute? Du bist also wirklich heute offiziell beigetreten? Falls ja, dann ist das ein schöner Zufall. Hast du just heute entschieden offizieller Entwickler zu werden oder gab es andere Dinge, die dich davon abgehalten hatten ein offizielles Mitglied zu werden?
Buginator: Der einzige Grund dafür, dass ich “offizieller” Entwickler wurde, war, dass ich selbst auf’s SVN zugreifen kann und nicht immer den anderen Leuten damit im Ohr liegen muss.

Eine Zeit lang war ich inoffiziell. Der Grund dafür war, dass ich neutral gegenüber den beiden Warzone-Gruppen bleiben wollte. Eine Gruppe hat den Code bisher jedoch noch nicht veröffentlicht und so war die Entscheidung mehr oder weniger gefallen. Natürlich gibt es viele weitere Dinge, die “hinter der Bühne” abgelaufen sind und die ich ausgelassen habe. :) Würde sich aber gut für eine “Seifenoper” (oder sogar Komödie?) eignen. ;)

Ich denke wirklich, dass es besser ist allen Quellcode und auch sonst alles von Tag 1 an zu haben. So hat Pumpkin es gemacht und ich denke standhaft, dass dies der einzuschlagende Weg ist. Ich mag bei einem Open Source-Projekt die Vorstellung “hinter verschlossenen Türen” zu arbeiten nicht.

Kreuvf: Was hälst du für einen Hauptnachteil des Arbeitens hinter verschlossenen Türen? Und was hälst du für einen Hauptvorteil – da jene sich sicher nicht aus Spaß dazu entschieden haben hinter verschlossenen Türen zu arbeiten?
Buginator: Wenn du geheimniskrämisch sein willst, dann, gut, kriegst du deinen Willen. Niemand außerhalb der Gruppe wird wissen was du tust und niemand wird (kann) auf den Quellcode schauen, du kannst auf diesem Wege also keine Hilfe erwarten. Dies ist ein GROSSER Nachteil. Bei diesem Projekt, alles ist offen, kannst du von Tag 1 an auf alles einen Blick werfen. Der einzige Vorteil, der mir gerade in den Sinn kommt, ist, dass du nicht willst, dass andere wissen was du gerade tust. Man kann sich das vorstellen wie Duke Nukem Forever. Irgendwann wird dieses Spiel erscheinen, aber bis dahin ist es nichts als heiße Luft. Das ist auch, warum ich in einer Zwickmühle saß, weil ich der anderen Gruppe hätte beitreten können und den Quellcode hätte sehen können, aber hätte auch nur einer meiner Patches nur Ähnlichkeit mit etwas gehabt, was in deren Codebasis vorhanden ist, hätte man mir “Diebstahl” vorgeworfen. Das wollte ich vermeiden und ist einer der Hauptgründe weshalb ich mich nicht der anderen Gruppe angeschlossen habe.

Kreuvf: Nichtsdestoweniger werden wir an diesem Projekt dran bleiben. Ein anderes Thema: Nun, da du Commit-Zugriff hast, wirst du – sicher doch – Zeug beisteuern. Was sind die Hauptgebiete des Quellcodes, an denen du zu arbeiten planst?
Buginator: Ich denke nicht, dass es ein Gebiet der Codebasis geben wird, das ich zu einem bestimmten Punkt nicht anfassen werden. :)

Kreuvf: Dein Name ist also ein Hinweis auf das, was du hauptsächlich tun wirst?
Buginator: Nicht wirklich. Die vielen Bugpatches, die ich früher geschrieben habe, habe ich geschrieben, weil ich das Spiel spielen wollte und es fehlerhaft war und einige der Features fehlten, die ich in einem RTS haben will. Ich plane nicht nur Fehler zu beheben – das ist ECHT langweilig.

Kreuvf: Auf die Implementierung welchen Features bist du denn am schärfsten?
Buginator: Zur Zeit? Hmm. Es gibt kein spezielles Einzelfeature, ich werde mich einfach danach richten, was mir nicht gefällt und wie ich es verbessern kann. Ein sehr kurzes Beispiel dafür sind die Tabs, die sich im Debugmenü unter dem Gebäude/Einheiten-Knopf verstecken. Ich dachte es wäre unsinnig die Liste auf nur 70 (oder waren es 80?) Gegenstände zu beschränken, daher habe ich das grundsätzlich so geändert, dass ich mich nicht mit diesen Beschränkungen auseinandersetzen muss.

Kreuvf: 2.1 kommt näher und näher: Welches der Features in 2.1 sind deine Lieblingsfeatures?
Buginator: Um ehrlich zu sein, weiß ich nicht wirklich was es ins offizielle 2.1 geschafft hat. Ich spiele Betas wirklich nicht viel und bleibe normalerweise beim Trunk. Ich schätze ich werde überprüfen müssen was es in 2.1 geschafft hat und was nicht. Andererseits habe ich nicht wirklich ein Lieblingsfeature. Obwohl, weniger Fehler wäre ein Feature, das mir gefallen würde. :)

Kreuvf: Deine Philosophie zur Arbeit an Warzone 2100 ist also, dass, was auch immer falsch erscheint oder korrigiert werden sollte, von dir auch erledigt wird?
Buginator: Nicht nur von mir, ich denke der Rest der Mitglieder tut das genauso.

Für gewöhnlich jedoch frage ich in den Foren zu größeren (oder auch kleineren) Änderungen herum, damit ich wenigstens ein wenig Rückmeldung erhalte. Vieles wird zurückgehalten wegen der Hardware, die die Leute benutzen, um das Spiel zu spielen. Ich wünschte jeder könnte seine Hardware aufbessern zu Hardware, die innerhalb der letzten paar Jahre hergestellt wurde, und auch wünschte ich die Treiberschreiber würden vernünftige Treiber für ihre Hardware veröffentlichen. Intels integrierte Grafik ist so schon schlecht genug, aber es scheint die Treiber sind sogar noch beschissener. Von VIA/S3 ganz zu schweigen. Leute, hört auf euch beschissene Laptops mit beschissenen Chipsätzen zu kaufen und zu erwarten, dass das Spiel auf solchen Geräten funktioniert! Argh!

Kreuvf: Wie viel deiner Zeit verbringst du mit dem tatsächlichen Spielen von Warzone 2100? Und, wenn du spielst, suchst du mehr oder weniger aktiv nach Fehlern?
Buginator: Ist unterschiedlich. Wenn mir langweilig ist, dann spiele ich ein wenig. Wenn ich einen Fehler während des Spiels finde, neige ich dazu zu versuchen eine Lösung zu finden. Ich lese Fehlerberichte sehr wohl, aber wie zuvor gesagt, hat die Fehlersuche es an sich schnell langweilig zu werden.

Ich habe auch nicht wirklich Zeit das Spiel ordentlich zu spielen (wie ein komplettes Mehrspielerspiel oder einen vollständigen Durchgang durch die Kampagne OHNE CHEATS!). Das ist der Grund weshalb wir Leute brauchen, die für die Entwickler spielen, damit wir wissen können was funktioniert und was nicht – und ist erstmal ein Fehler gefunden, dann müssen sie auch anfangen diesen in die Fehlerverfolgung einzupflegen. Sie können auch in die Foren posten, um zu sehen, ob andere das gleiche Problem haben, aber es ist besser die “offizielle” Methode zu benutzen.

Kreuvf: Wie lange denkst du, dass ihr, das WRP, brauchen werdet, um 2.1.0 zu veröffentlichen? Und welche Fehler blockieren derzeitig noch ein Release?
Buginator: Das ist eine gute Frage. Ich halte mich nicht wirklich an die Haupt/Nebenversionen, da ich hauptsächlich mit dem Trunk arbeite, was der aktive Entwicklungszweig ist. Ein Blick auf die Fehlerberichte offenbart, dass wir noch Fehler haben (und wahrscheinlich auch immer haben werden).

Was die Leute nicht zu realisieren scheinen ist, dass der Quellcode, der von Pumpkin veröffentlicht wurde, mehr oder weniger mit Fehlern durchsetzt war. Haufenweise Fehler. Nicht alle sind für jedermann offensichtlich, aber sie sind trotzdem da. Dieses Projekt hat einige Fehler ins Rampenlicht gerückt, indem das Programmdesign geändert wurde (wie die Entfernung von Memory pools) und wegen einiger anderer Änderungen, aber allgemein wurden die Änderungen an Warzone 2100 vorgenommen, um ein besseres Warzone 2100 zu schaffen.

Ich würde lieber mehr veröffentlichte Versionen sehen, als Monate zwischen den Veröffentlichungen zu warten. Wie ich sagte können die Entwickler nur so und so viel testen und Dinge können durchrutschen und sind durchgerutscht. Wenn die Leute ein stabileres Spiel wollen, dann fangt an zu spielen und meldet die Fehler – mit allen Informationen über den Fehler, an die ihr euch erinnern könnt!

Entschuldigung, bin ein wenig vom Thema abgekommen. Auf deine ursprüngliche Frage wann 2.1 veröffentlicht wird, muss ich sagen, dass ich es nicht weiß. Es steht jedem immer offen, der es will, nur nicht mit dem Spitznamen “2.1″. Immer daran denken, dass dies ein offenes Projekt ist und die Leute sich jederzeit das Neueste und Beste, was sie wollen, holen können. Sie müssen es nur kompilieren oder eines der Nightly Builds, die für Windowsnutzer (vielleicht genau so gut auch Mac Builds, wenn sich jemand findet diese zu erstellen – <HINWEIS>wir brauchen Mac-Maintainer!</HINWEIS>) vorhanden sind, nutzen.

Kreuvf: Und was stört dich am meisten bei der Entwicklung für Warzone 2100?
Buginator: Die gleichen Dinge, die in den meisten Open Source-Projekten vorhanden sind. Es gibt nicht wirklich einen Leiter, noch könnte es jemals einen geben, weil die meisten Leute NICHT für ihr Fähigkeiten bezahlt werden und sie sich ausgesucht haben dies in ihrer Freizeit zu erledigen. Was es manchmal schwer macht, die Dinge zu erledigen wie sie normalerweise erledigt würden.

Kreuvf: Könntest du ein Beispiel dafür geben? Muss nichts mit dem WRP zu tun haben.
Buginator: Nun, in einem normalen Projekt hast du Leute, die für dich arbeiten und du hast festgelegte Ziele. Wie wenn du ein Haus bauen willst, du eine Blaupause hast und jeder dieser folgt und eine gesonderte Aufgabe hat. Wenn man dem Plan nicht folgt, dann hast du besser eine gute Entschuldigung parat oder du wirst rausgeschmissen/verklagt oder was auch immer.

In einem Open Source-Projekt, machen die Leute, was ihnen gefällt, und man kann sie nicht wirklich zwingen etwas zu tun, das sie nicht tun wollen. (Nun, das nehme ich zurück. Man kann sie zwingen, aber ich bezweifle stark, dass diese Leute dann noch viel länger da bleiben. Es zahlt sich nicht aus den Leuten das Leben damit schwer zu machen wie und was sie beisteuern dürfen, zumindest nicht ohne verletzte Gefühle. Andererseits ist es auch nicht klug jeden Code, jede grafische Veränderung und was auch immer ins Projekt aufzunehmen ohne wenigstens ein wenig zu testen und zu diskutieren. Es ist eine Gratwanderung zwischen der Zufriedenheit und dem Vergraulen aller.)

Es gibt immer noch eine Art Blaupause (jeder hat das gleiche Ziel das Spiel besser zu machen). Aber dann hast du Leute, die unaufhörlich Dinge, die gerade fertig sind, hinzufügen/entfernen oder sogar ändern. Manchmal funktioniert dies wunderbar, manchmal nicht und meistens haben die Entwickler nicht die Gelegenheit jedes kleine Detail einer Änderung zu testen, was zu einem anderen Fehler führt. Yeah, das ist stark vereinfacht, aber was soll’s.

Kreuvf: Es fehlt also die Antriebskraft “Geld”, ja?
Buginator: Nicht wirklich Geld, es ist mehr eine Einstellung, denke ich. Es hängt hauptsächlich von der betreffenden Person und ihrer Motivation ab und, natürlich, wie viel Zeit sie dem Projekt widmen kann. Es ist schwierig das echte Leben und die bearbeiteten Projekte unter einen Hut zu bringen und hin und wieder neigen Leute dazu “auszubrennen”.

Kreuvf: Okay, das war meine letzte Frage und ich würde dir sehr für das Interview danken, Buginator.
Buginator: meh. :) Ok… ok… gern geschehen.

Kommentare zu diesem Artikel abgeben (benötigt Boardaccount)

Developer interview #4 – Buginator

Gespeichert unter: 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

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