DarkHorseDeadCity, GameDesign, GameDev, UnrealEngine4, Writing

Visual Rumors of war

Rumors of war is a visual novel made with the Unreal Engine 4 set the Dark Horse, Dead City world.

Intended from the start to be a short project, the main objective was to get back into the Unreal Engine and try new stuff.

In order to not be stuck in the infinite mud of unfinished project, I decided to start working on the first act of the game, and if it goes well, going onto the next act. The deadline was set to the 3rd of may, and we started around the first week of March. Leaving a little less than a month to do something.

title

In the end, it didn’t go very well, the characters designs were not ready in time, I spent too much time on creating placeholders for the characters, I also wasted a lot of time making some 3D level in order to replace the 2D background.

But, my objectives were mostly completed. Regarding the programming, I had something functional, and I could go back into the blueprint (Unreal Engine scripting tool). As a bonus I wrote some texts for my characters.

How does it works?

It is simply based on an integer going up each time the player push a key. Depending on this integer, a switch would launch the different events. Here what an event looks like :

ROW_event

A first node set the correct sprites, then the text is selected from the data table and the final node display the text on the screen.

To display the different sprites I simply used a camera and 2 sprites (one for the character on the left, the other on the right), each sprites are modified following the progress of the player on the event. I am not using any animation. I have a sprite for each emotion (angry, smile, talk, talk with a smile, etc…) and for each event I set the correct sprite at the correct slot.

ROW_viewport

Did you write all the text directly in the editor?

Nope, Unreal Engine comes with a nice features : the data tables. They are some kind of structured array who can extract data from a csv file. First I created in C++ the structure I needed for my script.

Then I wrote the csv file with the name of the id of the text, the text, actor and mood.

ROW_text

I created a new data table based on the csv file.

And In order to get the data, the native function : GetDataTableRow give a StoryData, a special array containing all the information from one row of the csv file. It can be extracted and used as a normal array.

ROW_storyData

Apart from reading in a csv file, what did you learn?
Saving and loading! It was the hardest part. Usualy I push the saving system to the end of a development, but this time I wondered how to handle it with the unreal engine. There is still some confusion, but I managed to save and load a character progression through the event (Well, it was only saving an Integer, but it is a start 🙂 )

Anything non-programming?

Absolutely! I think it was one of my better planned work. I was intended to work with several people, so I tried to set up a good work environment.

I worked in sprint. Each sunday I would set my goal for the next week. At the end of the week/sprint I go through what worked, what didn’t and then I plan the next week depending on that. I used Trello organize the task. This is a good tool easy to use and to read.

I also wrote a lot of documentation on googledrive, about the lore, the characters, the script, etc…

ROW_shpt

In conclusion :

It was a nice project, even though the result is not here, I’m quite happy with it 😀

The project is available on my GitHub under the name VisualRumorsOfWar.