[ News | About | Media | Downloads | Tutorials | Contact ]


Latest News | Previous Article | Next Article

1 December 2011 - Making Of Water Part I

Now that Water has been released we are already planning our next projects. If you haven't played Water yet, Download It Now. With the Mod Of The Year competition starting, we will be releasing a bunch of articles in the following weeks.

Mod of the Year Awards

Water started from myself and Ross Gardner, a writer on Human Error, joking about making a mod about a mermaid. I started thinking it might be really interesting to program something like the mermaid movement and animations on Source engine and eventually the joke became an actual mod. At the same time I was working on Human Error Coop, which wasn't doing too well. When I talked to Henri and Matt about Water though, they seemed instantly excited. A reaction I didn't really get with Human Error Coop.

So, pretty fast we were doing this mod and we had concept art coming from Matt and Henri making test maps, all while I was coding the core features like the player movement and animations. Stuff like the interaction system were first conceived in the concept art, while dialogue selection system, player scripted sequences, and speech bubbles were simply something I wanted to try out. Some other ideas and features were inspired by other elements of the mod.

Below are details about the ideas and thoughts behind some of the features in Water.

Speech Bubbles

Speech Bubbles were something that we had in mind very early in the development. We had plenty of reasons for using the speech bubbles, one of them being that they would be cheaper to do than voice acting. While we had access to plenty of dedicated voice actors willing to work on the project, it would still be easier to use text instead of voice. The dialogue changed a lot through the development and we were adding some small pieces of text very late in the development as a response to playtesting reports. Using voice actors and having to go through the process of sending the lines to the voice actors, adding lip synch and gestures, would have been a lot more complicated one than simply adding an entry to a text file.

An even bigger reason was the comic book feeling the speech bubbles give. When you can't actually hear the character's voices or the supposedly alien language, it gives a different mood than hearing the voices.

Speech bubbles also allowed players to read the text on their own speed and skip the text when feeling like it, which also made playtesting a lot easier.

There were three major entities releated to speech bubbles in Water: hlss_dialogue, hlss_speech_bubble, and hlss_dialogue_script. hlss_dialogue was meant for dialogue selection, allowing the level designer to set five different choices for the player to choose from. hlss_speech_bubble displays a single speech bubble, and hlss_dialogue_script loads a script file with several speech bubbles displayed after each other. The latter was important in allowing us to easily create and edit longer scenes without having to add a lot of hlss_speech_bubble entities, or having to recompile the map if we wanted to add a line.

Dialogue Scenes

In the dialogue scenes where Water and the NPC she's talking to are shown against a paper background with the puppet stage-show was something we didn't originally plan. It was something we tried at one point when simply having the maps as the background wasn't interesting enough. For example, in the first chapter when Water talks to the Drunk, the camera is positioned high above both of them, so that when the player is in interaction mode, they can see the different objects around the map more easily. This made it very hard to see the expressions on the characters' faces and made for a boring point-of-view for the player.

After seeing this type of screen in Homestuck and other adventure games, I thought about programming a way to render the models on the screen, regardless of where they were positioned in the map. The game sets up three views, first the puppet show stage model, then Water's model, and then the NPC's model. Each view is set up as if they were right next to each other. The characters can be on the other sides of the map, but they are rendered next to each other. They are rendered in the same buffer, while the rest of the map is not rendered at all.

This allowed people to see the gextures and expressions a lot better, and the background gave the dialogue a nice feel. People seemed to like the screen, and we ended up using it in most of our dialogue scenes. We added a way to loop gestures easily with the connection to the speech bubble system.


As none of the dialogue beyond the intro narration is voice acted, music was an important part of Water. In early versions of Water it played continuously, but after playtesting we started to play it only in the most important parts. For example, when the player talks to an important NPC or gets to a location where they are supposed to solve a puzzle, we start the theme music for that map.

We utilized FMOD to allow us play looping music more easily even during level changes. The score for Water was made by Dennis "Entru" Yaremov.

Approaching the Church - Mod DB

Flutastic Strife - Mod DB

Flashback - Mod DB

Player Scripted Sequence

Since we set-out for Water to be third-person from the beginning, it was important to program a way to have scripted sequences for the player. Without them it would have been hard to do even simple things like pressing buttons, or turning valves. The base class we created for the scripted sequences also allowed us to easily create things like the turn based combat controllers, the controllers for the sequence where the player uses the harp on the guard, and so on.

The scripted sequences change the player's inputs so that the game movement code moves the player to the right position, and her body to the right angle.


The interaction system got started from Matt's concept art. It serves as a way for the player to find about the world. We tried adding a lot of dialogue that would tell something about both Water herself and the Fish People. We programmed our own system for NPC interaction, allowing us to filter what NPCs can ask or be asked about certain objects and which can't.

Being able to ask NPCs to pick up objects became an important feature as we used it in a lot of puzzles. It was also the hardest feature to program as the physics of the objects were sometimes tricky to handle with.

Mermaid Color Effect

