Clocks: clock face (top), mechanism

a week of chaos but tangible progress

Hey everyone, in this post I will be giving a rough breakdown of the progress I made in the past week, some decisions that I have made and what is next. In my last post I talked about what my “Core Pillars” are, which was a bit more abstract and today I have some more factual info to share, hope you find it useful.

Enemy reactions based on type of Weapons

This is something I have been thinking for a while and I think it would be great to have, to give each weapon a bit more identity past the visuals. I added some functionality to make the enemies react differently on the type of weapons we hit them with:

The enemy now reacts differently to primary and secondary attacks. Primary attacks have more weight as they are heavy, so it would make sense to displace the enemy a little bit and lift them off the floor (for the smaller enemies, larger ones would resist this). It is not really noticeable but I also added control of the displacement impulse applied to the enemy, so the motion reduces over time, over a few frames and not instantly, example:

This is what the full implementation would print, showing me that the enemy decelerates smoothly after the initial impulse imapct:

=== HEAVY IMPACT START ===
Original - Mass: 1.0 | Damping: 0.5
Applied impulse: 550.0 in direction: (0.331177, 0.0)
Heavy physics applied - Mass: 6.0 | Damping: 19.0
Velocity after impulse: (0.0, 0.0)
Held heavy physics for 174ms | Velocity now: (0.0, 0.0)
Fade step 1/4 - Damping: 13.625 | Mass: 5.375 | Velocity: (0.0, 0.0)
Fade step 2/4 - Damping: 9.25 | Mass: 4.28125 | Velocity: (0.0, 0.0)
Fade step 3/4 - Damping: 4.875 | Mass: 3.05078125 | Velocity: (0.0, 0.0)
Fade step 4/4 - Damping: 0.5 | Mass: 2.025390625 | Velocity: (0.0, 0.0)
Physics reset - Mass: 1.0 | Damping: 0.5 | Final velocity: (0.0, 0.0)
=== HEAVY IMPACT END ===

We basically reduce the damping and the mass over time to give a smoother feel, perhaps it eneds more tweeks to make more noticeable but I am happy wit the initial implementation of this. Tweeking these numbers allows me to control how far I need the pushback to be – the greater the pushback, the more obvious the deceleration is.

Adding a further sense of weight to the Player

If you think about it, swinging large objects would require us to slow down or stop to get a good grip and then execute the motion, so I figured that slowing down the player or making them completely stop for certain attacks, really adds to the feeling that there is weight behind the attack.

Primary attacks would do a full stop for the duration of the attack.
Secondary attacks can be executed while moving, but the movement will be reduced.

A bit of art work

I have not had a lot of time this week to spend on the art, and when I say art, I mean backgrounds and props, the animations are done by an artist I work with. I will explain this in more detail, perhaps in another post that explains the art pipeline in general for the project and how it comes together, but to make it clear, the animations are done by a professional that I have commissioned and not by me, which I think is the right call.

Tha being said, here is some of the work I have been working on. Currently looking at different compositions for the props. This is just an example of the props I plan to add and not the final version

Props mockup using Pixquare on iPad.

Minor UI changes

I had enough from looking at the basic buttons to swap weapons and decided to explore a new UI setup for the weapons and how they are shown in the UI to the player. This is a very rough placeholder that I put together very quickly and it is not final and it will probably change, but it is something that I did this week. Let me know if you like or you can think it can look better. You could see that in the video now that there are no more hideous buttons saying “Hammer”, “Axe” or “Sword”, which is nice.

More enemy enhancements

I was struggling to see how the combat unfolds when interacting with the enemy so I added a health bar to it and damage numbers, which made the engagement a lot more fun. Now I could see damage numbers from each swing and I could also see health depleting! I will use the same video as before to highlight that implementation if you have missed it.

I am also experimenting with a Posture Bar. The enemy will react to some of the attacks in a special way – when we do a side sweep with the hammer, the enemy will be launched against the background wall, smashing it and falling down. But I think this should not be spammed and it should be more of a reward by putting the enemy in a special state, for example “posture broken” state.

I added a very quick visual that sows under the health bar to tell me when posture is broken, this will tell me that the next side sweep attack will actually make the enemy react in a different way:

This approach as a whole is still very much in the air and not final. For now I will keep it as is and see how it evolves.
I want the gameplay to tell me what feels right and what doesn’t, I don’t want to force the process.

Level design work and readjusting the proc gen flows

I also started taking a look this week a bit more towards level design for the levels and what they would look like. My initial procedural generation logic does not include branching paths so I need to make it to support that. I am not entirely sure why I spend time on this this week, it is not really important for now because if the combat on it’s own is not fun and good, then no amount of procedural generated levels will compensate for that.

Looking back, I should have probably spend that one evening looking at something else but it is what it is.

There was no tangible outcome from this work other than updating my scaffolding tilesets with different colours so it feels a bit of a waste sadly.

What is next

The major thing remains combat and enemy behaviour.

For the procedural generation enhancement, I will leave that work for later on as the value of doing this now is not good enough, it works as a linear level as is so it’s good enough for now.

In other words, combat and enemy design is the major focus and will start taking a look at defining DPS stats for each weapon and making sure the enemies react to them as expected, including critical strike rating and enemy resistances to blunt, slash and pierce forces.

After that, I will have to focus on more specific enemy behaviour so I will probably take a look at Behaviour Trees and how to start using them.

Closing thoughts

This week was the first week after the holidays and getting back to work and it was a bit difficult to find the right flow for both streams. My thoughts felt a bit scattered but I think I have made good progress compared to the time I have put in, which at the moment is no more than a couple of hours a day but that is just how it is. Building this game as a roguelike is very motivating and cannot wait to show more progress as time goes on. Thanks and see you next time!

Leave a Reply

Hey!

I am Kris, nice to meet you! You can find here my progress updates about the unnanounced roguelike/lite game I am working on. Feel free to connect with me and share any and all feddback!

Register interest

Signup for early access invites, new content reveals, and major announcements. No spam.

Discover more from Double Damage

Subscribe now to keep reading and get access to the full archive.

Continue reading