Ludum Dare 47 October 2–5, 2020

Launching games

Where do you recommend for launching indie games like we make for ldjam?

Perhaps even paid sites, after a bit of polishing it would be cool to publish and see what happens

Play and rate Timesaver game!

Ninja, time loop, mad scientists and good graphics wait you in our game!

Try it here: https://ldjam.com/events/ludum-dare/47/time-saver

poster.png

Play and rate our game now!

Ninja, mad scientist and manipulation with time wait you in our game!

Try it here: https://ldjam.com/events/ludum-dare/47/time-saver

poster.png

Making the snappy camera of Dude Ranch (Part 2: The Zoom)

Howdy folks! :cowboy:

Back at it again with another breakdown of how I got the camera working for our game, Dude Ranch! This time I’m here to talk about how I implemented the dynamic zoom effect that happens as you mash the mouse buttons to wrangle a particularly thicc Dude into your clutches.

dudeRanchSmall.gif

The logic for this is actually pretty straightforward, so I’ll start with posting the relevant code for you to peruse.

``` private void InitiateImpactZoom() { if (this.ImpactZoomCoroutine == null && this.SnapCoroutine == null) { this.ImpactZoomCoroutine = StartCoroutine(this.ImpactZoom()); } }

private IEnumerator ImpactZoom()
{
    if (this.ImpactReturnCoroutine != null)
    {
        StopCoroutine(this.ImpactReturnCoroutine);
    }

    this.cumulativeYZoom += this.impactZoomAmount;

    Vector3 targetPoint = new Vector3(showcasePoint.x, this.transform.position.y - this.impactZoomAmount, showcasePoint.z);

    while (Mathf.Abs(this.transform.position.y - targetPoint.y) > 0.1f && followPlayer == false)
    {
        this.transform.position = Vector3.Lerp(this.transform.position, targetPoint, this.impactZoomSpeed);
        yield return null;
    }

    this.transform.position = targetPoint;

    this.ImpactReturnCoroutine = StartCoroutine(this.ReturnFromImpactZoom());
    this.ImpactZoomCoroutine = null;
}

private IEnumerator ReturnFromImpactZoom()
{
    Vector3 targetPoint = new Vector3(this.transform.position.x, this.zoomedInYValue, this.transform.position.z);

    while (this.transform.position.y < targetPoint.y && followPlayer == false)
    {
        this.transform.position = Vector3.Lerp(this.transform.position, targetPoint, this.impactReturnZoomSpeed);
        yield return null;
    }

    this.transform.position = targetPoint;
    this.ImpactReturnCoroutine = null;
}

```

I won’t post the full camera script, because honestly it’s a mess of flags and poorly organized code that would probably just serve to confuse rather than educate. But allow me to explain what’s going on here in case any of it’s confusing!

So basically, whenever the player clicks a mouse button to start wrangling a dude in, an event is fired that calls InitiateImpactZoom(). This in turn fires off a coroutine that does the actual zooming. The “showcasePoint” in the ImpactZoom() coroutine is actually the midpoint that we figured out earlier in Part 1. We use this as our anchor to determine what exactly we’re zooming into. Since our game functions on the X/Z plane, we’ll be manipulating the Y position of the camera to zoom in and out.

impactZoomAmount and impactZoomSpeed can be set to whatever you want inside the class, and you can fiddle around with the values to make more bombastic or more understated zoom effects that fit your needs. From there, we just do a simple Lerp in order to ensure that the camera doesn’t jarringly jump to positions and disorient the player.

After the impact zoom was finished, I wanted to have a little “recovery” zoom-out effect that slowly tried to return the camera back to its original position, so it encouraged you to keep wranglin' once you latched onto a Dude.

dudeRanchRecovery.gif

This is called at the end of the ImpactZoom() coroutine, and it slowly “undoes” the effects of the original impact zoom. It’s important to make the value for impactReturnZoomSpeed significantly smaller than the initial impactZoomSpeed, otherwise the camera will look all jumpy zooming in and out between every click. This zoom-out coroutine should also be cancelled if the player clicks again, so it doesn't interfere with the next zoom (this is handled in the first lines of the ImpactZoom() coroutine).

