What visual novel development taught me

Today, I want to come back to the differents projects the team made in order to comment our progression.

Indeed, even if things are slowly changing with the increase of early access games, one often only get a hold of a game through its finale version, in other words, it’s most complete and most accomplished version. An average player may get under the impression that the differents pieces are coming together thanks to some kind of evolution stone to change into a piece of art. Reality is less glamorous but way more reassuring : creating is something you have to learn. The bad news is that it involves a lot of work, the good news is that anyone can try it out. And the Träumendes Mädchen team is no exception, especially me who has the job of being the “leader”. It’s been almost three years now and I’ve learned so much thanks to my teammates, particularly with programming. So I want to draw up some kind of report.

 

June 2012 : Being Beauteous

Some of the first drafts by Morsy. She improved a lot since then!

Back then, the team had already gathered around Milk and we floundered so hard. I was aware we were jumping the gun when we started with a project this big and I really wanted to make up for that with something short. The first version of Being Beauteous was born like that and we planned to make it during some French contest that happened in a small convention. Even if it didn’t looked much, BB hold a special place in my heart because it was our first completed project. It was really simple (text and some CGs) but we did have troubles during the competition because of the GUI. So it’s only with the 2nd version (the first available one actually) that we managed to fix those bugs. Also, we slowly realized that having a translation was really important to share our works to folks around the world.

What I learned : to finish a project, to make a bug-less GUI, to understand the importance of an English translation.

 

February 2013 : 1st Episode of Milk

Another draft by Morsy. In the end, those variations never got into the game.

The deliivery of Milk’s 1st Espidode was a real ordeal because it took us like a whole year to see the end of the tunnel. It must be said that there was a lot of content to deal with for such a young team and I immediately understood that we couldn’t go on like that. After all, we were supposed to release the whole game in a row after that! I realized it was impossible and change the plan to an episodic publication. Hence why the demo became “1st episode”. It was also a chance to get to know Renpy a bit better (choosing a custom font, juggle with all the numerous sprites and numerous expressions). Milk’s presentation was really simple and we made a lot of mistakes but I think it was a prerequisite for what came after. Most of the mistakes were corrected (the GUI) or are pending for correction since then (*cough* the scenario). It should be noted that we released the visual novel both in French and English at that time, not without pain.

What I learned : to write a visual novel, to finish a bigger project (without dying), to draw a GUI, to make a siultaneous translation, to manage sprites and expressions.

 

April 2013 : Ambre

I think we all understand why Melow did the game illustrations and not me 8)

Once Milk’s Episode was behind us, I had to tackle Nanoreno! It wasn’t a technical challenge (because the story was linear)  but it sure was a litterary one. Granted the deadline was a pretty difficult thing to handle too but I planned the game not to need too much assets. But really, my personal challenge was to write a short story that would inlude some kind of memorable ending, something striking. Even thought the result wasn’t perfect, I’m relatively proud of the outcome, I think the intended result is here. Ambre was also a good chance to make progress on GUI and animation. We included some light animation for the first time with the petals on the main scene and we tried something with the leafs on the city background. Some elements you would find again in the next release.

What I learned : to write a visual novel while paying attention to the assets needed, to finish a project quickly, to write a story with a memorable ending, to join an event.

 

March 2014 : 2nd Episode of Milk

A pretty sketch by Elairin

We took almost a year on this one again but it was mostly because of the turn-over inside the team. This second episode was mostly a validation of what we made with the first one. Indeed, many project don’t get past the demo stade, so releasing a new part of the story was a symbolic move. We wanted to show we were still game and that we wouldn’t give up so easily. We took that opportunity to change the GUI (and it was way more difficult than you would imagine!) and include animated backgrounds for the first time. Well, there are only 2 or 3 of them but it was a way to slowly get accustomed to the process.

What I learned : to carry on an under way project, to include animated backgrounds, to renew a team.

 

April 2014 : HVNCML

First GUI tests by Xian

Once again, I wanted to tackle Nanoreno, and once again Milk’s production was late. In 2013 we managed to finish two weeks before the beginning of the contest, this time we finished in the middle of it! Under these circumstances, it was rather difficult to deliver. HVNCML was born a whole week after the deadline. I didn’t write any postmortem because the whole game can be considered one (with a comic point of view). Back then, it was our first technical challenge because I only wanted to try my hand at a IRC-line GUI and didn’t have much planned to use it afterwards. Well, you can consider that making some part of your life public was also a challenge. In a way…it is. This little visual novel was supposed to be a funny extra to the fans that were wondering what we were doing everyday and how our meetings looked like. Yet several people who didn’t know us played it too. It was kind of embarrasing, a bit like getting naked in front of strangers. The whole approach does suppose some trust with the audience.

