Malpractice: Post-mortem

There's about a week left before play+rate ends, and I'm looking forward to my results already. There's not one thing I would've done differently given a do-over. These are words you'll never hear me say again. There are countless things I would do differently in hindsight. I learned a lot. In particular I learned what finding a game breaking bug 6 minutes before hand in of a game jam feels like. This was a particularly fun first-time experience.
Tools Used
- Unity
- VS Code
- Inkscape
- Paint
- Bosca Ceoil
- SFXR
- Audacity
I'm going to use a cliché to structure the rest of this, because ~~laziness~~ I've never done one before.
The Good
I spent 30 hours working on the game breaking only for a full night's sleep and eating etc. It was tough but actually really enjoyable.
I've received super nice comments regarding the music and art style of the game, which I was not expecting at all. It's kind of blown me away really.
The game actually got made. For me personally the challenge of actually completing something and getting it out there in the time limit was a huge goal. It mostly worked. Success? I think so.
The Bad
Random.Range(). This guy has his uses yes, but I learned the hard way that random does not equal fun, It's not predictable, repeatable, measurable or even very random feeling.
I didn't play test the game much. It was always a case of 'does this feature work'? I didn't bottom out how the game reacted, how it was won or lost and I never found the right balance. I would definitely put a lot more time into this next time around.
Did I Win Yet?
I spent way too long on the art of the game. Everything took way longer than I anticipated. Towards the end it was easier to justify a new sprite or tweaking an effect than fixing the broken gameplay.
The Hacky
I got carried away writing goofy joke names and descriptions for the illnesses. I should not have bothered with this at all.

I built the patient movement system in the last hour or so. It's pretty rushed. It uses two way points and uses the below method to move towards them. When cure the patient calls LeaveHospital() which heads to waypoint[1] which is the CongregationPoint and if the patient is leaving and close to that point it sets a new destination to the SpawnPoint where the GameObject is destroyed. It works reasonably well. Who needs A* pathfinding amirite?

``` void MoveTowardsDestination() { if (Vector3.Distance(transform.position, destination) < stopDist) { if (leavingHospital) { if (Vector3.Distance(transform.position, waypoints[0].transform.position) < stopDist) { Destroy(patientObject.gameObject); return; }
SetNewDestination(new Vector3(waypoints[0].transform.position.x + Random.Range(-2, 2),
waypoints[0].transform.position.y + Random.Range(-1, 1),
0f));
return;
}
this.transform.SetPositionAndRotation(destination, Quaternion.identity);
RemoveDestination();
return;
}
Vector3 direction = destination - transform.position;
if (Vector3.Dot(direction, Vector3.up) > 0.0f)
{
patientObject.SetSpriteUpwards();
}
else
{
patientObject.SetNormalSprite();
}
patientObject.transform.Translate(Vector3.Normalize(direction) * movementSpeed * Time.deltaTime);
} ```
public void LeaveHospital()
{
leavingHospital = true;
SetNewDestination(new Vector3(waypoints[1].transform.position.x + Random.Range(-2, 2),
waypoints[1].transform.position.y + Random.Range(-1, 1),
0f));
}
Next time through I'll try to record some work in progress, and definitely save different builds so I can talk more about the behind the scenes work.
Final Words (tl;dr)
Game jams are awesome. They're awesome because they're a great tool for self-assessment and growth. You get out so much more out than you put in and I've learned so much about game-making and myself (nause). People here are really supportive and that's really inspiring. Finally: play-test your games!
And play mine here!