And that’s about it! To be honest, this isn’t the prettiest thing in the world. Every now and then the camera still has its moments where it looks a little jitterier than I would prefer. And as I mentioned before, the whole script that these short functions fit into is an absolute mess, which was the source of many of my frustrating bug hunts…

However, I don’t regret spending so much time fiddling with it and wrestling with bugs, because I like to think the dynamic camera makes a big difference in making our frenetic game feel even more chaotic and playful!

If you’d like, you can see the fruits of our labor by playing Dude Ranch here!

We already have a big ol’ list of games to play from the people who were kind enough to comment on our game, and we’ve already played a ton of super stellar ones already! Be on the lookout for a recommendations post very soon!

‘Til next time! :pointright: :cowboy: :pointright:

Voting

Every game I have checked on the Zero rating sorting has at least two votes. Even the ones with no links. Some people cheating I guess?

9CDF0A05-9C55-4130-BD0B-70DD746DE9EC.jpeg

Play My game!

Go around a racetrack while enemies try to catch up to you!

Here is the game link: https://ldjam.com/events/ludum-dare/47/stuck-in-a-hoard-while-looping immagee.PNG Also, I want to play YOUR games, leave them in the comments and I will rate them!

HONK2 stats so far

honk2emstats/em201014.png

Thank you all for playing HONK II, it's so great to see that we managed to make an appealing game! Thank you!

Streaming Your Games

I know it's kinda late but I'm doing one last session of games streaming. Come into the stream, submit your games and let's have some fun :)

https://twitch.tv/thevinter

You can also check out my game (i still need 7 ratings!): https://ldjam.com/events/ludum-dare/47/memorial

Goop Loop: Behind The Scenes!

I tried to compile all the interesting/relevant parts of Goop Loop's development here: https://www.youtube.com/watch?v=HWtu-_wEPcM (Am I doing clickbait thumbnails correctly?)

The full 20+ hour stream is available here: https://www.twitch.tv/videos/762156354

The game: https://ldjam.com/events/ludum-dare/47/goop-loop

Enjoy!

CONTRAST

Unique game with ORIGINAL gameplay. TWO world. LIGHT and DARKNESS. https://ldjam.com/events/ludum-dare/47/contrast

ContrastMainGameImage.png

Smart balance is so hard

I rate 3 games in danger and it goes up by 0.05 in the best case. Oh well, let's check out more games then.

What's more fun than driving a taxi?

Drifting with a taxi! Who'd have thunk?

drift.gif Just played around with the car physics a bit - less traction (actually, 280.000 times less), bit more horsepower, bit stronger turn angles when speeding and voila, drift fun it is.

What's that, i hear you shout "that looks fun, where i can play?". Nowhere sadly, sorry! Only regular old, non drifting taxi driving available.

https://bippinbits.itch.io/gorilla-taxi (does not contain drifting at all)

Try Re-Version

logo.jpg

Solve puzzles, press buttons, throw cubes! Break cubes! REWIND!!! ALL IN YOUR BROWSER!!!!!!!!!!!!!

ezgif.com-optimize(1).gif

We are currently thinking about putting it into a full game, so all your feedback would be super valuable!

Play it here!

AUTOLOOP

386bb.png

Hey, come and play AUTOLOOP. Help Mamüt to flee the eternal loop of the everyday life by acquiring cyborg body parts.

https://ldjam.com/events/ludum-dare/47/autoloop

Autoloop.png

My first ludum-dare was a 100% success.

This game jam was my first ludum dare and second game jam and it was a blast. It was a fun experience and I got an amazing game concept which I plan on expanding into a small game. Also on that note leave any kind of feedback you have as its highly appreciated

https://ldjam.com/events/ludum-dare/47/bhoot-toobh

and some GIF's and screenshots of the game of the game

final-5f7f3f43873d85008fd75d40-9.gif

ScreenShot_1.png

39b1f.gif

Screenshor_2.png

Balancing Update for our Timesaver game

In this update we fixed some problems with balance and now this game should be much, MUCH better than it was before. If already played previous versions, then it is a good chance to try something new! Try it now: https://ldjam.com/events/ludum-dare/47/time-saver poster