Ludum Dare 46 April 17–20, 2020

8 bit music app available as a beta!!!

Hello everyone. After working a lot on the 8bit music app(which I decided to call tonnoform), it's available as a beta! Here's the github link: https://github.com/Nikos1001/Tonnoform

Please try it out. I compiled it for Mac and Windows. Here are the app's controlls:

MIDI EDITOR(the tab called "Track"):

+: create new pattern

-: delete pattern

UP / DOWN: arrow keys: scroll pattern up/down

W / S: scroll pattern list up/down

click in pattern editor: create new note

drag note in pattern editor: extend / unextend note

right click note in pattern editor: delete note

click in sequencer: place selected pattern

right click on pattern in sequencer: remove pattern

click on instrument name in sequencer: switch instruments

INSTRUMENT EDITOR:

+: create new instrument

-: delete instrument

W / S: scroll instrument list up/down

drag rectangles in the middle: edit instrument envelope

We can't wait

Our team is already itching to get started...

Portraits 7.png

So far we've both managed to avoid getting sick, so hopefully we'll be able to set up an IRL-studio.

Even though remote-work is apparently going to be the new standard in a post-Corona world, some of our methods require us to physically inhabit the same place.

So we kinda decided early on that we're not even going to try doing this remotely.


We have some experience working together before, but we've yet to finish a game together.

Since both of us have quite of an experimental/artistic approach, it will be interesting to see if we'll be able to maintain a proper scope to our project. Time will tell!


BTW, don't come hunting me down with torches & pitchforks, but I may be one of the horrible people to blame of suggesting unimaginative Covid-related themes.

Themes.png

This seemed like a relatively "fresh" idea 5 weeks ago. But to be fair, already then I had the feeling that this thing might blow out of proportions later. Goes to show that sometimes you'd be better off trusting your instinct!


That being said: If we end up getting a theme that everybody hates (hah, like that would ever happen!), and whether some of you will find it hard to get inspired, here's an idea:

Consider generating the basis of your game!

Me and a couple of friends had quite a few laughs years ago when fooling around with this generator.

I dare you to name your game one of these: Return of the Jetpack Pimps Paranoid Cannibal Warrior Shady Hamster Temple Zombie Sailor Hospital HighSpeed Nazi Nightmare Dracula`s Stapler Epidemic Hillbilly Donkey Rocket Kinky Sandwich Encounter Amazing Punching Dungeon Inbred Chainsaw Unit

I'm not sure would combining generated ideas and a crappy theme just create more problems than make you inspired.

But you never know until you try.

Tonnoform progress update: save/load project system

I have added a very important feature to make tonnoform a real app: saving & loading projects. Since I hate, hate, HATE doing saving/loading things, I decided to do it as soon as possible. Projects are saved to the custom .tnfproj file format.

Once again, the github repo is https://github.com/Nikos1001/Tonnoform . It is currently compiled for windows and mac, and you can edit the code using Processing 3. I hope you give it a try. Any feature ideas, bugs, or other feedback is highly appriciated.

One more thing: in version beta1.2, I added audio export

I'm in!

I'll be using my custom engine built on Love2D. It's come a long way since the last LD, so I have no excuse not to be productive!

My hopes: * Not a COVID theme ... that will be very triggering * A theme that lends itself well to a systems-oriented game * To not be stupid, and scope my idea reasonably :P

We're in!

Yeah, no matter how disappointing the theme problem and the fact no one wanna do anything with it are, I'm definitely in for the 7th consecutive Ludum Dare. This time, I teamed up with @syudzius the artist and Slon the brainstorming machine (at least it's what he proudly calls himself :) ). Comparing to the previous 6 LDs, we're about to change our tools a bit. We'll be using:

  • Godot, which were proven to be reliable during Global Game Jam. I will miss my good code-only engines, but the lesson I learnt during LD45 was "if you want to collaborate efficiently, everyone should be able to use the engine".
  • Krita for graphics.
  • Free version of Waveform, which I need to get used to in a week. If I will, there will be some sort of music in our game this time. :)

Sadly, there will be no local gathering this time, but this won't stop us from having fun with our local community through Discord.

Whatever theme will be, remember, it's not mandatory. Just have fun and make a game! :video_game:

I am in again.

This will be my fourth attempt in the LDjam compo. I cannot wait for it to start on Friday! I have completed 1. I have my time from Friday till Monday allotted to just the LDjam. Good luck to you all competing! Have fun!

It's been a while, I'm in!

The whole virus situation might be the perfect excuse to enter!

Going all out on the last day? :point_right: No problem because nobody can see what a zombie you are the next day because of self-quarantine! :v:

Going to enter with Construct3 as always. Good luck everyone! :D

Ludum Dare 46 Starter Kit

Hi, crazy! This is my first gamejam and I'm a little worried. I try to prepare and collect all my work. These are parts of the code for working with the sound, its own particle system and more. I have a question - are such things allowed in LDjam compo?

In any case, I would like to share my libraries (HAXE+HEAPS) with others:

Ludum Dare 46 Starter Kit: https://github.com/Syopic/ludumdare46

I'm still going to commit there. I think next weekend will be a memorable one

No time to go through 6000 themes? Slaughter the worst cliches with this script!

Quick usage

First, copy the following code into a text editor:

```js (() => { // Time to wait between requests, in milliseconds. Defaults to 0.5 seconds. const WAIT_MS = 500;

const wait = (ms) => {
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve(), ms);
    });
};

