Devlog 1: Research!


Introduction

Heya traveler, thank you for your interest in our project for the course Game Projects at DAE Howest!

First and foremost, let's introduce ourselves: Our colorful team consists of three artists, Irina and Alina, who specialize in stylized graphics and character creation and Geremia,  our tech-savvy environment artist. As well as Bavo and Sander, our brave coding soldiers!

Over the next couple of weeks we'll take you on the journey of creating the fast-paced PvP party game HOT POTATO. You're playing as you're favorite (or least favorite) vegetable, hopping around on a kitchen counter. One random vegetable will hold a hot potato, which is about to explode any second, naturally you will try to pass it on, because you'd rather let your friend explode than yourself now would you? If you do happen to explode, don't fret, there will be plenty of opportunities to mess with your friends directly from the afterlife. Sounds cool?

Perfect, then let's proceed with our first milestone, the research. In this first development update you'll get a glimpse of our first prototypes, the development of the artstyle and some funny little doodles on the side, let's go!

Art

Style and Shaders

We've decided early on in our brainstorming phase, that the perfect art direction for HOT POTATO leans towards a fun cartoon look, focused on minimal texturing and bold shapes. HOT POTATO should read like a fun comic, describing a key selling point of itself. Our artists have fumbled around in Unity and Unreal to create a cel-shaded look, with a combination of outlined and non-outlined variations. Those shaders should interact with the light and cast shadows dynamically, due to the fast-paced nature of the game.

Unreal on one hand gave quick and promising results, however in combination with the forward render pipeline, the technique of outlining the mesh does not produce the preferred results. Unity requires a lot more coding and is a more complex system to set up, especially regarding shader code and custom textures, despite basecolors. In the end, Unreal produced the best looking results, whereas Unity gives us the groundwork we need on the technical side, even if the setup does take us out of our comfort zone!

Some results of our cel shading experiments:


Particle Effects

Another main feature of HOT POTATOS look are the goofy particle effects, let's be honest, what would a game about explosions be, whithout over the top silly effects to go with them.

After messing around in both Unreal and unity, we only managed to get something working in Unreal. We found the whole particle system in unity quite clanky, and not as intuitive as the UE one, where achieving a decent starting result for the splatter fx was rather intuitive and quick.

Here's a fancy GIF of the simple particle effect:

CODING

Funny Physics

We decided it would be best to split our developers into the 2 engines we are choosing between. Both engines have benefits so its important we take our time researching these benefits and ultimately deciding with which engine we will continue. Bavo took the chance to work with unity while Sander went ahead with unreal engine. 

Unity

The research

In our brainstorming sessions we knew we wanted funny physics and ragdolls within in our game, as such it was important to dedicate some time towards them within the engines. In unity we are blessed with a simple tool that creates ragdolls for us, it did not take long before realizing however that the ragdolls it created for us were not perfect. It generates a collider, a character joint and a rigidBody for us, however the collider needs a lot of adjustments to actually fit the character. After tweaking the colliders we get a good ragdoll that works.

Dennis the ragdoll
A very first ragdoll test

now that I had a working ragdoll it was time to test what we can do with this ragdoll. I looked into the concept of "Active ragdolls" these are ragdolls that stay ragdolls but are controllable and can have animations applied to them. I thought this would be very fitting for our game, it would make the game feel more fun and right. This however exposed the problems of the automatic ragdoll we got, it gave us a previously mentioned character joints which are quite limited. However we have not to worry as unity provides us with a component called configurable joints, this means however that I had to make the joints manually which can take some time. Now with the joints set up I could get to work to making the character "Controllable", first however we had to get the character upright. We simply added position spring to the X drive and the YZ drive. Tweaking this gave me a character who can stand up, now we simply add a simple character controller that adds force to the center of mass of the character in the desired direction. The only thing missing is animations, we can do this by having a non ragdolly character hidden that does the animations when needed, our ragdoll can then "Copy" them making a physcis based character with animations.

Unity Conclusion

Overall unity was very easy to work with and provided features supporting what we needed. Our goals we have set for ourselves are very realistic and possible. It would be a great pick for the engine we continue with.

Unreal

The research

Exploring Unreal engine for our project started a little rough. Compared to Unity it seemed much harder to get things flying around in different specific ways whilst ragdolling. Ragdolling itself did not seem too much of an issue, returning to an animated state is not so hard and Unreal provided animations in its started content package to test with. But playing around with momentum, external forces to the character. It is a bit harder to overwrite the realistic physics set that unreal provides. Later on during the prototype it was clear that adding local multiplayer would be a breeze, lot’s of settings in the engine already made some issues disappear for example adding new player only from controllers that did not already join was a setting in the engine. However most of that is a one-time thing.

Unreal conclusion

Prioritizing the long-term issues like tweaking the ragdoll and physics I think is going to consume most of our time working on the project so the unity engine may be more suitable as I believe it will provide us with a more fluent and easier to use physics system that we can make our own.

So, Unity or Unreal then?

Right now, Unity seems like the best choice due to how easy it is to tweak ragdoll physics. Unreal is good at physics until you need them to be wacky, so it would prove more difficult to find a workaround for it since it's such an important element that needs to work together with a lot of our mechanics.


Thank you for staying and reading through our silly adventures, we hope to see you next week for our HOT POTATO prototype shenanigans and a first look at some core gameplay mechanics in action!

Get Hot Potato

Leave a comment

Log in with itch.io to leave a comment.