Cardboard Box

Ludum Dare 57

Try our game out!

We've mixed a boss fight with an endless runner! Play and rate!

It was very fun to make. For a while now (mostly outside of Ludum Dare), I've strived for my jam games to look as close to a finished product as possible. I think we've come very close this time.merge_1.gif

How we draw the giant enemy spider!

I've seen some commenters point out the giant enemy spider in the room. Let me explain how we draw it!

merge_0.gif

First things first, I'll explain something about the game itself.

Our game is made for the awesome PICO-8 fantasy console! Because of that, we have to do all the everything ourselves, just like on actual retro game consoles.

So, there are two parts to this. First, we need to figure out how the legs move.

The legs have two joints: one at the spider's body and one knee, as such each leg is defined as two lines: from the body to the knee, and from the knee to the tip.

The body is a static point, the knee rotates around a point, and the tip rotates around a point, "left" legs rotating counter-clockwise and "right" legs rotating clockwise. We draw lines between those joints and boom! Leg.

spiderbro_0.gif

Then we need to actually draw the cool stuff.

spiderbro_1.gif

The spider is drawn from outline to fill, with some overdraw on the outline so there aren't any gaps. Since PICO-8 doesn't have a "thick line" builtin, we have to improvise and do the thick lines ourselves.

The fangs, as well as the pattern on it's back, are sprites, and the eye is a pair of circles.

For some PICO-8 specific stuff:

To draw the black outline on a sprite, we use pal(15, 0) to replace color 15 with a non-transparent color 0, giving us a black color that is distinct from the "background" color. You can actually spot it on a few other sprites, as well as a full "non-transparent black" tile. spiderbro_1.png

For the checkerboard pixel fill, a special function exists in PICO-8 for setting a 4x4 fill pattern, using a number in which bits denote which pixel would use primary or secondary color. We use it like this:

lua fillp(0b1010010110100101) -- Let's cut it up to make it more clear. Mind that numbers don't actually work like this! fillp(0b 1010 0101 1010 0101)

For flashing effects, we just pick a color and randomize it with pal(c, 1+flr(rnd(14)))

The game is here, play it! https://ldjam.com/events/ludum-dare/57/spider-cave-offensive

Frontpaged on Newgrounds and I missed it

Apparently, our LD57 submission was frontpaged on newgrounds.com and I never even realized. Fun.

Have to say, I've been having much, MUCH more luck with people finding my game on Newgrounds rather than on Itch.io, by a factor of at least 10x more views, and that's not counting being frontpaged. I guess I'm mainly uploading my games to Newgrounds now! Screenshotem2025-04-27/em01-22-46.png Screenshotem2025-04-27/em01-20-08.png

See you all next time!

mineremstand/em2.png Postmortem? Eh, not feeling like a full postmortem. Here's some yapping:

  • What went well? Game was made, game is fun. Some minor glitches, but mostly ok.
  • What went welln't? Idk, could've been more fun i think? Some extra visual cues wouldn't have hurt. Need to work on my basics as far as graphics and audio go. I probably can't put a finger on it because...

...Personal best set! Finally top 100! Hard to point anything out when it's literally the best thing we made yet. Screenshotem2025-04-28/em21-15-39.png But also... photoem2025-04-28/em21-16-35.jpg The game is doing well on Newgrounds! Still receiving plays after ratings on LDJAM closed up.

Also need to work on teamplay. I've teamed up with @byzilio for the first (technically second) time, and it went mostly okayish. We've decided to continue teaming up, he does most of the gameplay-related code and I do graphics, audio and presentation-related code. Always wanted to step away from the low level stuff and up towards what makes the game look well. We still need to figure out how to make our code click together better, because frankly, it's a glorious mess... 🤣

NEXT GOALS: - Reach top 10 on LDJAM! - Reach 4.5 on Newgrounds! - Have more fun! - Make more fun!

Team Cardboard Box, signing out. See you all in October!

Ludum Dare 59

Rate Ludum Dare games on Newgrounds!

I've noticed that Ludum Dare games aren't getting much attention on Newgrounds this time around! They seem to have been washed away by Takeover tuesday and other events. In order to show up higher, the games need to exit the "Under Judgement" section by getting more votes.

Please, if you have an account on Newgrounds, log in and rate the games: https://www.newgrounds.com/collection/ludum-dare-59

Or heck, sign up and check out all the nice things there! ldalert.png

Newgrounds edition!

We have a dedicated edition for Newgrounds now!

It includes slightly tweaked difficulty, achievements and a global leaderboard! Rate on LDJam https://ldjam.com/events/ludum-dare/59/linx-elektrika Снимок экрана 2026-04-23 001242.png

Achievements and you

This might look like a "tree found in forest" type post, however, I still want to share this.

Achievements and leaderboards turned out to be powerful tools, even for a jam game.

Recently I've put up an extra edition of our game, LiNX Elektrika (click to play hint-hint wink-wink), on Newgrounds. Side note: Newgrounds is BASED. After giving it some thought, I've also incorporated some of the feedback seen here on the LDJam (mainly, ironed out the extreme difficulty curve) as well as added support for Newgrounds' very own MEDAL and LEADERBOARD systems

Снимок экрана 2026-04-23 235732.png

Very quickly I found out that this funky little feature gives me a very good spread of what people do in my game, how and when. By checking my leaderboards top to bottom and bottom to top, I get to see how far people get in my game, and by checking the medals I can see the involvement for more challenging parts, and draw conclusions on what people actually enjoy doing.

Right now, for each level, I have 2 achievements - "complete it" and "overachieve in it." Снимок экрана 2026-04-24 000308.png I noticed that basicaly nobody (other than achievement hunters, which do exist!) has the achievement for overachieving on the first level, where it doesn't come naturally, but much more stick around on later levels - which checks out.

It turned into a strong analytics feature (yada-yada metrics analytics) for finding out what people are willing to do, such as the achievement for looping 5 times, nobody got it yet.

This is both fun and informative! If uploading to a supporting platform, do add achievements!

Also, play it on Newgrounds, darn it!