In this blog post I will explain the process that's gone into making the tutorials that you can currently play in-game in the official build.
The story begins with the sad departure of Dan Menard as the project leader. Juzz, Verox and yours truly took over the project, and we started by reflecting on past events. Why had the player base diminished so rapidly after the steam release? What makes players give up on Eternal Silence?
We all knew ES was great, awesome fun, and had a lot more undeveloped potential to give, so it was a bit puzzling to us initially. After thinking about it for a while, and observing official servers, we found that the steep skill curve was probably to blame. We estimated that most newbies downloaded the game, joined a server and then got their asses handed to them by more experienced players because the newbies didn't know how to fly, how to do evasive maneuvers, or how to play the hardcore gamemode. Furthermore, a lot of frustration was seen amongst experienced players, when newbies took up bombers, or even worse, gunships(as they were named back then), and didn't know what to do with them.
Thus, we started to put down a plan about what to do about this. We discussed multiple approach methods(video tutorials, guides, and more) but decided that in-game, playable tutorials was the way to go, although it would require more work than the other approaches.
Thus began the long process of developing the tutorials.
First off came the planning phase. How should the tutorials be structured? What topics should be covered? And, one of the most challenging questions, how do we teach the elements of flight and space combat best?
After discussing and planning for a while, we finally had an outline, and could start writing scripts for the tutorials, as they definitely required instructional voice acting. That took a while, too, as we needed to make the script, concise, precise and as easy to understand as possible. The scripts underwent lots of changes to make it to this stage, which in my opinion is pretty good.
Then came the actual development. At this point, I, myself, was a newbie-mapper, having only worked on 1 map before. Additionally, Juzz and Verox weren't yet as experienced with the source engine, and to top it off, we didn't have any kind of sound department to work with. I tried my best to fill in the mapping and sound positions, but of course it didn't work, as I had no kind of sound tech experience.
First I tried recording the lines myself. Let's just skip over that part of the story.
Then I got my girlfriend at the time, Treeweird, to record a few of them. I found that her melodious, crystal clear voice(she's a singer) served the purposes of instructional voice-overs perfectly! However, due to my improvised equipment, it took a further couple of months before we managed to get all recordings in a decent quality. Once they were in the house, editing started. As previously stated, I'm not a sound tech, so here, too, development was slow, and with an unsatisfactory result. Luckily, it didn't take long before Spindoctor came along and offered to help. As Spin is awesome with everything regarding sound(he plays a billion instruments really well), he quickly got results with the recordings. He even invested in a high-quality microphone, so he could now record voice-overs at home! So, now we were getting somewhere!
On the mapping front, I'd taken a slight detour with the map es_derelict. This was done for two purposes: 1) I needed to take a break from working on the tutorials(see below for why), and 2) I needed to learn more about mapping.
Once derelict was nearing completion, I returned to the tutorials, having gained a lot of experience with sounds, scripts and mapping.
However, now a new problem cropped up: The volume of the voice-overs. For some reason, they were incredibly low in-game, and other sounds(such as engines or guns) easily drowned out the instructions. Spin and I struggled for what seems like a very long time(a couple of months, I think) on fixing this problem. We tried a lot of stuff - tweaking soundscripts, boosting the raw volume of the sound files to the point where they started to lose quality, soundscapes, and more, but nothing worked. By playing Smashball, I can see they seem to have had the same problem, and didn't find a solution. Finally, I came up with the slightly backwards idea of decreasing the volume of all other sounds.
That problem out of the way, the tutorial was progressing steadily. The original script and outline of the map was built upon and improved with the feedback of the beta lead and his team of 1337 d00ds, and the tutorials was finally getting somewhere. However, now coding became a problem. In order to make the tutorials optimal, we needed a few custom mapping entities for both tutorials. These required items was a long time in the making, because adding entities in Source is a bitch. Furthermore, Source acted unreliable a lot. What had worked yesterday, might not work today, and sometimes the Source engine defied all logic in it's insistence to not work. The coding work took many months to be completed, and became a major hold-back in the development. Finally, our two awesome main coders, Omnicoder and Sghirate, got the entities working, and added additional console commands for hudhints, auto-spawning and fixing a bug with the HUD, that had also been an indescribable pain for months. Terminator, our resident veteran mapper, took over development of the first part of the tutorials from me, as studying medicine was taking it's toll on my free time(see earlier blog posts). By a tremendous effort, he managed to create his own version of the first part and managed to get it ready in time for patch 3.6. Awesome work!
And finally, they were released! The day before yesterday, they went live on Steam, available to all newbies to ever try ES in the future! Sometime today or tomorrow, they will be patched to fix the last bugs, and they'll be done! The relief of them finally being done is incredible!
Concerning mapping tutorials:
Eternal Silence is a multiplayer game. It has never supported any kind of singleplayer, at least not while I've been working on it. Adding a tutorial meant hacking the multiplayer game together to get a functional "mock singleplayer". This has taken a lot of time, and has contained a lot of frustration. As stated before, the Source engine acted very weird. Sometimes, cameras just wouldn't disable despite the right input/output settings, and despite having worked fine yesterday. Termi even had a problem in which a logic_timer entity just wouldn't fire it's outputs! Again, despite all logic, the engine chose to defy us! Working around it took some time, but we did manage to get the tutorials fully functional.
The amount of frustration and hard work it took to develop the tutorials has been terrible. As stated by Termi: "I never want to see this map again!" I can't do anything but agree whole-heartedly, but we may, of course, have to tweak the maps in the future, as new content is added.
I hope this blog post(if you've managed to read through the wall of text) has given you some insight into why the tutorials took so long to develop(by my estimate, around 1½ years). We've had to learn a lot of new stuff and skills, had to deal with a lot of die-hard, illogical bugs, and have had to do everything from scratch multiple times. In my honest opinion, we're heroes for getting this done! :P