A new year has begun and that means a clean slate! Following up on some feedback, I decided to start making blog posts every now and then, this being the first. Both @Lupin and I burned down pretty badly after the release of v0.3. On top of pesky bosses with stupid jobs and personal issues, things were slow, too slow. We felt a new year meant a new start, so instead of doing a bit of this and that, we both decided it was best to just take 2 weeks off before the end of the year. Get months of frustration out of our system and start the new year relaxed and stress-free, on the condition we get back to work right away. We have kept to that promise and I must admit: It feels good to be back. One of the ongoing issues with the game, besides our launcher *sigh*, was the fact we made such a mess of v0.3 to just get it out of the door, that it was in a completely unusable state for any further additions. Changing one thing would literally topple over something completely unrelated. Leading up to the new year we massively restructured the game and got rid of all legacy that got introduced over time. @Jasonafex has redone all sex-scenes in a more optimized format, which not only speeds up the game, it has reduced its size by 400MB at least. One of the other things that got massively changed is the dialogue system (yes, again). The reason for this is simply, our old editor and dialogue would produce code files that were thousands and thousands lines of code long and then had to be compiled with the game. Not only could we not debug these properly, you had to make changes in an editor we made for it, re-export the dialogues, re-import them into the game, compile the load and test. Rinse and repeat. It was very time consuming. Obviously we diverted from this "rule" in regards to the release of v0.3 and started hacking around in the generated files instead because it was faster. Very stupid, because after v0.3 our dialogues were no longer in sync so we would have to dig up all our changes and make those work in the editor one way or another. Yea... no. Behold editor v2.0! Technically it's still v1.0 but yea, okay, shush. Starting this year it was my task to get rid of these problems once and for all. @Lupin had developed a new event system for the game, so all I really had to do was take the old editor and make it work with the new event system, right? Well, it was obviously a bit harder than that. I also simply didn't like our editor anymore, it was my first attempt at making a complex WPF application, Itried to copy the Bethesda Creation Kit (and succeeded), it was however buggy, editing of dialogues was laggy, we only had 5 working nodes (whereas for the new version we would need 20+), huge trees became unmanageable, it simply wasn't up to par for something in the year 2016. A picture says more than a thousand words: (This simple dialogue generated a piece of code that's about 120 lines of code long, including formatting). I took the code-base of the first editor, copied over all useful parts and reworked the components as I saw fit. This time with speed, optimization and test-ability in mind, no more Creation Kit, just what we needed! The programmer that I am I obviously still ended up making parts reusable and doing a bit more than required, for example properly abstracting the node-graph library (I can literally make a Unreal Blueprints with these now, which I might just because I can - also any resemblance with that picture is purely coincidental ). I also made the UI way shinier than it had to be, but its 2016 damn it! Behold: And best of all, I can immediately test this in-game with one click! (UI is a placeholder, don't worry). With that out of the way, testing also becomes mostly the responsibility of the writers and editors. Meaning we as programmers can just focus on what makes the game click! If you liked this blog-post, please let me know by liking and subscribing. I'll be sure to do more in-depth posts in the future. Also support us on Patreon! Or support just me :3 PS. Don't worry about the old dialogue, I made a converter that with a little bit of magic converts them to the new format where we only have to rework the custom parts we hacked in (hurray for the new Comment-node).