Simplify and Cut Out the Needed: Interview with John Romero, creator of Doom

At the last Tech Train IT festival, we met the legendary John Romero, who had a hand in the design and development of the iconic Wolfenstein 3D, Doom and Quake. We talked about whether game developers need soft skills, which working tools to pay attention to, and which co-founder of Id Software's favorite toys are. Questions were asked by Nikita Tsaplin, the founder of RUVDS.





→ English version of text and video here



Nikita Tsaplin - founder of RUVDS



In one interview, you said that in 2001 you looked at the old code written in 1991 and did not find any practical use for it. But after some time, returning to the code written in the two thousandth, you called it "not bad." How do you track code quality?







John Romero - Programmer, Designer and Co-Founder of ID Software



In 1991, at least half of the code was written in Assembler, and I was just starting to program in C and was just a beginner. So returning to it after ten years of active C programming was awful.



Tell me, how did the selection criteria change over time? Which remained unchanged?



The environment in which the code was executed has completely changed. Written in 1991 was launched in DOS, and the code from 2001 worked on Windows.



So this was due to a platform upgrade?



A completely new environment. Yes.



Can you talk about the main criteria by which you evaluate your code?



Key criteria - is it easy to read the code? It is very important.



Are any comments written? To go overboard with this is not worth it - it quickly becomes boring. But it is important that the complex parts and sections of the code are commented on, and its structure as a whole is understandable and easily complemented.



What skills should a developer have in order to join the gaming industry?



You must have a strong desire to create games. Because it’s difficult to just finish the game - it is painstaking work. It doesn't matter what part you work on - it will take a lot more time than you ever imagined. You need to be prepared for a long concentration of attention over a specific task.



I heard that developers now more than ever need to master "Soft Skills"? It's true?



Yes. Because now everyone is teaming up, when you work together, you need to be empathetic to each other.



To interact?



Yes.



Do you have much experience with this?



You have to get used to it, and programmers do not like to talk. They just want to code. It is important to understand how to limit the time you take from programming from people, just for a short conversation. But nowadays, why not just use Slack and communicate through it. This is more convenient and faster than removing the headphones, getting up and going to talk with someone at the other end of the office. So we prefer Slack.



Yes, people want space and communicate through messengers.



Especially if you wear headphones, yes.



Which soft skills do you think are the most important?



I believe that interaction is much more important than other skills. It has always been that way. If people around you do not know what you are doing, or you are not aware of what is happening, you can lose a whole bunch of time and money, because you were busy with the wrong thing.



So communication is one of the most significant things you can do. Everyone should know how and what exactly he should do. Even if you started working on a particular fragment, the most important part is how you present it. Not just, “Okay, I'll do it ...” It would be more correct to say: “I will do this and this in this way. Do you agree?".



So - the most important part at every stage of development is communication?



Yes.





A few months ago, we spoke with Richard Gray in Moscow. And he suggested that the best way for developers to establish themselves in the gaming industry is to do something with their own hands. But, on the other hand, you said that creating a game level like Doom in Sigil is an extremely difficult task. Modern tools are too complex and layered to create a sketch for a portfolio. How to find a middle ground?



It's true. Modern engines will take a lot of time to create a level.



Everything is far from simple as it was before. Now it takes a really long time. Today, so many people are involved in development. Individual staff is responsible for lighting the levels. And there are game designers setting limits, artists with concept art. They are working on a visual style of play. Still need to check the work of shaders.



It seems to me that now it is almost impossible to make a level just for a portfolio, if necessary.



In general, this is possible, but it takes a very long time. There is a great example on YouTube. If you use Anrial, and you want to understand what exactly consists of the sequence of creating a level alone - there are instructions for this. One guy recorded a 30-minute video, where he shows the creation of a corridor for 10 hours. It lasts only thirty minutes, but plays at high speed, sufficient to see all the steps for working on the corridor. Ten o'clock! Games today are time consuming.



