unless games

LD 38

doing s-mol

smolMainld.png

s-mol can be done in 5 steps:

first, you want to make something even though you are small

second, you try to bounce around ideas

third, you need to sleep suddenly and long

fourth, you have to tune in completely

fifth, you should miss being small

s-mol can also be done in 47 hours.

GAMEPAGE

PLAY IN BROWSER

LD 41

yes

jam =
  if theme.suitable
    (c++, inkscape) -> new vcvrack.module()
  else
    (coffeescript, p5.js, tone.js) -> new browser.game()

# I've been working on some modules lately for the magnificent vcvrack
# and I think it could be interesting to make a new one as an LD entry
# (this is your last chance to click on this link)

setTimeout jam, 4800000

it is about time to finish thinking about stuff and realize something

So before the theme came out I thought about making a module for VCVRack as my entry.
After the theme was announced I got dissatisfied with it (just the usual rejection phase I guess), but it is basically quite fitting for my module plan, as the 2 incompatible genres could be videogames and digital eurorack modules.
It is just that I was waiting for some thematic direction instead of a mechanical (or something) one. Cause this one is pointing me where I was looking already. The only thing that worries me is that it is too niche, and not really accesible, as in noone would download Rack (it's free tho) just to try out my module, or to have a nice addition to their music making tools.
Anyhow, my current idea is to make a module(s) based on some old-school videogames so that the game mechanics would be instantly familiar to a users, and their focus could be spent on figuring out how to connect other stuff to it, and coming up with what to actually modulate inside their rack.
So first I thought about making a sequencer out of a tetris game. But as I learned, it's already been done ( altho not for Rack), it is quite interesting.

Then I juggled some classic games as candidates for modules for a while (on paper), and right now I think I'm ready to make a pong based clock-divider/sequencer kind of thing. Ofc it has been done too in a way, but they gone quite far from being pong, and I want it to be an actual playable game (besides modulating your synth). It will be much less tempo locked, more like a random rhythm (if any) generator. Which is not super exciting at the moment, but it could be a project that I can actually finish on time.

That might just be my main goal at this LD, just finish at all costs.

Here are some images to raise the probability of people reading this post.

rack.pngpong.jpg

arcade games & modular synths are compatible... I failed

Phew.
My pong-based sequencer module is almost complete.
I need to add a few more crucial controls and what-not, build it on windows, and maybe get someone to build it on mac, then some polish, and most importantly, a documentation / tutorial for it (a demo video maybe?).
I think I made the right choice going down the VCV lane, this might turn out to be a useful module after all. It's quite good for making random rhythms and melodies, it is also completely playable, tho no score yet (or ever). It was kinda quick and easy to make. I wonder what could a module-oriented jam bring into existence... one day.

piong.gif

It's funny how this thing started taking care of my background music, half-way through development. ^^

they let piong in!

unlessinpluginmanager.png

My module is now available for all platforms in the VCV Plugin Manager!

I'm amazed how fast this process was, kudos to Andrew Belt, phdsg and anyone who is helping Rack!

I should get into testing your games now!

LD 44

eye man in

if you don't know what to use for music and sound-fx or just want to try something new, take a look at VCVRack the free modular synth for any OS. It is great and since it's open source, anyone can contribute with new modules and people are doing just that, including me: for LD41 I made a module out of the game "pong", which can be played or used to trigger and control stuff in a modular patch. Check this video by dag2009, it's a patch built around that module, where the two players are controlled by other modules in Rack.

https://www.youtube.com/watch?v=sWDFf-pyZE4

if you are interested in modular synthesis, there are tons of videos on youtube about using VCVRack or modular synths in general.

end of plug, glhf!

Ludum Dare 54

grab a friend and make them an enemy

I had fun on the weekend creating my local multiplayer game quarosel that pits you in a duel against your friend over screen-space. My only regrets are not saving enough time to make music and not implementing a menu to add more than two players even though the code allows it (post-jam promises here we go..). The sound effects turned out to be somewhat tonal so you could say the game has a generative soundtrack :v:

quarosel.gif

→ play it

Any other local multiplayer submitted?

Last minute rush to take all the space

You forgot to play and rate games? You've made a two player duelling game to duel the possibility of people testing your game? You are in a rush to test other games and reach 20 ratings yourself?

Say no more, we are basically brothers at this point! You probably also like to sabotage your own self quite frequently. Well, now you can as my game only takes one finger per player to play, you could play against yourself even with one hand, hmm?

Or maybe you could grab a person closest to you and challenge them to a duel. It's your choice and your SPACE in Quarosel, a battle over screen-estate.

quarosel.gif

See, I've made this gif alone as well, that's why orange is not countering green's space filling attack over here. It's not because orange wants to lose, orange is very strong and would have all the space if green wasn't so greedy about being the star of the gif.

Btw I'm sorry about this post, I actually built the game while testing it with my partner so it's a fun duel. Here's a bit of dev trivia: at first the scoring was simply about who has more percent of the screen by the end of the game but that turned out to be a bit boring as the first few moves take way more space than later ones and the winner would be often decided by the half of the match.
To fix this I made it so that you get a score after each cut corresponding to the percentage of the available space at the moment of cutting, this way the tension can really go up until the end as comebacks are much more possible, kinda like this LD jam's rating period...I hope.

So please test my game and tell me about yours!

Space out with Quarosel now!

Ludum Dare 55

Call To Cull

I - the programmer on our game - shamefully summon you to play it. You'll be done in 6.66 seconds and hopefully your targets will be as well. Make sure to spill the right blood and you'll have more culls coming up!

cull_play7.gif

The Culling

Colliders for 3D sprites in Godot

While I work on a post-jam update for our game The Culling I thought I'd share how we did the colliders for our sprites. It was the first thing I did and it's quite simple thanks to Godot's built-in helpers but it does involve a few things. Hopefully someone finds this useful!

Unfortunately you can't have pixel perfect collision out-of-the-box, but you can get a pretty close approximation by generating a polygon with the Bitmap class based on your image (it uses the Ramer-Douglas-Peucker algorithm under the hood).

```python

have some image with transparency

var tex : Texture2D = load("res://path/to/texture.png")

create a bitmap instance and load the texture into it

var bitmap := BitMap.new() bitmap.createfromimagealpha(tex.getimage())

create a rectangle based on our texture size

var rect := Rect2i(Vector2.ZERO,tex.get_size())

generate our polygon based on the rect with a precision of 5

the lower you go the more vertices you'll get

I take the first element from the returned list here

since all of our sprites have a single island

var polygon := bitmap.opaquetopolygons(rect, 5)[0]

let's transform the polygon from pixel-space to world-space

we need to match the pixel-size property from our Sprite3D

var pixel_size := 0.01

and transform all vertices to the center and flip them

for i in polygon.size(): polygon[i] = (polygon[i] - rect.size * 0.5) * -pixel_size ```

Later you can assign this polygon to the polygon property of a CollisionPolygon3D added to an Area3D or PhysicsBody on your Sprite3D. I didn't do it here since we generate these polygons once at launch and reuse them a lot for spawned targets.

Don't forget to enable Debug / Visible Collision Shapes in Godot to see the colliders.

Below are some examples of the generated colliders from our game.

screenshot1713453220.80545.png screenshot.png screenshot1713453245.56212.png

The Culling

Streamers have culled!

Thanks for these lovely vtubers for testing our game!

SaryahM https://www.youtube.com/watch?v=6ia1aQDZk3Y

Punniz https://www.youtube.com/watch?v=vSZBKKVvbfw

We had fun watching them and they seemed to have fun playing The Culling. You can check out their LD pages at @saryah and @punniz!

Post-Jam Cull

We kept working on the game after the initial demo for the 55th Ludum Dare Jam and now we are proud to announce our first update that brings many improvements!

timeremsmall/emsmall.gif

Timer?

Many playtesters wanted to have a timer in the game but we were hesitant to slap a boring stopwatch on the GUI and instead went with a more unconventional solution, see if you can spot the remaining time in-game!

timer_small.gif

If 6 was 9

The game's progression is now better designed to increase the difficulty as you progress through culls.
You can also enable Easy mode in the settings which gives you 9.99 seconds each round instead of the standard 6.66 seconds on Normal mode.

Souls and Bad Blood

The Bad Blood ending was a bit confusing for players so we revised this mechanic into a new system that gives you three Souls (shown as green flames at the bottom of the screen). * If you slash something that doesn't match your goal, you will lose one Soul. * Your Souls carry over to the next culls * If you run out of Souls, you will get the Bad Blood ending. * You can aquire new Souls by completing three Pure Evil rounds in a row * Slashing the wrong targets now also has chilling screams to make it easier to notice your errors

souls_cropped.gif

Throw Ability

While we retuned the spawning system to somewhat reduce overlapping targets around you, we also added an ability to throw creatures into the air to clear out the way for other targets behind them. You can use this ability with the Right Mouse Button. Look at our cool dude enjoying himself... for now.

throw_small.gif

Accessibility

To make our game more accessible to colorblind players we implemented toggles for each color in the game's palette. By disabling these colors you can exclude them from appearing as target goals. Targets will still be colored with the entire palette but you will never get an "ALL THE ORANGES" goal for example, if you disabled Orange.

settings.gif

Settings

The game now includes a Settings menu where you can adjust different aspect of the game

  • Mode for selecting difficulty
  • Fullscreen toggle for preventing the game from going fullscreen automatically
  • Sensitivity for adjusting mouse look speed
  • Volume for reducing the terror
  • Colors for excluding colors from the goals

Rules & Stats

With this jam I think we somewhat improved upon our tendency to present hard to understand games with no explanation to players, our revised menu also includes a tutorial page.

rules.gif

The game now remembers your highscore and other statistics about your play. You can check them out in the new Stats menu.

That's about it for now!

thanks.gif

Play The Culling

Summoning the game with style

First, thanks to everyone who played our game and provided feedback, also congratulations for any participant who finished a game this jam!

You may know this but you can customize the built-in loading screen for Godot. While I appreciate the minimal look of the default one, I always wanted to make something custom for our browser-based games. The summoning theme lent itself well for some magic using the 2D CanvasAPI in JS, which I used to create this little animation for the post-jam build of our game The Culling.

cullemload/emcrop.gif

Next I'd try adding a "hint slideshow" of some sort and make this html shell a bit more complete (to cover errors better and the "indeterminate loading state") and reusable so it can be plugged into future games more easily.

If you also have some custom loading screen please comment below (could be for webgames outside this LD too) :)

Ludum Dare 56

Jam site bugged??

I can already see the chosen theme even though there is still more than 3 hours until 23:00 CEST. Did the jam start earlier today?