Dev Log 6

What happend this week

This week I focused on melee combat and bow combat. I removed the path prediction of the arrow and replaced it with a dynamic crosshair. The crosshair size now depends on the string’s distance to the bow.

I watched plenty of GDC talks about melee combat. I took the most from the Last of Us since I like their implementation, but I also took some ideas from God of War and Dreamscaper. Finally, I watched a video about melee systems from Game Makers Toolkit.

This is the first result.

Feedback

I gave it to two friends and already got some feedback. I hit the Last of Us feeling, but the flow is missing.
I am not sure yet if one should be able to aim to have precise attacks. Aiming would make creating a “flowly” gameplay even harder, especially since I want a 1vsN gameplay that works in co-op. It is also maybe too much if I add the finishers, although it would make the gameplay more unique. I will wait for the second feedback.

Dev Log 5

Overall Progress


My Bali visa expired this week, so I moved to Hanoi (Vietnam). Lucky me, they had independence day this week, so most coworking spaces were closed. However, it was nice to explore the city during this time. I also took another flight to Da Nang (Vietnam) this week because I prefer to have a beach around. Long story short -> I didn’t accomplish everything.

Physical Animation


Trying to replace the animated hit response with physical animation was worth it. I like the result. I think I will blend it with some animated hit response, especially for the melee weapons. For them, it looks maybe a little bit too rubber-like.

Epic Fail


I worked on the wrong physic asset. These are used to configure the physical behavior of your character. I selected the zombie mesh and navigated with the option at the top right corner to the physic asset. Unreal pointed me to another physical asset since I replaced the skeleton of the zombie mesh with another one.

Lesson Learned: The details panel of your mesh shows you which physical asset is used.
It took me way longer than I am proud of to figure this mistake out.

Splitscreen


I tried two different approaches to enable crosshairs for the split screen. The first one was using the HUD class. The main benefit is that manipulating it via C++ is relatively easy, and that’s about it. I had to create everything with split-screen capability in mind.

The second approach was using a User Widget. These can be just attached to the player’s viewport. So you can design one HUD and apply it to multiple players without worrying about what it will look like on a split-screen view. Making the crosshair interactive is a little more annoying since I have to use Blueprints. (Blueprints don’t work well with git. I can’t see the diffs, and since no one reviews what I am fabricating, it is handy to see the diffs before I commit a change)

I decided to use the second approach since it feels more flexible and easier to adjust in the long run.

Road Map

I thought about the road map and what I should focus on in the following weeks to reveal my game. I created some tickets in my backlog, and if everything goes as planned, I should be able to show the game in 3-4 weeks.

Next Week

Next week I will focus on the gameplay with melee weapons, bow, and unarmed. I will also add the first interaction between players.

Dev Log 4

This week I added a pickup animation. I manipulate the animation with FABRIK such that the character touches the object it’s picking up.

Then I created a system to play weapon-equip and disarm animations. The tricky part was weapon switching. To play the animation smoothly one after the other was not as straightforward as expected. Since I hadn’t decided where the weapon would be placed, I didn’t spend too much time selecting proper animations.

Then I started to add the combat system. I decided to use box and line tracing for the weapon tracing. Attaching collision boxes didn’t work as expected if the collider was not the root element of the weapon blueprint. So I had no access to the enemies’ bone names. It took me some workaround to access them.
The line trace was added after discovering that the box trace was not precise enough with a low frame rate. Overall I understand ALS4 and the animation system way better than before.

Now it’s possible to dismember zombies with melee weapons, and it’s already fun, although I am using knife combat animations and have almost no visual feedback. I found these two animation packs – Sword and TwoHandSword. They look much smoother, and I imagine they also work with an axe, hammer, or crowbar :).

Marketing

For marketing, I created a Twitter and YouTube account. I will participate in #ScreenshotSaturday and post some videos here and there.

Next Week

Next week I want to create a simple example project to test GAS, and I want to try if it makes sense to add ragdoll animations as hit responses for the zombies. I will add the UI, which only displays a crosshair but also works on splitscreen.
After that, I will try to create a road map for the reveal trailer, which should be the first milestone.