What strategy do you think developers should follow to start a career?



The best option is to learn as much material as possible at home. You know, you can go to school and learn in it, which will give its advantages in the form of a diploma and other things. But you learn a lot more by doing at home. So the work will go faster and you will learn exactly what you want.



Some say that programmers using off-the-shelf frameworks have no idea how it works internally. Does this make any difference? Understand how the framework in use works?



Yes, and great. This is useful. Suppose a junior programmer uses frameworks. Experienced programmers know how they work. This means that if necessary, they will be able to build it, because they know the details of the work from start to finish, right? And this is very useful, because frameworks can be used very inefficiently, without knowing the internal structure, causing significant performance losses.



A matter of flexibility. After all, you can combine frameworks if you know how.



Of course, everything needs to be combined to make it work, but this does not mean that optimization will be at its best. This does not guarantee knowledge of the software. Especially when it comes to databases. You can write down the information or the code itself to operate the databases, which will work terribly. And there will be a feeling that everything is in order, because the set of commands is correct, but if you don’t know how InnoDB uses them in their work, and how they interpret them, then just forget about it. You will need to hire a consultant who will come and correct the work.



Another interesting topic is Agile. In books and articles, game dev is full of romance and unpredictability. It is in this context that Agile would come in handy. Agile and maybe other approaches?



Only Agile, but not in a tough and inviolable form. We use "markers" for certain periods for which you need to hand over the material. This is a large and comfortable period of time. Approximately three times more than expected by Agile. About six weeks instead of two. This is a very convenient and comfortable gap in which many problems can be solved. There are also borrowings from the Kanban-style ... Perhaps because not all tasks need to be completed in six weeks, some of the tasks still remain in work and cannot be completed by the deadline. As a result, we check the results of work, and do not postpone the unfinished processes to the next "marker".



Here we are talking more about the correct compilation of a list of opportunities and tasks required to be completed than blindly following the principle of deadline. If you carry out your task - excellent, if not - the question is postponed to the next "marker".



Subsequently, this strategy turns into an exercise to reassess priorities. If something takes a lot of time - do it differently. Simplify and cut out the necessary to solve the task. Or you just switch if a lot of time has passed.



To summarize - do you need to understand how processes work and combine different approaches?



Yes.



Can you compare how the development processes were organized in game studios now, and, for example, in the nineties or two thousandths?



It depended more on the number of people in the team. I mean, it always depended on the size of the staff. Even now, if you had only a team of four, you would have developed in the same style as we did in the 1990s with the same composition. Because the team is so small that people know their role in the team and communicate closely with each other. Because, most likely they work in the same room.



A small team also works in my RUVDS company, and we do not need constant formal communication.



Exactly. That is unnecessary. The same situation was in the 1990s. Simply, everything that you write changes due to the development of platforms, and communication and development methods remain the same. The design you are developing is different as the design language evolved from the 80s. What you design is different, but how you develop the product remains the same.



Are there things that get easier or harder to develop games over time? And why?



There are many useful tools that make it easier to create games. It becomes harder to write a good design. It's hard to come up with a good idea for a game. You may have the best programmer in the game who will write a disgusting game and no one will play it. The skill of the programmer does not affect this.



So game design comes first?



This is the most important thing. If you have an excellent game designer on staff who is even a little versed in programming, you risk opening a new genre for games. You will have a great game. So game design is more important than anything else.



Returning to TechTrain. Where does this train take the gaming industry?



I would say that Augmented Reality (AR) games are a very inspiring segment. This is a new space for thought and there is a lot of money. Not as much as VR had when everyone invested in it, but ...



But VR did not last long.



Yes, did not hold out. VR is better in non-gaming applications. She has good ideas, but the main obstacle to the success of VR was fatigue. People get tired too fast while playing games. You know, people no longer jump on their Wee pads. They are just tired. And they don’t want to do this anymore. And VR is hard to use.



