📜 ⬆️ ⬇️

John Romero about the tile editor in which more than 30 games are created


Introduction


If you ask game developers about their first game creation experience, many will say about the editor of the game they played. More often than not, they found him by an eye-catching name like “editor”.

Long before the advent of Unity 3D, companies such as id Software, Epic, 3D Realms, Blizzard and BioWare released tools with their games, hoping that this would allow people to create content by increasing the size of the community and the lifespan of the game. Many people did not just like to use these tools - they became the door for them to the games industry. The content they created later became part of their resume.


In recent years, the retrospectives of classic games have gained popularity, but almost no attention is paid to classic game-building tools. In this series of articles, we will try to fill the gap: we will interview important people in the industry and ask you to talk about how these tools of classic games were developed.

In this article, I had the honor of talking with John Romero Romero about TEd , a tile editor created by id Software, with which I managed to release 33 games.

First meeting with the level editor



David Lightbone : Hello John. Thank you for taking the time to chat with me!

John Romero : No problem!

JL : Before we discuss TEd, I want to take a step back: in the early 80s there were very few level editors that came with the game. In your interview from the book Honoring the Code , you said that the terrain generator from the Pegasus game ] [ was one of the first level editors that you were able to experiment with. Can you tell about this experience?
JR : I first saw Pegasus] [at Sierra College, in an office with Apple. It was one of the first programs I saw on Apple. When I played it, I noticed that there is an option for generating a relief. I thought: great that the developers have built in such a tool for generating gameplay.

It's funny now to think that it was one of the very first games that allowed to create fashion. I
I saw something like this for the first time, and thought it was wonderful. It's funny, but I never thought: “Hey, why is there no such thing in other games?”, I just did not expect this from the games!

Pegasus II Apple II Title screen

Pegasus II Apple II Dropping bombs

TEd Tile Editor


JL : Well, let's move on to talking about TEd.

[While we were talking, I launched two DOSBoxs so that I could look at TEd and Deluxe Paint]

TEd Splash Screen

Deluxe Paint

The first thing I want to talk about is the TEd screensaver. It says Deluxe Paint for Tile Maps. Anyone who knows a little about the history of id Software knows that Adrian Carmack used Deluxe Paint ...

JR : It was used by the entire gaming industry.

JL : Right! So, the first thing that struck me was that the top menus of Deluxe Paint and TEd are very similar, both in appearance and in sensation. Have you tried to make something familiar to Deluxe Paint users, or used some parts taken from Deluxe Paint?

JR : Before id Software, I wrote several tools for PC in SoftDisk. I wrote Pixel Puzzle Maker , a softdisk puzzle creation tool called Pixel Puzzler. I wrote a drop-down menu for the Pixel Puzzle maker, and then made some changes to it. It seems that I wrote other tools for PC in Softdisk, and when I worked on id, I thought I created another one, because it was very easy to make this system with a drop-down menu.

It was not based on Deluxe Paint, because I never used Deluxe Paint, but I thought it was much easier to work with the drop-down menu than with a whole bunch of hot keys ... although we also had a lot of hot keys!

Image result for pixel puzzler big blue disk

Pixel Puzzler 5

JL : Speaking of hotkeys: I noticed other similarities. Today we are used to the fact that Control-Z is a cancel action, but at that time, at least in the case of Deluxe Paint and TEd, cancel was performed by pressing the “U” key.

JR : [laughs] Wow. Did I come up with this?

JL : Yes! Here, look, I filled the squares, clicked "U" and canceled ...

[I draw several tiles and then click "U" to cancel the previous action]

JR : [laughs] Milo.

Oh, and by the way, you launched it in DOSBox, and if you scroll the screen, it will be very slow compared to how it all worked on 386 at that time. The program just flew.

DL : Really? Do not joke?

JR : For some reason, DOSBox slows it down a lot. EGA-scrolling uses the Latch mode, which was very fast at that time, you had to barely touch the keys, otherwise you will scroll everything. So now you see a strange, very slow version.

[Author's note: John told about EGA-scrolling using Latch mode on StackExchange: http://gamedev.stackexchange.com/questions/6488/how-did-they-make-the-screen-move-in-dangerous-dave ]

JL : Well, okay, so you said that TEd had a lot of hotkeys. During the days of using TEd, it was often necessary to read the help file in order to understand how to use such tools.

JR : Yes, of course. I think some still remember WordStar, which was just a horrible bunch of hotkeys.

JL : [laughs]

JR : At that time, we played Ultima, and Ultima used every letter of the keyboard, so it was easy to memorize things like that.

Image result for ultima 1 game



[Author's note: I dug out the Ultima 1 manual, and John was absolutely right ... an action was tied to almost every keyboard key!]

JL : That's for sure! So, at that stage of development of the gaming industry, when it came to level design, you had to take a sheet of graph paper and place tiles, and then enter them into a computer.

JR : Yeah.


CI_NES_TheLegendOfZeldaBreath_ZeldaOldman.gif

[Author's note: After this interview, John sent me a graph paper for the Mach Six game he had created. In addition, here you can read an article from Gamasutra on how Nintendo used graph paper to design the first Zelda levels on NES]

DL : So at what stage did id Software decide to create TEd?

JR : When I worked in 1988 on Dangerous Dave, I needed to create levels for him, and I thought: “Why not use the game itself and not allow it to create levels that can be saved”. That's exactly what I did with Dangerous Dave.

When John Carmack saw this - and he worked for Apple II - he was very impressed, because he was used to using text to designate graphics. When we first decided to create something together, I wrote TEd 1.0, and in a few months it evolved into TEd 5.0, which was used in the development of 33 released games.

Image result for DANGEROUS DAVE 1

Image result for DANGEROUS DAVE 1

JL : Wow ... When you talk about 33 released games, you mean not only id projects created, for example, Commander Keen and Wolfenstein series, but also external ones, for example, Rise of the Triad?

JR : Of course! Also Corridor 7, and Gamer's Edge games: Shadow Knights, Slordax, Dangerous Danger and the Haunted Mansion, Rescue Rover 1 and 2, BioMenace ... a whole bunch of games!

JL : So it's true that TEd was not only used from the side to create two-dimensional side scrollers, but also from the top to create three-dimensional first-person shooters?

JR : Right . It was in TEd 5.0 that all these games were created.



JL : Good. I am interested in the following: At some point, you and the guys from id Software decided to move from two-dimensional to three-dimensional games. Did you even discuss the idea of ​​creating a new editor instead of TEd?

JR : Yes, we quickly resolved this issue. We thought: “A 2D matrix will be used to represent the level. Great, we just apply for this TEd. ” Yes, that's all! [laughs] It was very simple.

JL : I would like to ask one more question: Tom Hall quotes you in the help file of Rise of the Triad: “Sooner or later, the programmer manages to write something he can be proud of — a witty, elegant, lightning-fast procedure that becomes the benchmark for code of other programmers. However, this does not apply to the TEd casting procedure. This slow and stupid algorithm fills a single data plane in a painfully slow way. Press ESC when it hangs. ”

JR : [laughs]



JL : [laughs] So why did you write like that? Does this procedure fill any story?

JR : There were several bugs in the pouring procedure. I didn’t spend much time writing it, and it worked more or less , but sometimes it didn’t do a full fill, so I had to click manually to fill all areas. She was easy to use.

[While we were talking, I ran the Flood Fill fill procedure, and TEd crashed to DOSBox with the error "Divide by zero"]

JR : [laughs]

JL : [laughs] Absolutely! It's funny because I played a little with the editor before the interview and thought: “I don’t understand why he said that, everything works fine for me!”

JR : [laughs] Well, here he also never gave us the error of dividing by zero ... I think the problem is that you didn’t choose the tile. The program crashes when you try to fill without a tile.

[I restarted TEd, which displayed the graphics installation dialog]



See this graphics installation window? TEd allows you to edit cards in CGA, EGA and VGA. It moves all graphic data into XMS memory so that it can be retrieved from XMS when switching graphic modes. That is, if your game supports all three graphics modes, it will allow you to download these tiles. You can load VGA tiles so that when you switch to VGA mode, they all load and are in memory.

DL : Yes, I read that it was a rather revolutionary function for that time.

JR : Yes. I also realized this possibility: if somewhere at the level there is a cursor, then you can press Alt-L, then the game will load and you will be right in that place of the level. Let's check if it works.

[I move the cursor to the level and press Alt-L. Error message appears]

JL : [laughs] And about that, too, I wanted to talk to you ...

JR : [laughs]


JL : When I experimented with TEd, I took a screenshot of this error because I wanted to ask you about it. Today you will not see such messages in Photoshop or Maya ... [laughs]

JR : Of course, of course! This tool was written only for me and Tom [Hall].

JL : Of course! That's what I wanted to ask you: did you write this error message specifically for Tom?

JR : Of course! It was only for Tom. I would never have made such a mistake. [laughs]

JL : [laughs] I present his first reaction.

JR : Oh yes, he burst out laughing.

[Then John showed me that I need to add the name of the game executable file after the TEd executable file so that the editor knows what to run when pressing Alt-L]

JL : Wow, it worked!

JR : Yes, but you moved to the beginning of the game. I think it turned out that you are using the release version of the game, which ignores this command line parameter. The commercial version does not allow this, otherwise the players would cheat!

JL : Yes, that’s quite logical. But it seems to me that cheating is one of the aspects that attract people to game development. You know, I want to be able to change levels to make fun of friends ...

JR : Yes, of course! [laughs]

The future of development tools


JL : I would like to end the conversation by discussing the future of game development tools.

In the early 90s, when I first started creating games using tools written by you and other developers, it was not always easy: you had to read the help file (if it existed at all). A certain amount of technical knowledge was required, and it was often necessary to study the simplest scripting or programming. However, at the same time, it was possible to draw some 8-bit pixel art, and it would look almost decent. We could also flexibly customize the appearance of the levels as we like.

Today, there are tools like SnapMap (the editor of the levels of the new Doom), which are much more accessible to all, but they have much less flexibility. There is a visual scripting, that is, users do not have to learn how to write scripts or programming. At the same time, creating decent-looking resources in the game is unattainable for most people.

My question to you is this: do you think that some of these modern tools do not give people enough flexibility in the industry, or think that this is just an evolution of game development - exactly the same as moving from compiler coding to compilers - and this is just a move forward of our industry?

Image result for snapmap

Image result for snapmap

JR : This is a natural development. The SnapMap development team is people whose career began with playing Doom and using TEd. The company, which was integrated into id Software, was called Escalation Studios . She did the Doom Resurrection. I have known these people for more than twenty years. They are very hardcore gamers who have passed Doom World, and then Quake World. They have been with the company since we did Doom. These are people whose life has been devoted to creating levels for many years.

That is, SnapMap is a natural evolution of the tools that people need, not the console. Obviously, they didn't do Doom with SnapMap, but SnapMap is a great way for people who have never designed levels, even if they like the work, and if so, they can find more powerful tools. Perhaps not in this version of Doom, but, for example, in the Source engine or in any other engine, of which there are now many, such as Unreal. So SnapMap will give them an idea of ​​what it is.

JL : Yes, that seems logical. That is, it is not a replacement, it is the first step on the path of development.

JR : Exactly, because the most difficult thing is creating SnapMap fragments. Therefore, if people can do this in the PC-version of Doom, then they will represent what the real level design is, if only by the example of these modular fragments.

John's tip to tool programmers


JL : In my last question, I want to go back to where we started: retrospectives of classic games.

Sometimes there are tricks and tricks in games that are lost over time. I think that the most interesting thing in the retrospectives of classic games at GDC is that people recover lost knowledge. People like you who have been in the industry for a long time can pass this information on to people who are just coming to the industry.

So, what advice would you give to modern tool developers?

JR : First, you need to write a tool for the user of this tool. For example, if your level designer will use your tool, then it is for him that you make this tool. Make it as simple as possible and add as many features as possible to it. It is also important to take the time to try to use the tool yourself and to understand what annoys yourself about it.

DL : Absolutely.

JR : In addition, very often, when designers ask to add some features, the programmers of the tools do not make them steps forward and do not ask them: “Why do you need this opportunity? What do you want to achieve with its help? ”We can wrap the functionality in a convenient wrapper so that it is easy to work with. Sometimes developers just throw in the components ... and that's it, goodbye, level designers, sort it out yourself!

JL : That's right! [laughs]

JR : It's also great when programmers of tools and users are in the same room and the tool is created with the most intensive communication between these two teams.

DL : I agree.

JR : Finally, you do not need to write anything in assembler. [laughs] I mean that it is very difficult to support a tool written a decade ago using languages ​​or functions rigidly attached to the platform. Strive to abstract the functionality so that you can replace it in the future. I myself had this problem with TEd, when in 2001 I needed a tile editor to create new game levels. I looked at the code TEd 5.0, written in 1991, and thought “Yes, I can’t use this code for anything ...” [laughs]

JL : [laughs]

JR : Don't forget that tools live longer than games.

JL : This is great advice. Thank you so much, I really appreciate you taking the time to communicate with me.

JR : Thank you!

Source: https://habr.com/ru/post/410389/