What I learned : to juggle between several projects at the same time, to try an IRC-like GUI, to reveal my stupidity to the world.

 

July 2014/September 2014 : 3rd Episode of Milk

Orties trademark: writing nonsense on her drawings :p

Milk’s third episode is really seen as an exception among our works because it’s the only damn game that went “easily”. Meaning that we didn’t enconter any particular issue (except a small false note with the translation that wasn’t immediately ready). If anything could happen like that, visual novel dev would be so easy XD. It’s all the more surprising considering we had a lot of pressure due to the fact we promised this part would be ready for Japan Expo, a French convention. The third episode also marked the spread of backgrounds animation.

What I learned : to meet a non-negotiable deadline, to spread backgrounds animation, to release a game in a relaxed way.

 

August 2014 : Garden of Oblivion

A relatively accurate Ludum Dare metaphor…

In the same vein as HVNCML, Garden of Oblivion was planned as a technical challenge: I wanted to put tradionnal visual novel aside to include some point & click elements instead. With an incredibly stressful deadline (Nanoreno is a stroll in a park in omparison). If the graphic part was irreproachable, the coding part was rather…wild. The first version we returned didn’t match my expectations at all and we had to add a whole week of work to get to the result with the second version. The other challenge was for me to write directly in English with the bare minimum of preparation to fit the gamejam spirit. And I’m reserved about the final result, I could have done better. At least, I managed to include more diversity among the characters. The fact remains that the community experience was on par! Ludum Dare really is a big gathering of people and that forms bonds. If you wanna know more, read the postmortem I made right after the competition.

What I learned : to write directly in English, to jon a bigger event, to learn programming in the field, to make an hybrid VN/P&C, to discover the joy of polishing, to include a bit more diversity in a cast.

 

Spring 2015 (?) : 4th Episode of Milk

Orties really likes to write on her drawings…

Milk’s forth episode isn’t out yet but I feel I learned so much already. I think it’s starting from this point that I really felt confortable with RenPy. To the point that I now like to rummage through the script to improve what I can improve. It wouldn’t have happened without slowly getting familiar with the engine, project after project, and the help of Keul. The direct consequence is that this episode is full of small alterations: adjusting the brightness of sprites during night scenes, adjusting the height of non-human sprites, adjusting the font to be more readable, adjusting some transitions to be more dynamic, adjusting sound effect to fit the mood better, light animations on the illustrations. Currently, that’s the work I’m the most proud about and I hope those little things will make the read more interesting, even if they’re not that useful. I also started asking the artists to try different presentation styles (object on top of the background, insert chibi, CG cut in half, CG with many variations).

What I learned : to have a good command of RenPy, to use all my time doing alterations nobody will ever notice, to use sound effects effectively, to experiment different presentations.

 

April 2015 (?) : Ludum Dare 2

Since the game’s production hasn’t started, for logic reason, here’s a scene from Milk Episode 4.

Since we’re planning to enter Ludum Dare again, this part will mostly be anticipation considering we didn’t even begin the project! My main goal is to break the linearity of all our projects so far. Making choices is quite a complex thing to incorporate into a story and as a litterary person, I have trouble with that and I need to learn to write differently. It’s pretty ambitious considering the short deadline but I’ll try to stick to that goal, even if it means releasing a polished version later on. The other goal is to go out of my comfort zone with writing and talk about what I want to talk in a more…frontal manner. Indeed, many of my works address our relation to the norm and try to challenge that notion but it’s mostly told in a tacit fashion. I want to go further and stop censoring myself so much. In this perspective, I want to stage characters different from usual, under-represented ones. Like disable people. Furthermore, I plan to rest on what I learned with all the projects we made up until this point to make a game that’ll make me proud. We’ll see if we’ll manage.

What I want to learn : to make th most of what I learned so far, to write an actual interactive visual novel with branching, to make diversity an essential component of the cast, to prevent myself from self-censorship, to master Renpy enough to not have a hard time…to make a good game?

 

Conclusion

I just wanted to share another scene from Milk Episode 4.

This little overview shows that an individual (just like a team) need time to gain self-confidence and skills. Time to make mistakes, time to correct the mistakes, time to get numerous habits, time to be able to experiment and choose what one wants to do and how. I couldn’t imagine planning the Ludum Dare project years ago, I wouldn’t have felt able to! With this approach in mind (though iterations), the advices from the pros take on their full meaning: always try to make short projects before even tackling the “game of your dreams”.

