Par for the Dungeon
Bonk your way through this stripped-down take on a Dungeon Crawler, built a-top the foundation of the original less-is-more game...Golf!
Created in one week for the Blackthornprod Game Jam
Credits:
Josh Cappelli @OddBirdJosh - Art, Design, and Tech
Ethan Merchant @spatialfree - SFX
Haruspex - Music
Status | In development |
Platforms | HTML5 |
Rating | Rated 4.8 out of 5 stars (9 total ratings) |
Author | JoshCapp |
Genre | Sports, Role Playing |
Made with | Unity |
Tags | 3D, Cute, Golf, Singleplayer, web |
Comments
Log in with itch.io to leave a comment.
Great game! Siga asi pa
good game
This is excellent. I wonder if you'd be willing to share the code (your scripts, specifically) on GitHub. I'm mainly looking for implementations of drawing clean circles and trajectory lines, and interested in how you've done so here. Thanks!
I don't know if I feel comfortable putting the whole project on github publicly. But the line drawing is actually quite simple.
Both the trajectory line and the circle around the player are just made using the built-in Unity line renderer.
This is the Circle Drawer Script for example (hopefully more readable if you paste it into your ide):
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(LineRenderer))]
public class CircleDrawer : MonoBehaviour
{
private struct CircleProperties
{
public float Radius;
public float LineWidth;
public CircleProperties(float radius, float lineWidth)
{
Radius = radius;
LineWidth = lineWidth;
}
}
[SerializeField]
private int _resolution = 20;
[SerializeField]
private float _lerpSpeed = 3f;
private LineRenderer _lineRenderer = null;
private CircleProperties _currentCircle = new CircleProperties(1f, 0.5f);
private CircleProperties _targetCircle = new CircleProperties(1f, 0.5f);
private Transform _transform = null;
private Transform _followTarget = null;
private Vector3 _followOffset = Vector3.zero;
private void Awake()
{
_transform = transform;
_lineRenderer = GetComponent<LineRenderer>();
_lineRenderer.enabled = false;
}
private void Update()
{
if (_followTarget)
{
transform.position = _followTarget.position + _followOffset + Vector3.up * (_currentCircle.LineWidth/2f);
}
if (_lineRenderer.enabled)
{
if (_lineRenderer.positionCount != _resolution)
_lineRenderer.positionCount = _resolution;
float anglePerCount = 360f / ((float)_resolution);
for (int i = 0; i < _resolution; i++)
{
float currentAngle = anglePerCount * (float)i;
currentAngle *= Mathf.Deg2Rad;
Vector3 unitVector = new Vector3(Mathf.Cos(currentAngle), 0f, Mathf.Sin(currentAngle));
_lineRenderer.SetPosition(i, _transform.position + (unitVector * _currentCircle.Radius));
}
_lineRenderer.widthMultiplier = _currentCircle.LineWidth;
CircleProperties updatedCircle = _currentCircle;
updatedCircle.Radius = Mathf.Lerp(_currentCircle.Radius, _targetCircle.Radius, _lerpSpeed * Time.unscaledDeltaTime);
updatedCircle.LineWidth = Mathf.Lerp(_currentCircle.LineWidth, _targetCircle.LineWidth, _lerpSpeed * Time.unscaledDeltaTime);
_currentCircle = updatedCircle;
}
}
public void SetFollowTarget(Transform target, Vector3 offset)
{
_followTarget = target;
_followOffset = offset;
}
public void TurnOff()
{
_lineRenderer.enabled = false;
_targetCircle = new CircleProperties(1f, 0.5f);
}
public void SetCircle(float radius, float lineWidth)
{
_lineRenderer.enabled = true;
_targetCircle = new CircleProperties(radius, lineWidth);
}
}
Wow, this is great. I'll try it out today. I had assumed that circles needed meshes, I never thought about doing a circle with a line renderer for some reason. I appreciate this. Thanks!
It's well made.
this is really cute and well made!
well done
This is such a cute little golf game! I love the animation of the ball somewhat jumping into the hole! I could definitely play a lot more levels of this, its so well made, has unique game mechanics and was super fun :D Great job! Game play starts at 6:06 if interested :)
Thanks for the video! Haha, seeing you play it makes me see a lot of things that could be improved, but I'm glad you liked it :D
Oh the game was still super fun, I wouldn't change much to be honest...I just lack patience :') Great work man! :D
Add more levels, maybe an increase in difficulty and you could easily publish this on Steam!
Maybe you could add more items as well. Either way if this game does make a full release I will be looking out for it!
Also another thing I would say if you do make a full release try not to add too many levels where you are just avoiding water like in the last level. It is fun a few times, but personally speaking, I had more fun bouncing off of the walls and that felt more dungeon-esque
Also adding props you would see at a Mini Golf course would be a cool addition but then it begins to lose simplicity, I just thought I would throw the idea out there.
GG
A really fun game! Extremely polished and has a really great playing feel.
Feel free to check my own entry for the jam <3 I'm curious to know if you like it !
The gameplay and puzzles themselves are pretty simple, but boy it looks so much professional! Cartoonish shading for characters and environments is very nice, but boy I love all UI animation, screen transitions, the final score card.
A rather neat puzzle/golf/dungeon-crawling game!
The experience is fun, the controls work well and are intuitive, and there are some nice touches to it. ^_^
So good! Love the art style and design! You should totally make a full game out of it
This is a really fun game! I like the fun, yet simple, style of the game.
Hey, that's pretty neat! The game is really polished! Did you make the models?
Thanks! Yeah I made all the models in Blender :)
Cool game, I like it. Wish there was a restart button so when you know you mess up you can restart
Yeah that's fair, thanks for the feedback. Glad you liked it!