Have you had augmented reality or VR development experience?



I have not done anything related to AR, but I really like its features. If you look closely at Lego games, or Minecraft-Earth, then AR has great potential, everyone starts experimenting with it, plus customers like it. Pokemon Go has proven to everyone that there is a ton of money in AR potential. It does not replace consoles, smartphones, it is a new segment and technology.



It seems that everyone knows how new the technology is, but they don’t quite understand how to use it.



Not really, an API has already been created for her. Apple has developed an AR kit, and that's just fine. They did not make a similar package for VR - consciously. They developed it for AR because they know that it will work. Using AR paired with Swift 5 can do a lot of cool stuff.



What do you think of mobile games?



Well, Sigil is released on smartphones.









I think we launched Sigil on a whole host of devices. Crazy amount. You know, on Instagram and Twitter, there are so many devices running Sigil. People continue to upload screenshots.



But ... did they finish building it on their own? Sigil was produced for smartphones?



Well ... It was released on the Android platform. You can download Doom supporting mods. Sigil can also be played on the Xbox. You can use Automechs - this is Doom with open source and support for modifications, then you can install Sigil on the Xbox and play it calmly.



Right. Have you ever thought about releasing a Battle-Royale game in the Doom universe? Something like Fortnite?



I think that would be funny. I will not do it. But it would be really funny if someone else did it. Battle Royale is just a framework with its own set of rules based on any game. For example, the same Fortnite. She was not a Battle Royale game. But she became one when she saw PUBG, and grabbed her piece.







It can be cranked up with any universe. But video games designed specifically for this mode do better anyway. There are still a lot of similar games experimenting with game mechanics. For example, while you play and do everything, mine resources, for example ... Digging and the circle narrows, understand?



Yeah.



And people shoot at you while you dig! And you need to mine to collect items!



Yes! Good comparison! What game genres do you think will be obsolete in the future?



Currently none of them. I mean, the only genre left is text quests, but there are still adventure games. For example, ordinary quests developed into mystical adventure games, and at the same time there are a lot of casual games. Wherever games are sold, especially on mobile phones, you can notice a huge variety of genres. And people who believe that quests, or anything else, have gone forever, back in the 90s or 2000s - they just need to go to the “disk rack” on the other hand to see all the adventure games. Such games sell beautifully to women aged and they like them. The game market is now unlimited by the age of 18 to 25, or 35. He is everywhere.



However, it now seems very likely that strategies are far from being as popular as before. It seems to me that some genres will disappear anyway.



Oh, they definitely won’t be lost. Now they release many strategies. I mean, we develop strategies because they are interesting. For example, there are companies like Paradox Interactive, which have their own niche among fans consisting of especially hardcore players who love their games for how they are made. For filling the games, for how complicated they are. And they will definitely survive. People like to play Age of Empires Definitive Edition, which was just released. And this is a game of nine hundred and ninety ... Eighth? Seems like? Yes. And this is a strategy.



One of my favorite strategies. Yes.



Yes. They won’t go anywhere. RTSki, in the sense. The same civilization. All these games are around while they continue to be developed.



What is the secret to creating a successful game? Does using the latest technology matter?



Well, that helps. Advanced technology helps. But really good game design is the reason people play. They do not play it because of the engine. Do you want to play the game because it is made on Unreal? No, hardly. You play it because of the game design and ideas, how it looks, and what it tells you about what you can do in it. These are all aspects of design.



What are your favorite development tools or solutions for games? At the moment, and for your entire career?



For workflow and overall productivity - Slack is great. For the ticket system we use Assembla, but Jira is also excellent. We use Perforce for license control due to its high speed. These are our main programs that everyone uses in our studio. For the creative department, it's Photoshop, Maya, and if you know SyncScetch, it's another great tool ... Shotgun is great for workflow. From the developers side, we use Unity and VSCode, both for Mac and PC for making edits. And that’s all, in general.