Everyone need its own pace to learn but nobody can make miracles without any experience whatsoever. The issues of some visual novel Kickstarter are really enlightening in this respect: almost all the projects made by beginners (such as the ones who bragged about the campaign being their first visual novel) are currently running into difficulties and are having troubles keeping their promises. Likewise, the Katawa Shoujo spiritual heirs have disappeared and the few survivors are stuck on demo phase.

Moral : Don’t jump the gun, start small. Wait until you feel ready before shifting up a gear, it can only do you good ;).

2014 was a challenging year

Let’s bring 2014 to a close with a little report of everything that happened this year (like what we did last January).

To begin with, we released Episode 2 from Milk ~La légende des étoiles during mid-March. It was a bit hasty to my taste since we were late in relation to my estimations, and we had to rush through the release to tackle the next task. Which is a shame and I really don’t want the same mistake to recur.

Savane

The good news is that with Episode 2, Milk was officially heading towards Khzi’s part that I loved to write and that contrasts a lot with what I wrote for Episode 1. The cows and Tarô aren’t the main characters anymore and just accompany the long story narrated by our nutty alien. I think Khzi has everything to be popular and the various feedbacks I got confirm that impression. Freyja seems to have fans too, I find that amusing XD.

The key element with this release is essentially our transition to the current team (who gained experience during the journey). We still have a big gap between the art assets but we’ll solve the issue in due course. The current style should stay at least for a while even if we’re not immune to something unexpected.
March was also the month of Nanoreno, and I went from Milk to How visual novel changed my life, released in April, without transition. The artists’s work was precisely limited to avoid burnout so the gain was mostly based on text and programmation. Which turned out to be a nightmare… Overwhelmed, I had to infringe upon my on-the-job training schedule in order to finish the script (and integrate the translation, while I’m at it). The whole thing with an even moreunpredictable  Keul. I copped it, which may explain why the game was a bit delayed. And I thought it would only be a little gift to please our fans. That’ll teach me to do too many things at the same time =’D.

IMG_03032014_221220

Since HVNCML was just a small thing without pretention, I didn’t expect much. So, many month later, I’m really surprised to see people discovering us like that, I sure hope they won’t take fright because of what I wrote XD.

tmgoods

Two visual novel in a year is quite decent, except that we never stop. Never. The big project of the year was of course the team going to the Japan Expo convention. I won’t hide hide, it’s tottaly because of the Endless Seasons guys, they have a catching enthusiasm and were looking for people to share their booth with anyway :p. In the end, Projet Saya offered to supervise and we managed to convince Atelier Dreamnoid to join us in this crazy ride. The preparation was huge, no organiser wanted to leave things to chance, so we ask every participant for thei opinion many times in oder to be in the same wavelength. The Träumendes Mädchen team had to finish many things, with the weight of the crowdfunding campaing on our shoulders, like Episode 3 and some goodies. The remakes got added really fast with the success of the first strechgoal. Thanks to our artists, including Orties and Melow who produces most of the drawings between the two of them, everything turned up alright.

In the end, it was an enriching experience. For a first time in the convention world, I think the team did a good enough job and it was a pleasure to meet everyone IRL and spend time with fellow developpers.

vnje

Once again, it should have been enough but we had to give ourselves more work =’D. The summer end was a good opportunity to put webdesign under construction. The old devblog wasn’t suitable anymore, we wanted a real “shop front” and not a messy page. If posisble, the site had to be both in English and French for pratical reasons. The result still isn’t perfect but we’re working on it!

title screenIcing on the cake, we tried a new game jam : the Ludum Dare. With an even more challenging goal than Nanoreno and a different community, we were assured we need a lot of coffee and wouldn’t get much sleep. Many difficulties made the experience a bit painful on my side (I must be a masochist XD), the team did finish a game in time. Of course, it couldn’t be a big complex one (don’t forget it was done in a weekend) but Garden of Oblivion, published betwee August and September, was the perfect opportunity to male a real game from scratch. We did rely on what we knew well (visual novel) and the result has the same vibed but we learned a lot.

The rest of the year (not much left) was used to progress on Milk Episode 4 and some various little things : like the dematerialised version of the games we sold at Japan Expo, the arranged OST of Being Beauteous by Roganis, a big giveaway, etc.

To conclude,the planning I had in mind for 2014 was loaded and the team used a lot of energy to make it possible. It’s an achievement I’m very proud of and I shouldn’t try to do as much this year if I don’t want my lovely teammates to die of weariness…

I’ll make another post early January to reveal what we’re gonna do in 2015 (a year as surprising as the last one, I hope), so meanwhile I wish you a merry Christmas. Also, here’s a cute Christmas Miruku by Melow ;).

