Coblos Son

ABOUT

 

“Coblos Son” is a joke and meme-ish game created for Global Game Jam 2024 Surabaya. The game simulates a drunk individual participating in the upcoming election, adding a humorous element to the voting process.

PROJECT INFO

 

Role: Game Programmer

Team Size: 4

Time Frame: 38 Hours

Engine: Unity

INTRODUCTION

 

The Game Jam theme “Make Me Laugh” and my team did a pretty good job at it. The team was shuffled by the committee and the team composition I got is, me as Game Programmer, one Game Designer, one 2D artist, and one Sound Designer.

 

When we was creating this game our way of thinking is to just laugh and enjoy it along the way and make the game just to make people laugh at it. The game idea itself was very absurd from the start which I think that’s one of the essence for this game to be funny.

 

The game is a simulation or a story of one drunk individual participating the election, which able to pee and aim for the target for better accuracy of voting, while also this individual is imagining random Indonesian memes.

 

The gameplay maybe confusing because there’s no indication or tutorial, honestly we don’t have the time. When we present it to other participants, I’m confident we got the most and loudest laugh from everyone. But it was not without critiques, because we displayed some face from the meme we put out.

MY ROLE

 

At this point I was familiar with unity and C#. I began on working the core game mechanics straight away with dummy assets.

 

A problem occurred where I need to move the mouse cursor on its own to add some force feedback for the pee mechanic. There is several way to achieve this, but the one that I use is

Mouse.current. WarpCursorPosition(Vector2)

Which upon using it, I encountered that the package

using UnityEngine.InputSystem

was not available. So I thought this was the engine problem, but then I searched in the package manager there it is, sitting there not activated.

 

Another problem with the pee mechanic. What I did for the pee is, an object will spawned a 3D sphere and shoot the object towards the cursor location.

Rigidbody.AddForce( Camera.main.ScreenToWorldPoint( Input.mousePosition))

This fixes it but the pee doesn’t look realistic, it will a close object the same as the further object. So what I did is took the depth of the target that the mouse hover on.

Vector3 mousePos = Camera.main.ScreenToWorldPoint( Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(mousePos, Vector2.zero);

if (hit.collider != null)
{
mousePos.z = hit.collider.transform. position.z;
}
else
{
mousePos.z = 3;
}

float height = 2.0f;

Vector3 targetPosition = mousePos + Vector3.up * height;
Vector3 forceDirection = (targetPosition – transform.position).normalized;

Rigidbody.AddForce(forceDirection * trajectory, ForceMode.Impulse);

This fixes the pee direction to be more realistic.
 
Other game mechanics went smooth, and I was able to make the code quick enough so the core gameplay is completed and playable. But there was a problem that I realized after the time is up. Apparently the credit video can’t be played on WebGL. Which I replaced with only a text after.

CONCLUSION

 

My team was very fun to work with, it’s a refreshing development since they will always be goofy and just laugh at everything. Our team communication I think was very good, even though I disagree on certain things that my team choose to do, but it’s a fun experience.

 

What I learned there was to enjoy it and not take things so serious can be more rewarding works in game development as well. On the technical side I learned that making easy to read code is not hard, you just need to have consistency all around.

 

Play Coblos Son🔗 on itch.io. There will be instruction on how to play in the description.