Unity / C# · 2026 · 4 weeks
Wild West Cooking
Silly physics-based cooking sim.
Trailer
About this project
Wild West Cooking is a cooking game built for our PIP-2 course.
The kitchen is event-driven: stations announce what they did, and the audio, UI, and order systems react without referencing each other.
Role & tech
Lead Programmer
6-person team
Worked alongside another programmer, developing the player controller, implementing the core gameplay loop, and creating the UI. Also assigned tasks to the other programmer, gave feedback on their work, and reviewed their scripts to make sure everything worked as intended.
- Player controller
- Core gameplay loop
- UI
- Unity • Custom task system; pooling built on Unity's ObjectPool
- C# • Event-driven decoupling
Highlights
- Zero-allocating hover detection via non-alloc raycasts + set-diffing
- Reusable TimedTask drives the cook timer, countdown, and UI from one type
Code
Event-driven decoupling
csharpAudio subscribes to domain events: no system references another.
private void OnEnable()
{
Cooking.CookingStartedEvent += StartCookingSound;
OrderBacklog.Instance.OrderFulfilled += PlayOrderSuccess;
}
private void OnDisable()
{
Cooking.CookingStartedEvent -= StartCookingSound;
OrderBacklog.Instance.OrderFulfilled -= PlayOrderSuccess;
}Spring-damper grab
csharpHolding an object is a spring-damper, not a snap.
Vector3 toTarget = _holdTarget.position - _rigidbody.position;
Vector3 velocityError = -_rigidbody.linearVelocity;
Vector3 force = (toTarget * _grabForce) + (velocityError * _forceDamper);
_rigidbody.AddForce(Vector3.ClampMagnitude(force, _maxFollowForce), ForceMode.Acceleration);Screenshots




Interested in working together?
I'm looking for an internship and I'd be glad to talk about Wild West Cooking or anything else I've built.
contact@liv-rehker.dev