Garden of Oblivion Post-mortem [LD30]

title screenCheck out the game here : http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&uid=39080

It’s been two weeks since the competion, now is the time to sit down and think about what I’ve learned from the experience called Ludum Dare so far. Quite a lot, to be honest…

 

Before the war

To really understand our experience, you have to know where we come from, and, unless you’ve just run into us, you must already know that our lovely unpronounceable team is specialized in creating story-focused games. We’ve been making visual novel for some months now and I’d say we’re starting to get a hold of it. Since I’ve always wanted to add gameplay to make our works more interactive, I thought Ludum Dare would be a good opportunity to do so. The goal was clear : we had to make a game.

LD asylumBut, of course, jumping from mostly linear visual novel to full fledged game in a few days wouldn’t be that easy. So we decided to make a warmup game to practice. Soon, I had some assets to create a tiny prototype. The only thing missing was the code. Being a writer and a manager above all else, I was only able to code simple things and I had never done jumpscares before. So I needed the programmer. And he was so late to help me, I barely had any sleep the night before the launch. But we did it, we finished the prototype (with less features than I intended but, well, it was for practice purpose after all). Then the real deal started.

 

An incomplete idea : Escape paradise

Jardin croquis

Finding the right view to draw the garden wasn’t easy

I’m the kind of person who sucks at improvising. When I write something, I need time to think about the story I’m going to make so that everything fall into place. It could take weeks or months depending on the plot. So, I can’t just enter a gam jam like « YOLO, no preparation whatsoever », I have to at least have some kind of trail. And, luckily, I had an idea about what to do for the contest : a short horror story with some point & click elements. There would be this character trapped in a beautiful garden and he would have to escape but doing so would only uncover terrible things. It was a simple idea that needed work but I thought the theme would help me expand it. The first thing I noticed when I woke up early that Saturday is that the theme was way too vague for my taste. « Connected Worlds » didn’t hold much potential for me. I went with the « life and death » approach but wasn’t really satisfied with the result.

Chambre1

You must have noticed by now that I’m used to write games that lean solely on plot. Plot that sometimes has shock value (like what I did with Ambre) or is built to make people think (like Being Beauteous). But Garden of Oblivion wasn’t leaning on plot like my other projects, it didn’t even need a strong plot. It was relying on the mood, on the gameplay and eventually on the litterary references I put everywhere. Plus, I was too busy managing the artists and trying to code to be able to focus on writing a decent story. So I couldn’t really find a way to expand my idea like I wanted to, making the main character suffer a bit from this issue.

Bibliotheque

 

The main character : never say reven

Usually I tend to be very specific when I ask one of my artists to draw me an important character. Here I didn’t know what I wanted and I didn’t really cared. It could be a man or a woman, white or black, I didn’t mind one bit. I intended to ask Melow to be the character artist but she was a bit sick and couldn’t really work that much. Morsy offered to draw the MC instead because she was interested. Thing is Melow tends to draw cute girls whereas Morsy tends to draw alternative characters, so that little choice completely changed the way the character was brought to life. She was happy to experiment new things and asked me about the gender of that protagonist. Since I didn’t care and had trouble answering properly, she offered me to make the MC gender-neutral. And so, Reven was born without a gender, because we felt it was not a key element to the story (making writing a bit more difficult actually but it was interesting). Since I suck at finding names and I don’t like normal ones, I called Reven like that because it was « never » in reverse. Yeah.

Reven

From a sketch to the almost finished sprite

I was happy with my new designed character but that didn’t help one bit finding how to go into its backstory in depth (like, the reason Reven was send to Eden in the first place is briefly touched upon but not developped). So I didn’t, even though I really wanted to, due to the lack of time. Because of that, Reven is not that much of a well-rounded character, not as deep a others I wrote, and that still bothers me.

 

Puppies make everything better !

1408791725-croquis-animaux

To make a perfect purgatory for our poor Reven, I wanted cute animals to keep the character some company. I asked Melow to draw them inspired by some of the real life plushes I have (hey, stuffed animals are great gifts). Finding names was once again tricky so I went with whatever popped on my mind. Hence the duck being called « Duck McDuck » (I suck at names, remember), the otter « Lotte » and the fox « Fox-tan » (Firefox reference, I guess). The rabbit was more difficult, I racked my brains and decided « Humpty » fitted (he has a big head, he looks like an egg-man to me). Giving them personnality went quite easily. I’m just a bit dispointed we didn’t have the time to make their sprites change expressions outside of dialogues. Another time, maybe.

 

