macaroni.dev

Ludum Dare 47

Our first Ludum Dare is in the books!

ld47-blog.gif

Echoes of Ouroboros is a 2D puzzle game. Play as a thief who must finish a job… under loopy circumstances! It's available to download from our LD page for Windows, Mac, and Linux!

We're macaroni.dev, a husband-and-wife game studio. This is our first ever game jam submission :)

We went with a puzzle game since we felt it really fit the theme. Neither of us are big on puzzle games, so we were both pleasantly surprised how much we enjoyed making this one.

The game runs on a from-scratch engine written in Haskell during the Jam - built on the gloss graphics library. The art is also all original and made during the Jam in Clip Studio Paint.

We didn't get things packaged up by the end of the Jam and nearly cried because we thought we missed out. Luckily there was that hour submission window! We were RELIEVED.

Now the hard part is over - time to play some games!

Last Chance to play Echoes of Ouroboros!

Echoes of Ouroboros is a 2D puzzle game. Play as a thief who must finish a job… under loopy circumstances!

This is our first ever game jam submission, and our first game built from scratch in Haskell!

eoo.gif

We have post-Jam version coming soon (end of the week?) with: * Improved animations * Rebalanced puzzles * New puzzles * Music * Sound effects * Lore

We are already working to turn this into a fully-featured adventure of a game, and this post-Jam version is the first step!

If you're interested in playing future versions of Echoes of Ouroboros, comment on this post or the LD entry itself and we'll ping you with updates. Or you can follow us on itch.io

Ludum Dare 48

With time winding down, here are some games to check out!

  • Going Down - A game with an eerie feel and really nice graphics and sound.
  • Cat Sweeper - A classic mechanic applied to fit this theme. Wish I could have this on my phone!
  • Dig To the Core - Really addictive once I got going. The minimal graphics really do a lot for it too.

We sadly didn't get to play it (couldn't get it to run on my Linux machine - but others clearly could play it on Windows), but Condemned has some amazing graphics from the screenshots. Hopefully we'll figure out playing it soon :)

Ludum Dare 49

We're in!

This will be our 4th Ludum Dare. My wife and I have a dream to be game developers, and LD is a great opportunity to focus 100% on gamedev instead of our day jobs :)

We've published two LD games and are hoping to add a third to our catalogue!

Here's our stack if you're interested:

  • Language: Haskell
  • Engine: Custom 2D engine that's been evolving since our first LD. Built on SDL2, sdl-gpu, and some cute_headers.
  • Art: Clip Studio Paint
  • Sound and Music: LMMS, Audacity + recording sounds and music from real life

Day 1: We have an idea!

B88537B2-DAB8-4333-89CE-9A0DA2C3A55E.jpeg

We spent a lot more time than usual thinking through ideas today. After working through multiple different games, we've landed on one to attempt!

Think Pokémon Puzzle League + Galaga set inside a nuclear reactor :radioactive:

Ludum Dare 50

Let's do it!

We are macaroni.dev, a husband-and-wife gamedev studio. This will be our 5th Ludum Dare! We can't wait to make a new game we never could've imagined - and we're excited to play everyone else's.

Here's the stack we've been iterating on for years: - Art and animations made in Clip Studio Paint - Custom Haskell engine built on.. - SDL2 - sdl-gpu - cutec2 - cutesound - apecs - A mountain of other Haskell libraries - Developed on NixOS - Cross-compiled for Windows with mingw and haskell.nix - Music made with klystrack - Sound effects synthesized with sfxr-qt and edited with csound-expression

Good luck everybody!

[ANN] BOULDER full version is in development!

4cff3.gif

We are proud to announce that we plan to develop & release a full version of our LD50 game, BOULDER. You can find it (and follow development!) on itch.io here: https://macaronidev.itch.io/boulder

Planned features:

  • Scale every mountainside: Multiple levels with an overworld connecting them
  • Different boulder types with different attributes & abilities
  • More hazards and enemies
  • Full soundtrack

Ludum Dare 51

We're back for our 5th Ludum Dare game!

It's also our 5th wedding anniversary :)

We've made a lot of progress on our Haskell game engine. We have frame-stepping and the ability to hook the Haskell REPL directly into the game now. It should speed up iteration time like crazy. Perfect for a jam.

We've also open-sourced our tooling that we use to develop on Linux and cross-compile for Windows! Check it out.

Excited to be making games with everyone once again. Can't wait to play them all 🥂

Where's the Beef?

cattle.png

The aliens on the mothership are hungry, so join the rustlers and give 'em some beef!

This is our fifth game jam. Our game is built entirely in Haskell, and the graphics are hand-drawn in Clip Studio Paint. The sound effects were made in sfxr, we did the voice-acting ourselves, and the background music was played on a Kurt Cobain Jaguar.

Give it a try and tell us how many cows you can abduct!

Deep Dive on Alien Flight Controls

Some feedback we've gotten for "Alien Cattle Rustlers" is that the controls are hard to use and understand, so we wanted to write a blog post explaining the control scheme in more detail than we could fit in our game.

Our game is about herding cattle in a UFO, so we wanted the controls to be immersive and expressive. Traditional thrust-like (e.g. Asteroids) controls didn't make sense for a flying saucer. Instead, we thought a UFO would be driven by a control stick. Tilting it in a direction would make your UFO go in that direction at a speed proportional to the tilt.

A gamepad with a joystick is the ideal game controller for this, but most people don't have those on-hand. So what we did was create a way to emulate analog joystick controls with a mouse.

Clicking the mouse is analogous to "gripping" the stick. While "gripping" it, moving the mouse is analogous to "tilting" the stick. Release the mouse releases the stick, which then snaps back to neutral.

Internally, we have "virtual control stick" model that is updated by parsing mouse inputs. Below is a visualization of the stick along with our UFO moving according to its inputs:

test.gif

You can try out this demo by clicking F1 on our game's title screen.

Once you get used to it, it really does feel as precise as using a real joystick! We think it would be fun to rig up such a "virtual control stick" to classic analog games like Super Mario 64 or Super Smash Bros Melee and see how it fares :)

Alien Cattle Rustlers now has controller support!

cowstrongCow1.png cow/strongCow2.png cow__Cow3.png

We've already written about how Alien Cattle Rustlers uses a mouse to emulate a control stick. It is a bit odd and hard to understand at first, so we've added controller support! So far we've only tested it on a DS4. This is the first time we've ever had controller support, so any feedback or bug reports are welcome :)

Adding the support was pretty easy. Logically, the game was already powered by a "virtual control stick." So all we needed to do was parse SDL2 controller events into our virtual version.

After trying both modes out, we think the controller version is more intuitive, but the mouse version (once mastered) allows for tighter movement. Try it out and let us know what you think!

Ludum Dare 52

We're doing the Extra!

After completing a lot of jams in 72 hours, this time we found ourselves too tired to push through and with an idea that we really like that needs more time to be fully realized.

So instead of scrapping together a Jam entry, we're gonna spend the next three weeks on the Extra!

Still can't wait to play everyone else's games :)

Ludum Dare 53

We're in!

Husband and wife team checking in to make yet another Haskell game :metal: