DevLog 04

Dream generation & Player animations.

Michael Schöffel

October 21, 202410 min. read

Dream generation

Last week was very productive. I've made a lot of progress. Firstly, I completed the dream generation. The dream templates created with the editor tool are now being converted into real game worlds. This is how it works now: I create templates for dreams using the editor tool. There I define the room categories and their links. For example, a dream with an entrance and a corridor to a small room. I create a large number of templates for each setting. Here are two templates for a setting as an example:

I then create several of these dream templates for each dream setting. At the moment I have two templates for the first ‘dungeon’ setting. Later, of course, there will be many more. In addition, for each room category that I can use in the templates, there are also several realisations in the game world that I can add to the specific templates as a collection. At the moment, for example, I have five different realisations for the ‘small room’ category. Of course, there will be many more later in the finished game, but it should be enough for now. This is where the magic of the dream generator begins. It first randomly selects a dream template that matches the setting. The dream is then generated based on this template. Suitable rooms are then randomly selected from the collection of rooms that were given to the template and these are connected to each other as specified. Excess entrances to the rooms are then closed off so that the room ends up as a self-contained unit. So, although I don't have a 100 per cent random generation of dreams, I do have an enormous variety of dreams and I can be sure that I always have coherent dreams and no boring, tubular or overly complex dreams. Here are two examples of how the dream generator has transformed the two templates above into a real game world. Here you can see how the rooms are randomly selected and connected. A small room in one dream is not the same small room as in the other dream.

Overall, I am very happy with the dream generation. I just need to create some more content for the finished game. But before that, I have to adapt the graphic style anyway. More on this below. But once there is enough content for different settings, room categories and dream templates, I should be able to create very beautiful and varied dreams. I'm already looking forward to seeing the first dreams in the finished game.

Player animations

After I had generated the dream, I worked on the player's character and created placeholders for it. I then imported these into Unity and created the animations. The animations here are ‘Idle’, i.e. when the player just stands around and does nothing, ‘Move’, when the player moves in any direction and ‘Roll’, when the player dodges. There are different viewing directions for all these animations, as the player can move freely in the world. Specifically, there are up, left, down, right, right-up and left-up. These are then output depending on the player's inputs. For all the animations, I have initially opted for a very simple pixel sequence. The animations are kept very simple and only consist of a few frames. But I think they look very good to start with and they will be reworked later anyway, as soon as the final player design is finalised. Here is a small demonstration of the animations including the viewing direction.

What looks very strange in the animation window doesn't look so bad in the world. My aim was not to have a perfect animation, but to create the foundations on which you can later build and refine the animation. The player designs are still placeholders at the moment and will later be replaced by my own designs, which fit much better with what I have in mind. This is also described below. Here is an example of the idle animation in the world with a different character:

For the animations, I have also already implemented an initial cursor control. Now the animations change depending on the player's viewing direction. There are the viewing directions up, down, left, right, right-up and left-up. I think this is a good division for the game and looks very good, at least in its current form. The player's weapon is also always aimed at the cursor, follows it and pays attention to whether the perspective is in front of or behind the player. Here is a small demonstration of the animations and cursor control.

Art template

Last week I also stumbled across a very fitting and interesting game that illustrates very well the artistic style I envision for my game. Here are two pictures. One as it looks in the dream and one as it looks in the UI. I especially like the very simple and clear pixel style. It's not too detailed and the pixels don't take away too much detail. Everything also looks very coherent and not too cluttered or angular. The only thing I imagine differently are the figures. I'm still looking for good templates. But I wanted to put it down here as a rough illustration so that you can get a better idea of how I imagine my game will look at some point with the assets and sprites.

The upcoming week

Unfortunately, there's a lot going on next week. Various company meetings and the annual Hackerkiste are coming up. So unfortunately I won't be able to do much programming. Nevertheless, I'm trying to get at least the basics of player control done. That means moving the character with the W, A, S and D keys and dodging with the space bar. Maybe I'll even manage to switch the input system to the new Unity Input System. But only time will tell. In any case, next week's progress won't be as great as this week's, but I hope I'll still have something to report. On that note, see you next week.

Further posts

Contact me

Contact me

You got questions or want to get in touch with me?

Name
Michael Schöffel
Phone number
Mobile number on request
Location
Germany, exact location on request
Email
[email protected]

Send me a message

* By clicking the 'Submit' button you agree to a necessary bot analysis by Google reCAPTCHA. Cookies are set and the usage behavior is evaluated. Otherwise please send me an email directly. The following terms of Google apply: Privacy Policy & Terms of Service.

Max. 500 characters