XaiJu
malixegames
malixegames

patreon


(Almost) Finishing with the codes

Hey guys. I had said in the last post that I intended to finish the code changes by the end of last month. I could have fulfilled that prediction, but I found a few areas that needed a little attention before I moved on to the next step. The changes that were made make a big difference in the scene editing process and will make things a lot easier for me. Although it is difficult to explain, since everything is related to processes that happen "behind the cameras", I will do my best to explain.

The main change is about how cutscenes are sequenced. I created a system that I call "Screenplay", where each action happens within a "Line", which can be a speech, a thought, or an action. This hasn't changed, but before the lines were sequences in a timeline.

I worked with video editing for a few years so sequencing it this way would be the most natural. However, there are many problems with using a timeline. It's very messy, the commands are stacked in dozens of lines and as the scenes are not linear, it's difficult to notice any failure in the connections between the lines.

I then decided to abandon the timeline and create a more organized way of sequencing lines based on nodes, here is the result.

In this system, each line is represented by a node, and I can see each connection perfectly. In addition to being faster and easier to edit, this makes it easier for me to see the path of conversations, avoiding mistakes even in scenes with complex dialogue.

Each node triggers all the necessary commands for each moment of the cutscene. For this to work I needed to add some improvements. The movement, for example, was all animated on the timeline, I needed to animate the characters' direction and steps. Now the system is automatic, I need to place a marker and ask the character to follow it.

To do this, I make use of the AI system that allows the character even to avoid obstacles. It sounds easy (and it is, now that it's done) but I've had a lot of work trying to get the AI to work accurately on other projects. Here you can see how Nicole always stops exactly at the mark.

Another change worth highlighting is the activation of facial expressions, due to the change in the save system. Before, I needed a list of expressions for each character, and that's why you saw the same expressions repeated throughout the game. The new system saves all expression data, which allows me to go crazy on faces (but I promise not to overdo it).

Not a single line of code was left untouched. I optimized every system in the game and added tools to help me edit scenes. One system in particular that required work was localization, which works translations. The old system worked, but it was a bit of a workaround. I spent a few days creating a new system before discovering that Unity already has a native localization system, which includes some features that interest me.

Another change that occurred to me in the last few days is that I should also create a node system for game tasks, which would avoid bugs like dead ends and infinite loops. It will take me a couple of days to put this into practice, along with the conversion of the translation system, and then the code review stage will be complete.

I also spent some time testing AI voices for the characters, but I think that's a topic for another post.


For now, I thank you for your support, and I wish you all the best.

Comments

Thank you for your message! Your feedback means a lot to me and helps motivate me to continue working on my game. Yes, the node-based system makes it easy to visualize how different parts of the game interact. This can be especially useful when troubleshooting issues or trying to figure out why something isn't working correctly. As for the character movement system, yes, it does allow for changing the movement speed of characters at runtime, allowing for greater flexibility in scene design. I am happy to hear that you enjoy the expressions. I believe that expressive faces add personality and depth to our characters, and I like messing with faces and finding new feelings. I also created states with small random changes in expression and movement in their eyes imitating real patterns. This combined gives a very lively appearance. I have a similar reaction to yours regarding AI voices, but I want my characters to have a voice at some point. I've already set aside a channel just for it, so it will always be possible to mute the voices and keep the music and/or sound effects. I want to show you my experience with AI voices but, to reassure you, I have already ruled out this possibility. No need to apologize! Your messages always provide valuable insights. Thank you again for your support and encouragement!

MaliXe

Hello, I hope you are well after this hard work and that you took the time to rest? It's just amazing what you've managed to do since your last post. I'm really a neophyte when it comes to coding and system creation, but your explanations are clear enough to understand what you've done. It's true that on the screens you can see lines of code for the scenarios you want to narrate in your game. Indeed, the node system allows better visibility and organization (I use it under C4D when I'm doing animation tests on my own, and it allows me to see the whole loop more quickly. But I'm far from being a pro on the subject XD). In any case, the result on the screen is visible and it's great if it makes it easier for you to create routes for your game, that's the main thing! The work on character movement and AI creation is ingenious. I really like this kind of system, which makes it much easier to set up a movement system that avoids having to do each step separately. I presume you can also change a character's movement speed to walk, trot or run, depending on the scenario ? In any case, it saves you a monstrous amount of time in scenes and cinematics, so bravo for setting this up. With facial expressions, it's true that there was some redundancy, but it wasn't really a problem. Now, with your new system and the examples of expressions you've shown us, it's given another dimension and shows a clear evolution. I like the expressions you've implemented in the game, they give an identity and a unique aspect that I like. I also like the one you'll include in your post. Personally, I like the crazy expressions, so I can't wait to see what you come up with. As for the AI voice system, I have to admit I'm a bit apprehensive about it. I deactivate them in games because they don't sound natural, which quickly gives me a headache and I find it takes away from the charm. As far as I'm concerned, no voice isn't a bad thing, because it lets you imagine the voice. After that, I'm curious to see your research and tests on the subject, and I'll keep an open mind. I'm curious to see what you're going to do about the translation system. Congratulations again for all your hard work on the coding, which isn't the most pleasant part of development, but which, once finished, makes the rest much easier. Thank you for taking the time to give us feedback on your adventure in the field of bugs and numbers. I can't wait to see the fruits of your labor! All the best to you and see you soon in a new post ! PS: Sorry for the length of my message ^^. I just saw it finished and posted

Archy_TaxiWhy


More Creators