2nd Q&A Focuses on Daily Development Routines
The second issue of the Black Prophecy Community Q&A has been released, and this one focuses on the daily development routines of Lead Programmer Marco Nowara and QA Manager Stephan Bast. While most of the questions are personal and geared toward readers who want behind-the-scenes details of working in the game industry, some of the answers will be of interest to any gamer who's looking forward to playing Black Prophecy.
For example, Nowara and Bast were asked what attracted them to Black Prophecy, both from a player and a developer point of view. Nowara said the game is "no simple standard click & wait MMO but is very similar to a traditional space shooter where the player has to aim and evade. My personal favourites are the so-called tactics that allow players to make special manoeuvres to irritate enemies or shake them off."
Bast had a similar answer, saying he is a fan of the game due to "its direct controls and fast-paced combat." So if you're a fan of action games set in space or want to know more about the daily development routine surrounding Black Prophecy, keep reading the full Q&A below.
In the last issue Community & PR Manager Chris Schuett interviewed Kirk and Simon from the management team, and this time around QA Manager Stephan Bast and Lead Programmer Marco Nowara have taken time to introduce themselves and talk about their daily development routine with Chris.
Chris:
Hi Stephan, hi Marco. It’s excellent that you were able to take some time to participate in this issue of the Q&A. Some of our readers might know Stephan from Neocron but nevertheless I would like to ask you to introduce yourself to our readers.
Stephan:
Hi Folks, hi Chris! Yes, some might know me from Neocron e-mail support and my QA work for Neocron 2 and the Neocron balancing project. I am 34 years young and I have been on the payroll at Reakktor Media since the release of Neocron which was in late 2002. During my support work I was also heavily involved in finding and analysing bugs, and the management was obviously quite satisfied with my work as I was promoted a short while later to the position of a QA Manager which was available at that time.
The role of QA manager is very versatile and exciting as you are involved in all areas of the development process and that gives you a very good insight into everything that goes on. I have never regretted the decision to work as a QA manager even up to the present day and I still have lots of fun with my work.
In my leisure time I play many video games on console or PC. It’s important to keep oneself in the loop regarding the competition and how other developers deal with difficult game design concepts.
Apart from that I like to read, spend time with my friends at the weekends and try to do some sports.Marco:
Hi Community, hi Chris! I am 33 years old and I’ve been earning my money in the games industry since 1998, the last 16 months of which have been with Reakktor. I started my career with a space game (X- Beyond the Frontier) and was involved in several round-based strategy and single-player action games later on. I made my way to Reakktor because I was very attracted by the technical challenge of making an MMO and the team with all its different personalities is just fantastic.
I am the Lead Programmer for network and server development and supervise the other coders involved in this area. Furthermore, I am the most senior programmer here and, as such, the contact person for questions and problems the other programmers may have during their work.
Naturally, I don’t have much time for hobbies but I like to read sci-fi or fantasy literature if time permits. In my leisure time I also like to play video games but I often don’t have the time to complete them to the end.Chris:
There is a classic cliché of the QA guys wearing black clothes, always looking around with evil glances, making the programmers’ lives more difficult and moaning about everything. Is there any truth to that cliché?
Marco:
Hmm, I always thought that we coders were the black dressed, strangely looking, long-haired people.
Joking aside, this cliché is definitely something for the dustbin of history. A proper QA process is essential to finding and documenting bugs, and for testing the subsequent bug fixes for any kind of side effects. Programmers would not achieve anything if we had to test everything on our own. In most cases QA is even capable of providing highly detailed reports that allow us to directly search for the issue in the code, saving precious development time.
At the end of the day it’s rather us coders who moan that QA reported another bug once again. However, when you look at it another way a QA has to be somewhat annoying and persistent to be good at their job.Stephan:
I rarely wear black clothes to be honest. And do I frown? I think Marco can judge that much better than I. Seriously, “to make one’s life harder” would not be accurate because a good degree of persistence is necessary simply to do a good job. In some situations, when something does not work as intended once again, it might appear as moaning. Although everyone knows what is going on when I enter the room, I always try to remain kind and calm. In the end, coders and designers are just humans like you and me and there is really no need to frown or rip someone’s head apart. ;)
Chris:
How does cooperation occur in the daily development routine? Which tools do you utilize and how far do both departments benefit from synergies?
Stephan:
Even if you work as thoroughly and conscientiously as possible, bugs occur in the development of such a complex project like an MMO. In that case it is my job to find and analyse these bugs and collect all necessary information for the bug report, and once finished, I assign the report to the appropriate employee. In addition, I try to unburden the coders from daily tasks, e.g. the patching of the internal servers, as much as possible. Of course, this is only possible up to a certain extent.
During the daily QA routine several versions of the client and server applications have to be tested which often goes along with testing new features, new game design elements and graphical assets. Furthermore, I must continuously review existing features and game content as well as the development tools. At regular intervals I organise internal multiplayer test sessions to test the client and server stability, which is necessary to be able to react swiftly to any upcoming issues.
The bug reporting routine looks quite similar. Once a bug can be re-produced I identify the employee who will be responsible for further processing. That employee then receives a notification together with the bug report. If it is not possible to reproduce the bug a coder comes into play, e.g. Marco, who then uses special debugging tools to locate the source of the problem.
Finally, but just as importantly, we have daily talks and discussions with the game designers and project management about necessary or unnecessary features, or improvements to the usability.Marco:
The most important tool is the bug reports database. In this database all bug reports are archived together with all available information (e.g. how to reproduce the bug, etc.). In the majority of cases Stephan creates these database entries. Afterwards, Stephan assigns the report to the appropriate employee who then receives a notification by e-mail. Once a bug fix is available the report status is set to “resolved” and Stephan begins to test the bug fix. Naturally, Stephan is not always able to determine who is capable of addressing a bug report and he then consults one of the team leads for further advice. This database also contains all previously addressed bug reports to allow for quick access to all necessary information if an old bug re-appears again.
In terms of synergies, both departments benefit from cooperation since both have different perceptions, meaning that they view the game from different perspectives. If we are stuck on a problem it sometimes happens that the QA provides an approach that would have never occurred to us.
Vice versa, the QA also learns a lot from this close cooperation. Stephan has achieved an extensive technical knowledge about the game which is quite helpful for his own work. I think there is no one else in the team, except for the coders, who knows so much about Black Prophecy's technology.Chris:
What kind of technical challenges and difficulties do you encounter in the development of an MMO? Can you say offhand that the development of a single-player game is “easier” to accomplish?
Marco:
Yes, single-player games are much easier to develop. There is no need for net code, a task distribution between client and server and the forced necessity to prevent cheating. Even in a pure multiplayer game like Counterstrike you have fewer problems due to the lower player count. A further optimisation is not necessary as it is possible to simply send all data to all players. In an MMO you need to carefully gauge what kind of data the server is sending to the clients. In addition to this, a normal multiplayer game is hosted on just one single server unlike an MMO where the game world is segmented across several servers which perform their specific tasks – these things alone make an MMO much more difficult to develop than a simple single-player game.
Stephan:
I can only judge this subjectively as I have not worked on a major single player title yet. In comparison with a single-player game you will encounter many more limitations due to the permanent synchronisation between client and server. Another big obstacle is to develop a stable and high-performance server architecture, which is not necessary in a single-player game.
Furthermore, in a single-player game you can focus more on telling a story and thus have much more freedom than if you have to design a game with several hundred players playing simultaneously.Chris:
What things attract you most in Black Prophecy, seen from a player and a developer point of view?
Marco:
Black Prophecy is no simple standard click & wait MMO but is very similar to a traditional space shooter where the player has to aim and evade. My personal favourites are the so-called tactics that allow players to make special manoeuvres to irritate enemies or shake them off. If you have it down pat you can sidestep like a rabbit or loop-the-loop to make your opponent look like a rookie. They’re quite a bit like the special moves in Beat’Em’Up games but I don’t want to say too much because I don’t want to ruin your anticipation. This and of course much more is what makes Black Prophecy so attractive to me, be it as a gamer or a developer.
Stephan:
I do like MMOs in general as you are not done after the release, and can continue to surprise players with new features and content repeatedly.
Since I personally prefer action games to “target enemy & click skill XY” games, Black Prophecy is exactly the right thing for me with its direct controls and fast-paced combat. This is what I enjoyed so much in our previous title Neocron. I cannot really get excited with games that more rely on item and statistics instead of player skill.Chris:
What would you recommend to those people who want to make a step into the games industry as programmer or in quality assurance? Which requirements do you have to meet and what is of advantage?
Marco:
As a programmer you will need working experience in the first place. Even for an internship it is of importance that you provide working samples with your application. Analytical approach is necessary but it doesn’t really matter in what kind of coding language you are proficient. However, in games programming C/C++ is most common while C# is getting more and more important for tools programming. A studies graduation is not stringently required.
In addition, soft skills like the ability to work in a team are of great importance. In the end, you are only working on a small part of the whole thing. This makes it necessary to communicate not only with other programmers but also with graphic artists and game designers.Stephan:
I am the typical career changer, but as I have previously learned business programming and graphic art I bring along a considerable comprehension for this matter. This is definitely of advantage but not a strict requirement.
Basic requirements for working in quality assurance are the ability to concentrate, good observation, as well as the ability to describe complex issues in as much detail as possible. In addition, you should also be able to work in a team as you are in contact with the other development team members constantly.
Depending on your entry position in QA it is also important to have good organisation skills.Chris:
Which games do you play in your leisure time?
Stephan:
As I have previously mentioned I play most of the games that are available on the shelves of the games stores. I have lots of fun with games like Virtua Tennis or Fifa/Pro Evolution Soccer, but also with role-playing games like Mass Effect or Fallout. In the first person shooter area I like games like Call of Duty: Modern Warfare, to name but one example.
Unforgettable classics include North Sea Inferno, Wings of Fury, Monkey Island, Police Quest, Leisure Suit Larry, Serious Sam, Ikari Warriors and the ingenious Lost Vikings.Marco:
Single player role-playing games with a good background story, like Fallout 3. Apart from that I like to play a round of Civilisation 4 from time to time. By the way, compilers are nice toys!
Chris:
Ninja or Pirate?
Stephan:
I don’t like either of them. I want to be an astronaut!
Marco:
Ninja? I guess I am too old for that. Pirate, only if I can be up to mischief in the south pacific, preferably in a hammock on the beach.
Chris:
Thanks for taking the time to participate in this issue of the Q&A!
In the next issue of the Black Prophecy Community Q&A we will take a closer look at Black Prophecy's game design and graphical style in an interview with Creative Director Timo Krahl and Art Director Nick Ebenhoch. Stay tuned!