The mermaid colour effect was my first experiment with shader programming. The idea was that Water was feeling healthy while underwater, but felt unease when not completely emerged in water, and started to lose health while on dry land. Additionally it emphasizes her playful nature and the apathy of the Fish People. She and whoever she is talking to is coloured while the rest of the world is grey.

We also later made everything that had a red tint to be coloured. This helped us emphasize important objects and characters, like the guards in the levels easier.

Turn Based Combat

The turn based combat was also inspired by Homestuck. The reasoning behind making it turn based was the same as waiting for player input during dialogue. I wanted the player to be able to take their time, not having to worry about quick reflexes, but only about figuring out the right combination of attacks. The battles are meant as mini puzzles, not as button smashing fights. Each of the four battles have a different idea to them.

The battles were an opportunity to do a lot of new player animations where the player does something a bit more complicated than just swimming.

What next?

Next week we will release an article about how Water changed through playtesting. We learned a lot during the development of Water, not only about game design, but how to do different things with the Source engine as well. We are eager to start our next project.

If you didn't see the release trailer yet, here it is once again:

Release Trailer







About a week from here we are going to release article about Water changed through playtesting. Remember to vote us on the Mod Of The Year awards!

Download Water now

If you haven't yet played Water, you can download the installer, or use Desura, or unpack the .zip file to SourceMods so that the mod folder is called "water". You will have to have Source SDK Base 2007 installed on your Steam account. You can install Source SDK Base 2007 by accessing the Tools section in your Games Library. You need to have a Source engine game like Half-Life 2, Counter-Strike Source, or Portal to have Source SDK Base 2007 available.

Additionally if you the version of Water you downloaded is 1.0.2 or lower, download 1.0.3 Patch. The current installer is 1.0.3. If you have any problems with installing the patch, or anything else, go to the Water Bugs & Problems page.

[Comment on Moddb]

by Au-heppa
Permalink: http://hlssmod.net/index.php?page=0&news=22

Hide full article list
53.  From Earth Postmortem - 20 August 2018
52.  Friday Update VIII - 13 May 2016
51.  1 April 2016 - Friday Update III
50.  25 March 2016 - Friday Update II
49.  18 March 2016 - Friday Update I
48.  10 March 2016 - Public Beta Released
47.  28 February 2016 - Public Beta Release Date
46.  31 January 2016 - Public Beta
45.  27 September 2015 - Merging Items
44.  20 September 2015 - Teaser Trailer
43.  13 September 2015 - Custom Items
42.  8 April 2015 - Voice Actors, Streams, and Alien Posters
41.  6 December 2014 - Asi pos Ruumste
40.  22 October 2014 - Steam Greenlight
39.  14 June 2014 - Language Barriers
38.  12 February 2014 - Language System
37.  28 December 2013 - Fighting System
36.  6 June 2013 - Level Designers and a Voice Actress
35.  28 April 2013 - Playtesting From Earth
34.  8 April 2013 - Alien AI
33.  18 March 2013 - From The Darkness
32.  4 March 2013 - Climbing System
31.  4 February 2013 - Interaction System
30.  14 January 2013 - First Person
29.  7 January 2013 - What happened to Human Error?
28.  1 January 2013 - From Earth
27.  15 February 2012 - LAST ZOMBIE
26.  16 December 2011 - World Of Water
25.  11 December 2011 - Speech Bubbles
24.  7 December 2011 - Making Of Water Part III
23.  3 December 2011 - Making Of Water Part II
22.  1 December 2011 - Making Of Water Part I
21.  21 November 2011 - A quick look into the making of a gesture
20.  13 November 2011 - Water Released
19.  6 November 2011 - Water Release Date
18.  30 July 2011 - Human Error Source Code Released
17.  6 January 2011 - First Ever Weapon Render
16.  3 December 2010 - Water
15.  26 November 2010 - Controllable Manhacks
14.  28 July 2010 - Alyx Mode and More
13.  14 July 2010 - Human Error Co-op Beta Released
12.  29 May 2010 - Alien Grunt & Controller Give Away
11.  26 April 2010 - He's a frakking Traitor
10.  8 Feb 2010 - Human Error Released
9.  7 Feb 2010 - This Is Larson
8.  29 Dec 2009 - 2010 Trailer
7.  28 Dec 2009 - Super Secret Beta Testing Blog
6.  17 Nov 2009 - Harder, Better, Faster, Stronger
5.  17 Oct 2009 - This Is Noah
4.  23 Jul 2009 - This Is Embarassing
3.  1 Jul 2009 - This Is Au-heppa
2.  17 Mar 2009 - HLSS in Podcast 17
1.  5 Nov 2008 - First Media Release

[ News | About | Media | Downloads | Tutorials | Contact ]

Valve, the Valve logo, Half-Life, the Half-Life logo, the Lambda logo, Steam, the Steam logo, Source, and the Source logo are trademarks and/or registered trademarks of Valve Software. All information is copyright their respective authors. Website designed by my brother.