const slaughterAll = async (themes) => {
    let ok = 0;
    let failed = 0;

    for (const set of themes) {
        for (const key in set) {
            let response = await fetch(`https://api.ldjam.com/vx/theme/idea/vote/no/${key}`, {
                credentials: 'include',
            });
            await wait(WAIT_MS);

            if (response.ok) {
                console.log(`Slaughtered ${key} (${set[key]})`);
                ok += 1;
            }
            else {
                console.warn(`Error slaughtering ${key} (${set[key]}): ${response.status} ${response.statusText}`);
                failed += 1;
            }
        }
    }

    return {
        ok, failed,
    };
};

slaughterAll([
    // ---------- Paste lists after this line! ----------

    // ---------- Paste lists before this line! ----------
])
.then((results) => console.log(`Done! ${results.ok} ok, ${results.failed} failed.`));

})() ```

Then, paste one or more of these lists between the separators:

  • Control/buttons: https://pastebin.com/yLm4DadV
  • Virus: https://pastebin.com/mYu0n5NR
  • Currency: https://pastebin.com/XPBFb2tS
  • Die/lose to win: https://pastebin.com/J3ArHEdW
  • Thing is key: https://pastebin.com/AfVXxjSS
  • You are bad: https://pastebin.com/VnGLV4Y5
  • Colors: https://pastebin.com/D1M3zWnR

After you're done, the slaughterAll section should look somewhat like:

```js slaughterAll([ // ---------- Paste lists after this line! ----------

// Themes that contain: words, words, words, words, words { "12345": "theme content", "12345": "theme content", "12345": "theme content", },

// Themes that contain: words, words, words, words, words { "12345": "theme content", "12345": "theme content", "12345": "theme content", },

// ...

    // ---------- Paste lists before this line! ----------
])

```

Finally, go to https://ldjam.com/events/ludum-dare/46/theme, and paste the entire file into the web Console (F12). Press Enter and relax!

Note: Don't refresh or close the page until "Done! X ok, X failed." is printed, or you will lose your progress. It's normal for the pie chart to not update.

Making your own lists

To make your own lists, you'll need a JSON of all themes. You may find the URL by looking at the requests sent while loading https://ldjam.com/events/ludum-dare/46/theme. The URL should look like https://api.ldjam.com/vx/theme/idea/vote/get/<some_number>.

After you have obtained the list, save it as theme.json somewhere. Then, save the following Node.js script as gen_list.js in the save folder as theme.json:

```js const fs = require('fs'); const process = require('process');

let themes = fs.readFileSync('themes.json', { encoding: 'utf8', }); themes = JSON.parse(themes);

const blacklist = process.argv.slice(2); const blacklistMap = {}; for (const word of blacklist) { blacklistMap[word] = true; }

const trailingDots = /(.)+$/; const wordSeparator = /[\W_]/;

const words = {}; const killList = {};

for (const key in themes.ideas) { const theme = themes.ideas[key]; for (let word of theme.split(wordSeparator)) { word = word.replace(trailingDots, ''); word = word.toLowerCase();

    if (word.length < 1) {
        continue;
    }

    if (blacklistMap[word]) {
        killList[key] = theme;
        break;
    }
}

}

process.stdout.write('// Themes that contain: '); process.stdout.write(blacklist.join(', ')); process.stdout.write(' '); process.stdout.write(JSON.stringify(killList, null, 4)); process.stdout.write(', '); ```

You can now generate your own lists by running this file from the command line!

node gen_list.js keyword_1 keyword_2 keyword3

Stay healthy and flatten the curve!

LD46 Game theme Selection

The themes are too difficult. It is difficult to make a game with these themes.

Let's try to not murder the server, shall we?

Given the virus situation it seems like there will be even more participants than normal. Anyone who have done this before knows the website gets completely clogged when the theme is releasd and around submission hours, so here's a quick PSA: The theme will be released on twitter as well (and they have far higher server capacity!). As for submission hour traffic, try not to wait with your game page until there's 5 minutes left of the jam. There's no reason you can't make screenshots and write a quick description before the game is 100% complete.

Dear all, please welcome a newbie :)

I am a freshly made game designer and a part of the Titled Goose Team.

Obsessed with video games since I was 6 y.o. Also obsessed with creating new worlds, stories and quests.

It's my first game jam, so I am excited and frightened at the same time 🙂 But I am sure that it will be a great experience and a great first step to my game designer career. Also a great challenge. But I'm sure that during this jam I will upgrade my skills and be able to join my next project as a bit more experienced junior game designer.

Unreal Engine 4

This Ludum Dare, my teammate and I decided to try and use Unreal Engine 4 to create our game. For our previous jams we've been using Unity. We were thinking of creating something unsettling and spooky.

Done Slaughtering

5300 are gone

200 are fine

but 130 are related to some illness, so..

4th time, lets go! :D

My teammate and I are in for our 4th time! This time is going to be extra difficult because we are making the game engine from scratch using C++.

Stay healthy and have a great Ludum Dare! :)

I FINISHED MY SLAUGHTER.

again.png

Gotta say that I could have done it WAAAAY faster if I had seen this post earlier: https://ldjam.com/events/ludum-dare/46/$183830/no-time-to-go-through-6000-themes-slaughter-the-worst-cliches-with-this-script

BUT WHATEVER. It was kinda fun tho.

Y'all have a good day!

My first game jam

I am a beginner dev and this is going to be my first jam. I am doing it all alone, so I think it's going to be a very interesting experience. Never made a game with such deadline and in an intense mode.