The turning point or « What went horribly wrong »

Hopefully the artists were really motivated and they worked really hard throughout the weekend. One was kinda sick but managed to do some drawings nonetheless, one was staying at my house and hardly took any break and the other stayed late at night to finish as much as she could. The first day was kinda misleading because I had time to tweet a lot, to show people some screenshots, everything seemed to go alright and all. It was definitely the best day for me and I enjoyed the full community experience. But I hadn’t made much progress on the script and was behind schedule, which was an alarming sign. I had to work really hard the other days to make up for it. Thing is, while the graphists were advancing well, Roganis, our musician, wasn’t getting anywhere because of a huge block. He did what he could though and managed to produce some tracks for the game (you can listen to the unused track in the trailer video BTW). But, well, otherwise, everything was going well, right ?

Duchesse

The duchess looked a bit off on the first sketch, so we made a more modern version.

Not really. The biggest problem was that the code was way too complex for me to handle alone. So I couldn’t even start to write all the little interactions I wanted to make or even ensure we had something playable. I was worried sick because in two days, the programmer almost hadn’t showed up. When he finally helped me a bit, there were TONS and TONS of bugs to fix…and he only came the last night to do so. I was on the verge of giving up. He wanted to try his best though, so while the others had finished and gone to their well-deserved rest, we stayed together to finish the game. But we were lacking time so much we could barely add the gameplay part. So the entry we submitted that night at the last minute was a linear story whithout any polish and full of bugs. Like a story-less visual novel. The empty shell of a game, if you will.

colo chambre cauchemar

Making a half-game really frustrated me. After a day of rest, to sleep a bit, I took the following day with the programmer to fix some of the major bugs (turned out game wasn’t beatable). And I worked hard later that week to finally add what I wanted, while asking him for some help. It took us three more days at a normal pace.

 

Garden of horror

The_LD_Asylum 2014-09-09 17-25-04-19

When I thought of making an horror game within 72h, I knew we had to work hard on the backgrounds to offer many variations, including creepy ones. Noone could have pulled it better than Orties since she loves scary things so much. The last version of the garden is especially…lovely. It looked like one of Saya no Uta’s. But, we couldn’t make the animated bits right away, since I needed my programmer for that, so the glowing and moving part are only in the post-jam version. As well as the jumpscares actually. I fiddled with some sound effects and animations to make those. I feel the game wouldn’t have much sense without them. An horror game without jumpscares is just too sad. Say hello to the scarecrow !

 

Puzzles, puzzles, puzzles everywhere !

Surprisingly, we had fun with making the puzzles. Morsy had difficulties to understand what I wanted at first but she managed to make really pretty drawings. I only asked for simple ones but I can’t complain when I see how the knife and axe ones turned out. Even the extra puzzle looked great. Coding them wasn’t too difficult either, so the main task was really more about making the interactions on the background.

Couteau

And then, there was the riddle… I was planning all along to insert one into the game but in the haste I had to come up with something real quick and we couldn’t ask someone to test the result for us. So, in a predictable way, many players complained that the clues weren’t clear and that they had no idea how to pass it, showing us how important it is to ask someone to play your game beforehand X).

 

Afterthoughts

So, what can I learn from this mess ? To begin with, it was obvious that our first time adding gameplay would be painful, and it has been. We learned the hard way that making a game isn’t just putting some assets together, you have to test the game over and over again to correct bugs and make it work for real. What seems like a short and innocent bit of gamedev actually takes you A LOT of time. But it’s that testing phase that makes the game feel alive. But the experience has been enriching and I think we’re now more ready to add gameplay in our stories. Maybe for another edition of Ludum Dare ? Who knows…

Enter the Garden of Oblivion [LD30 entry]

Those among you who’re following us on social networks (especially Twitter) already saw this but the Traumendes Madchen team entered Ludum Dare for the first time last week ! It was a very stressful and interesting experience but we’re gonna go into more details in an upcoming post-mortem. For the moment, enjoy our little game : Garden of Oblivion.

Since Ludum Dare has a 72h time limitation, needless to say we had troubles finishing our entry on time, hence many many bugs. So we took some days to make a polished version. You can grab it on itch.io for free but if you liked it, you can also give us a little tip to support future releases !

Once we’re not busy anymore with the Ludum Dare judging, we’ll finally be able to release the third episode of Milk (finished since June for those who bought it at Japan Expo !) and provide the new download link for our Nanoreno 2014 game (we’ll try to correct it a bit while we’re at it).

So stay tuned and follow us on Twitter, Tumblr or Facebook to be the first to know what we’re going to do next ;).