For design and calculation tables, we often use Google Tables. Some tools read information from Google tables on the network and return to the game.



For the most part, this is software from Google. We use presentations for design documents, and Google spreadsheets for most of the information. For games ... In the loot release system, for example, but it doesn’t matter.



I think everyone would like to know ... What game would John Romero himself recommend?



Hitman 2.





Hitman? Truth?



Hitman 2.



One of my favorite games!



Awesome.



And when you talked about hardcore players who want to challenge the game, I thought of Hitman!



Yes!



Since he has his own niche of maniacs, that ...



Yeah. These Challenges.



... Knock out maximum points at difficult levels.



Craftsmanship and crazy challenges.



I adore them.



Fine.



Yes Yes. I went through all the parts.



Class!



Yes, I went through all the previous parts, but they re-released the game in 2016 and created absolutely ... Just the best design in the world.



Yeah.



I look forward to the release of Ghost Recon: Breakpoint. Strong. And right ... I can’t wait. It will be awesome. I love Ghost Recon. I love the original game, not a fan of GRAW, but I know that ... I managed to play a new part, and now I can not wait for the release.



You know, great games are coming out now, but some of them take too long to delve into after work.



Yes.



You are too tired to understand.



Yes, I want to play ...



All these mechanics ...



Yes Yes. Like "Do I need to remember everything again?". But ... The same World of Warcraft was the same. There are a lot of equipment, a lot of quests, personal motivation plays, for example, what exactly do you want to do in the game, and if something happens, the game requires high concentration. And if you do not need such involvement, you play other games that do not require attention. Indie games are great for such occasions, as they now go through in a few hours. For example, Firewatch and other emotional projects.



Yes Yes…



You know, these are games for a little distraction. AND…



And Hitman can also be attributed to them.



Oh yeah! Hitman right ...



Especially if you are familiar with the series and say to yourself - "I just want to try this challenge." Is not it so?



Yes…



You don’t have to complete the entire mission.



You usually get used to it in a couple of hours. So your top list is Hitman, Ghost Recon and ... Maybe the third?



Indie games. There are a lot of them.



And now we turn to a group of professional developers represented by our audience.



Good.



Please take a look at the camera and tell us what inspires you.



Oh Lord ... What inspired me? .. Pacman was the reason I started developing video games. Its design, I remind you that it was released in 1980, was very different from the rest of the games of that time.



1980 is “Kill the alien”, black and white colors, poor sound.







With the release of Pacman, everything has changed. It was a harmless walker, absolutely complete and perfect design, which was hard to believe, and he showed me that the game design has no limits. There are so many things that it inspired me to create games.



Good advice will also not be superfluous for those wishing to join the gaming industry.



Start with simple games, no scatter. Do not try to do something big in the beginning. Write a simple concept, try to implement it and finish it to the end. You will find out how difficult it is to complete the project, and you will follow ambitions.



In Russian Wikipedia, you are recorded as John Romero. But I read that your real name is Alfonso.



Yes, Alfonso.



So why are you called John?



Because my father’s name is also Alfonso, and if you said “Al!” We would both respond. My mother decided to call me John, because my father was already Al. Now everyone knows me, like John.



Okay, so this is from childhood.



Yes, this is from childhood. My mother called me Johnny.



Thanks for the interview! I will be glad to meet you again in Russia.



Class! We will definitely meet at TechTrain.



On TechTrain and also in the office of our RUVDS team!



Fine!



Thank you very much!



Yes thank you!





PS And the last tip from John Romero:



The way to keep the error level low is to write a few lines of working code and then test them. Check them out to the smallest detail. Make sure everything works. Then write down a few more lines doing something. Repeat the test every time, building the code in steps. You should not work for half an hour, and then test the code. It will be full of bugs. Just write a few lines and see if they work. So you will make very stable code.






All Articles