About sorceress (twitter: @_sorceress)

Software Developer

twitter: @_sorceress
twitch: http://www.twitch.tv/sorceress_


MiniLD #72
MiniLD #71
MiniLD #67
Ludum Dare 35
Ludum Dare 33
Ludum Dare 32 Warmup
Ludum Dare 31
Ludum Dare 30
Ludum Dare 29
Ludum Dare 27
Ludum Dare 27 Warmup
Ludum Dare 26
MiniLD 40
MiniLD #37
Ludum Dare 24
MiniLD #34
Ludum Dare 23
MiniLD 32
MiniLD 31
Ludum Dare 22
MiniLD #30
MiniLD #29
Ludum Dare 21

sorceress's Trophies

Too many entries award
Awarded by Sogomn
on September 8, 2014
Interesting Idea Poster Award
Awarded by MadGnomeGamer
on March 1, 2012
Constructive Response
Awarded by galman
on November 7, 2011

sorceress's Archive

Ludum Dare IRC

Posted by (twitter: @_sorceress)
Friday, April 17th, 2020 1:35 pm

Join the official Ludum Dare IRC channel today!

#ludumdare on irc.afternet.org

Or use the webchat: http://ludumdare.com/compo/irc/


The Mother of All Games — Post Mortem

Posted by (twitter: @_sorceress)
Wednesday, April 26th, 2017 3:45 pm

The Theme

Before the theme was even announced I came up with my game name. Recent world events had spawned a meme “The Mother of …”. So I thought it might be fun to have that as a game name.

I have a habit of attempting overly ambitious games for LD, so I guessed it would be quite appropriate for my LD game, no matter what I made (or failed to make) 😛

As usual, I stayed awake for theme announcement, but I went to sleep soon after. In the morning I joined IRC and discussed the theme (and game name) with friends, and the idea which quickly emerged was a literal “Mother” who lives on a “Small World”, who has “All of the games”. That reminded me of mini games, and the famous C64 title “Lazy Jones”.

Because of my participation in One Hour Game Jam, I have good experience churning out mini games in a short space of time, so I had no fear making several such games for a 48/72 hour LD Jam.

So everything seemed to fall in place quickly this time: The design was well formed, it fit my skills and experience, and made use of the game name I was dying to use!


I usually start LD by drawing graphics. And this LD was no exception. I began making a (shared) tile set that I could use in the mini games, and searching the web for inspiration for what the overworld would look like.

Day one was mostly directed at making the overworld, this small planet which would link to the mini games. This was completed on Saturday, along with all the game music and several sound effects.


When I woke up on Sunday I realised I’d probably need the 72 hour Jam to finish. I began by coding the transition between overworld and minigame. Then started designing the mini games: deciding on their (common 20×20) size, the types of games I would have, and drafting out the levels for them all (as 20×20 bitmaps where each pixel is a tile).

In the latter half of the day I began writing the shared code for the minigames, and sucessfully completed 1 mini game with that code, which played correctly, and linked in/out of the overworld correctly.


Progress seemed slow, but I anticipated that adding more games would be faster, because of the shared code. While the progress continued at a relatively slow pace, it accelerated through day three, with the latter half of the mini games being added in the space of 3 hours!

Towards the end of the day I tweaked some of the level designs, because some seemed far too difficult, while others looked a bit untidy. In hindsight the levels feel too easy now, but I think they are enjoyable enough :)

I attempted adding particle effects, but I didn’t really have time to perfect their appearance, so I ultimately decided to remove them.

And that was my LD weekend. 😀

** Play it here **

some progress

Posted by (twitter: @_sorceress)
Saturday, April 22nd, 2017 5:12 pm


Making an XLR cable

Posted by (twitter: @_sorceress)
Sunday, February 12th, 2017 3:31 pm

I realise this doesn’t need a tutorial, but I enjoy small stuff like this. Documenting it gives me an opportunity to share some background/theory, and a chance to show some of my methods.

Balanced and Unbalanced Signals

Signals can be carried in a variety of ways, be them analogue or digital, high or low frequency, high or low impedance. Unbalanced cables employ one “live” conductor which carries the signal, and one “ground” conductor, which provides a return path, and as it’s name suggests is grounded somewhere.

Such cables are sometimes constructed in a cylindrical fashion, with the ground taking the form of a braid surrounding the live core. The grounded braid acts like a faraday cage, helping to prevent the live core from picking up interference (amongst other things). Because these two conductors play different roles and have different properties, there is an undeniable asymmetry.

Conversely, a balanced cable consists of a matching pair of wires, neither of which is grounded. The signal is the differential voltage between these two conductors. This arrangement maintains a symmetry, which has certain advantages.

Such cable also may be surrounded by a braid, which is grounded, to create a shielding effect. This braiding plays no role in carrying the signal though. The two conductors are sometimes distinguished as ‘hot(+)’, and ‘cold(-)’. Switching them around effectively inverts the polarity of the signal, which may or may not be important.

For examples, coaxial cable is unbalanced. It carries a signal in the live core, while the outer braid is grounded. Computer USB cables are balanced. A differential signal is carried between the D+ and D- wires.

Connector Construction

XLR cables are often used to carry balanced audio signals. They were invented exactly for this purpose in the 1950s for radio work, and stood the test of time through the age of television. Due to a combination of them already being ubiquitous and quite satisfactory, they have persisted into the 21st century.

An XLR patch cable as one would use in balanced audio applications is made of three basic parts: a length of suitable cable and an XLR connector for each end: a standard 3-pin male, and a standard 3-pin female type.

These types of cable are typically used to carry a single channel of balanced audio, such as from a microphone to a preamp.

The three pins of the connectors are numbered and utilised in a standard way. Pin 1 is for ground, and is usually connected to the outer braid of the cable, while pin 2 is for the ‘hot’ wire, and pin 3 for the ‘cold’ wire.

Cable Construction

Cable consists at a minimum of two parallel conductors for the balanced signal. Though there is almost always an outer braid too, for shielding. Shielding is important to protect the conductors from picking up interference, and also to prevent the cable radiating out it’s own electric field.

Copper braid is effective at blocking high frequency fields, like radio waves. But because copper is a low permeability metal, it much less effective at blocking low frequency magnetic fields, like the hum produced by mains transformers. A formidable solution may be to use two layers of braiding, with high and low permeability metals (such as permalloy and copper). This is utilised in extreme cases, like EMP-hardened cables, but it is not really seen in audio applications.

So copper braiding alone may not be enough to reduce the noise level below a desired threshold. Especially important in electromagnetically noisy environments, or with very sensitive signals. We can see this in the following graph.

The horizontal axis is the distance from the cable to a noise source, and the vertical axis measures the noise level induced in the signal.

There are some assumptions here, because the graph for any particular cable will depend on several factors, like it’s length, the separation of the two conductors, the specifics of the noise source, etc. So don’t read too much from it.

Though it should be clear from the shape of the graph that the cable is quite susceptible to induced noise, even from noise sources relatively far from the cable.

The two conductors may additionally be wound around one another to form a “twisted pair”. This twisting “averages out” the side-by-side position of the two conductors, over the length of the cable, making them appear equidistant from external points of reference.

Although were are only talking about a couple of millimeters at most, the twisting can help to remove induced noise significantly. This works because apparent equidistance makes any induced voltage “more equal” in each conductor of a twisted pair, compared with an untwisted pair. And since it is a differential signal in balanced audio, “more equal” means less induced voltage *between* the two conductors.

The graph for this cable shows the noise rejection quite clearly, with a distinct logarithmic slope of 15dB per unit distance this time, well below the corresponding graph from an untwisted pair.

As stated, we shouldn’t read too much detail from the graph due to free variables and assumptions, but at minimum it should be clear that it is “better”!

Another innovation is star-quad cable. Instead of two conductors, there are now four conductors arranged with some precision around a central non-conductive thread. Diagonally opposite pairs are soldered together at the ends of the cable, forming two effective conductors.

This geometry creates a different form of averaging, as each diagonal pair appears electromagnetically “more like” a single conductor in the centre of the cable. The differential signal thus appears to run along the centre of the cable in both the hot and cold pairs, and apparent equidistance from external points of reference is achieved. Star-quad geometry can eliminate induced noise, and it can also be combined with twisting and braiding to achieve a very low noise cable if desired.

Keeping all other assumptions the same, we can generate a graph for this cable, and it turns out to show a steeper noise rejection of 30dB per unit distance. ie, star-quad cable rejects induced noise at twice the dB of a twisted pair.

This is all theoretical of course – actual cables are not constructed to mathematical perfection, so any conclusions about it’s betterness may turn out to be a bit optimistic in practise.

Subwoofer Project

Posted by (twitter: @_sorceress)
Monday, November 21st, 2016 3:09 pm

My First Hifi


I have only ever owned one hifi system, which my parents bought for me one christmas around 1993. In hindsight it was not a very good system, but it played my tapes (twin tape decks!), it had a radio tuner, and standalone speakers, so as far as I was concerned at that age, it was brilliant! It couldn’t even play CDs, but as I didn’t have any CDs until I was a teenager that didn’t really matter.

After several years, the knobs and sliders (volume, equalizer) became super crackly, and the tape decks started damaging my tapes. Eventually, one tape got chewed up inside the machine so badly that the door wouldn’t open, even with excessive force. The hifi remained in that state for a couple more years before being scrapped.

Home-Built Amplifier #1

When scrappage day came, I reasoned that all of the electronics inside it still worked fine: the amplifier worked ok, as did the speakers. As I had an interest in electronics since childhood, I figured it should be possible to salvage the amplifier from the inside.

I should point out that this hifi was neither the first nor last piece of technology which failed me. And these experiences only led to greater wonder about how technology works, and cemented a belief that if something can break then it should be designed so as to be fixable. We shouldn’t have to lose the things we love.

The circuitboard inside the hifi was huge. I traced the circuit back from the speaker terminals, managing to locate the amplifier chip, read it’s model number, and look up the chip maker’s recommended circuit from that. Comparing components, I discovered the hifi was using exactly the recommended circuit, and it was a tiny part of this huge circuitboard. I carefully chopped out that small piece of circuit, and tested it to see if it still worked, which it did, somewhat to my amazement 😀


I repackaged it in a small plastic electronics box, together with a new volume control and sockets for the speakers/dc-power/line-in. It was a tiny 2×1 watt amplifer, but it worked fantastic, still able to drive these big(-gish) speakers at a reasonable volume!

By this time, my PC had taken over the role of music player via it’s CD-ROM drive. I connected this amplifier to my PC. It sounded far better than the little multimedia speakers my computer came with. This would be my audio setup for the next ten years.

What’s more, it could run for a whole day on relatively high volume, from 4xAA NiCd batteries. I remember when the electrician came to work on the wiring in the house, I had my amp+speakers powered this way, driven by an ipod. Much confusion from the electrician when he threw the mains switch and the music didn’t stop… “where are you getting your power from?” so I showed him what I had made, and he thought it was great!

There was something very satisfying about it.

Home-Built Amplifer #2

Around 2012, I felt it was about time to replace my speakers. They were low quality when they were new, and by this time they were almost 20 years old. And I loved my music – both listening to it and composing it – so why was I still using this low quality stuff from my childhood? So yeah, it was about time. 😀

But I loved this setup I had – a tiny amplifier made from salvage parts – it lit me up inside each time I looked at it. So if I were to have a replacement for my speakers or my amplifier, I felt it had to be something home built, not a commercial product. And what’s more, my amplifer hadn’t broken down in all these years. It worked as well as the day I made it. So both emotionally and logically, this felt like the right way to go.

Remembering how simple the amp circuit was, I reasoned that I should have enough electronics skill by now to make something from base components, while building myself some decent speakers to go with it.

The point of this upgrade was to get a significant improvement over what I already had, so my guiding principle throughout would be maximum sound quality.

Over the course of several weeks I did some research on speaker and amp design, and taught myself a lot about audio tech. Then I began ordering parts online (things which I didn’t already have in my electronics parts box). I was slowly getting everything together which I would need. The 6″ woofers and tweeters I chose were each rated 80W, while the amplifier I designed was 2x25W class AB bridged. The power ratings between speaker and amp don’t have to be matched, and my choices ensured the amplifier couldn’t overexert the speakers, though I doubted I would run the amplifier on full volume anyway, because who ever does that?

    The 80W Speakers

I wasn’t very skilled with woodwork, but speakers are not terribly complex things being just boxes with holes in. So how hard could it be I thought? It would be good practice if nothing else!

I opted for sealed speaker enclosures (with no sound port), as these are supposed to produce less tonal distortion overall, despite being less capable of delivering power at bass frequencies.

I showed my father my designs for the speakers, explaining what I wanted to make. He was keen to help with supplying the wood and doing some sawing, so I asked him to cut the pieces of 18mm thick MDF for the speaker sides, while I cut the front and back panels from 7mm marine plywood, which is a strong attractive plywood that doesn’t delaminate with age/weather. People make yachts with it :)

Assembly went well. The four MDF pieces belonging to each speaker were glued and screwed together with eight screws, making a very sturdy box frame. The front and rear panels were then screwed to the box frame, with the front panel additionally glued.

To cut the circles for the speakers, I had to make a special cutting tool which steered a knife blade in a circular path. This was very effective, and it made some clean circular cuts.

The speaker sides were painted matt black acrylic, while the front/rear panels were sanded and polished, to make a feature of the plywood veneers.

    The 2x25W Amplifer

Amplifier assembly also went well. The amplifier case was made in a matching style, from the same wood, but lined with aluminium foil for EM shielding. My regret here was not using a steel case, as this foil shielding was not very effective. The amplifier could pick up some mains hum if a power cable was placed alongside it, or if I rested my hand upon it. It was a minor complaint though, as it was barely noticable with sensible placement of cables.

This project took maybe 6 months from initial concept to finished product. I was very pleased overall. The speakers themselves are attractive, worthy of any living room. The sound quality is excellent, far better than what I had before: The vocal range is crystal clear, the treble much more airy, and the bass significantly deeper and more powerful. The speakers are however lacking some power at the lowest frequencies, especially noticable below 60Hz, and there is virtually no response below 40Hz.

So yeah, it was a huge improvement, but fell short of perfection. 😛

The Bookshelf Speakers

The next chapter has it’s origins in 2016. I thought it might be nice to make speakers for other rooms too, and an input/output mixer, so I can choose what sound sources to listen to, and what rooms I want to listen in, all controlled from my desk.

So that’s what I started making. I ordered some 5.25″ full range drivers this time, with coaxial “whizzer” cones capable of reproducing upto 20kHz. These seemed quite adequate for what I had in mind. I also built this speaker pair in the same style wooden cabinets as the previous, although they are physically smaller and what I’d call ‘bookshelf speakers’. I also bought some slider pots with the intention of making the mixers/faders.

Then I kind of lost interest… I felt it wasn’t a good idea anymore, and it wasn’t something I wanted to make now. So I had these two bookshelf speakers going spare.

Home-Built Amplifier #3

Some years had passed since building my (main) speakers and amplifier, and I was developing a more discerning ear. I had started noticing imperfections in the soundstage. For example, a speaker can have a tendency to appear as the origin of sound, instead of correctly projecting that sound into 3d space. I could close my eyes and be able to pinpoint where the speaker was, which is not how it should be. Closing one’s eyes, the sound should appear spatial, like live music, not like a recording coming from a speaker.

This came to a head early in 2017, when I figured that having more speakers might hide these imperfections, and might actually help project sound into 3d space, similar to how surround-sound systems achieve this.

So there was a growing list of reasons to act. This would be an opportunity to address multiple problems:

1) build ‘satellite’ speakers in an attempt to improve the soundstage.
2) build a subwoofer, to make up for the weaknesses of the main speakers.
3) build a new amplifier which can drive all of these speakers.
4) make sure the new amplifier is properly shielded this time.

Lucky for me that (1) was already done. I had just built some bookshelf speakers! (2) would be a big woodwork project, that I decided to delay until I actually had an amplifer capable of driving it. (3) Was something I could start work on now. And for (4), I had recently become the owner of a broken ATX psu, which would provide just the right size enclosure for this amplifier, and being made of moderately thick steel sheet, it would surely provide adequate shielding.

    The 7.1 Amplifier

The first task was to see if the ATX psu case was actually suitable. I removed the burned-out electronics, and looked at the interior space I had to work with. I also looked at the front and back faces where the cables and vents were situated. I imagined these two faces being dressed somehow to make them look nice, and how the various controls and sockets could be arranged there.

I felt there would be enough space to support 8 speakers, via 4 stereo amplifiers. There would also have to be a mono mix circuit somewhere, feeding a signal to an active low-pass filter for the subwoofer. ie, 8 channels = 3 stereo pairs + 1 subwoofer + 1 other. The other would presumably be a non-filtered mono mix for a center speaker. This describes a 7.1 amplifier.

After careful consideration, I decided on the following:

– A 2x25W class AB to drive the main speakers (taken from Home-Built Amplifier #2 which I’m replacing)
– A 2x15W class AB for the small bookshelf speakers.
– A 2x25W class D for the subwoofer (+ center)
– A 2x3W class D for additional satellites, and as a low voltage option for if I ever needed to power speakers from AA batteries.

Class D amplifiers are quite an innovative design. These work via high speed pulse-width-modulation, allowing much greater efficiency over the resistive techniques of linear (AB) amplifiers. Class D are >95% efficient, while class AB dumps at least 50% of the power it sources as heat. This means that class D amplifiers are typically much smaller and more powerful than their linear counterparts, and need little in the way of a heat management.

On the down side, Class D amplifiers can introduce artifacts when reproducing high frequencies, where the PWM pulsetrain produces a cruder approximation of the waveform. So while class D can underperform at above 10kHz, they are perfect for driving a subwoofer. Their efficiency also makes them a great choice for battery powered devices.

The Subwoofer

    The Design…

I began the subwoofer project in the springtime 2017, by looking at what woofers were available, and simultaneously chuntering Thiele-Small parameters through a speaker cabinet simulator. These parameters are carefully defined for any loudspeaker you may wish to purchase, and they encapsulate the precise dynamics of the speaker cone, allowing it to be modelled inside a cabinet.


There are countless combinations of speaker and cabinet designs possible, and most of those I tried didn’t show very good results, with lower cut-off frequencies around 35-50Hz. Discussing these options with my good friend Tijn, a learned that a subwoofer should be able to comfortably go down into the 20-30Hz range, although there isn’t much musical quality in that range, just rumbling. (The threshold of human hearing is about 20Hz)

One design I eventually stumbled upon did exactly this, but it required a 62 litre cabinet, which is pretty much a 40cm cube – about the size of a small cupboard! My heart quickly became settled on this speaker + cabinet design.

I ordered the speaker and some wood, but they remained untouched for some time. At this size, I realised it was not a project to be undertaken lightly, and so I felt a little reluctant to get started.

    The First Cut…



The 62 litre figure is the volume of the air inside the cabinet, once the volume of the speaker and port are subtracted. I estimated each of these to be about 1 litre, so I felt that a nice round 64 litre would be close enough to perfect, meaning I could go with a 40cm cubic cabinet.

Then came the puzzle of working out wood panel sizes to make a box this size. The wood sheet I had purchased was 122cm square, 9mm thick plywood. Taking into consideration the wood thickness + saw thickness + excess for sanding/tidying the edges, I realised this wouldn’t actually be big enough to fit the 6 panels, and I’d need at least 125cm width. With help from my good friend Wan one morning, we worked out an almost-cube shape that worked, and curiously all 6 of the panels would be exactly the same size!

This happened next:




The six pieces each have their own unique grain pattern. It was time to select the nicest two for the top+front faces of the cabinet, and the least attractive two for the base+rear.

I felt that 9mm plywood was not really thick enough to take a screw into it’s edge, so I cut these eight triangular corner blocks and glued them to the top+bottom panels, to provide a sturdy fixing point for the side panels. You can see in the third picture, there is a intentional excess on the edges to allow for sanding/finishing.

Next job was a combination of sanding to size, drilling, and screwing the pieces together. Even with careful measuring down to half millimetres, and similarly careful cutting and drilling, it’s somehow impossible to get precisely engineered bits of wood. After screwing and sanding the edges smooth, the separated pieces will only go back together correctly one way – any other way and there would be small but visible misalignments. There is a slight curvature to the panel surface, so maybe that is why. Either way, care must be taken to remember where each panel goes, and it’s correct orientation. They’re all marked :)


Now that all of the pieces were the right size and sanded smooth, I gave each panel a first coat of polish. While giving this treatment, I felt that I wanted to change my design slightly. Instead of a front facing speaker, I opted for a downfacing speaker. There is apparently no difference in sound with either subwoofer configuration, but downfacing is structurally better (centrally balanced and no hanging stress), as well as reducing the risk of the speaker cone being bumped and damaged.

I also opted to rotate the cabinet about it’s diagonal, to switch the front and top faces, as this would make the top face be without any joins showing, and look more like a piece of furniture. The base with the legs and speaker would then be a separate component, with the “box” part sitting on top.



I anticipated that the legs could be under some stress if the cabinet were pushed along the floor, so the legs needed to be very sturdy. These are deep screwed from the base panel through these wide washers which prevent the screw (+leg) from twisting out.

A cutting tool was then made to create the circular hole in the base for the speaker. This consisted of a sharp blade fastened to a block of wood, with a pivot pin that fits through a pilot hole in the base panel. It took several minutes to drive the blade around enough times around to cut through the wood. But cut was very smooth – much better than we’d hope to get with a jigsaw – so it was worth the time, even though it did result in some blood.



The speaker lined up very nicely with the hole. I was very happy with how that went. I decided to solder on the connecting wires at this time. I know spade/socket connectors are normally used here, but I like my soldering.

Despite both wires being red, care was taken with the polarity. The other end of the wires went to a terminal block, which the back plate would later connect to.

    The Port…

The next job was construction of the port:



A port is a carefully designed piece of hardware. It is not there simply to allow sound out – no cabinet at all would achieve as much. Let me explain them…

The air inside of a cabinet is compressed when the speaker cone moves in, creating an overpressure. Meanwhile, the air outside the cabinet is expanded, creating an underpressure. If permitted, these two motions would cancel out and destroy the sound waves via destructive interferrence. The cabinet walls normally prevent that from happening, so only the intended outside motions propagate to the ear.

Any “sound leakage” (via holes or flex in the cabinet walls) will cause some of these internal motions to get outside. Ideally, cabinets should be perfectly sealed and sound proofed, except for the speaker hole.

The problem is that air inside a sealed cabinet becomes very springy, and opposes compression/expansion like a thick rubber band. This is particularly problematic at low frequencies where the speaker cone must fight this resistance harder… So ports were invented.



The port is a carefully designed hole. It’s specific geometry (area, length) creates what is known as a helmholtz inverter. The sound waves undergo a phase inversion along the length of the port, turning overpressures into underpressures and vice-versa.

This means that instead of destructive interferrence, there is constructive interferrence. The port sound reinforces the speaker sound. Win Win \o/

Though it is not all win win. Ports only behave this way at specific frequencies, which they are tuned to. At much lower frequencies, the phase inversion doesn’t happen, and nasty destructive interferrence happens instead. At much higher frequencies, the port becomes invisible to the sound, and you might as well have a sealed cabinet.

The overall effect is that a carefully designed port can greatly improve the bass response of a cabinet. They are typically able to reduce the lower cut-off frequency by several Hz – possibly halving it – at the expense of the even lower frequencies.



Additional considerations:

– The port needs to be fat enough to allow sound to move through. Too thin and the air will be forced to move too quickly, become turbulent, and make chuffing noises.

– The port needs to have the correct length. Too fat and it’s impossible to create the correct length (negative). Too thin and the length may be too long to fit inside the cabinet.

– Port diameters between 1/4 and 1/2 of speaker diameter are usually good. With large speakers, this diameter can be split between two or more ports if desired.

The port I’ve designed has a flange on the inside end. This further helps to prevent the air becoming turbulent when reciprocating through. The funny construction is a cradle, which holds the port on the inside. It is glued to the cabinet panel, tight fitting and allowing no wobble or vibrations.


A slow start and a few pauses meant this project took longer than it really should have. But it eventually came to completion, about 6 months after the initial idea.




These last images show the subwoofer after reassembly and a couple more rounds of polishing.

I may do more polishing at a later date if I feel I need to. It is a quality one builds up over time :)

There are a few stages of the project which I don’t have photos of, sadly:

– Cutting the holes for the port and terminal connector, using a similar tool as used for the speaker hole.
– Bolting the speaker to the base, with 4x M4 nuts, washers and vibration-proof nyloc nuts.
– Adding reinforcement strips along all of the internal edges, which should help to prevent flexing/leakage.
– Reinforcement of the top panel with bracing. It should be strong enough now to stand on, though I won’t risk a test 😛
– The base being secured to the top/box part with 8 screws, and edging around the box part for these screws to fasten into.


Dare to Play LD36

Posted by (twitter: @_sorceress)
Sunday, August 28th, 2016 4:25 pm

After LD weekend, some people enjoy live-streaming play-throughs of others’ game entries. (Including making non-live videos for youtube, etc.) We call these people streamers.

If you are a streamer and want to advertise your Channel, Show, or Publication, you may post a link in the comments below.

Streamers sometimes take requests for LD games to play, and if that’s what you do then provide a link so that people can suggest games to you (off-site or in a separate thread please).

If you have a schedule planned, please share it as well, so people can know when to tune in.


NOTE: This thread is NOT for development streams.

Welcome to Ludum Dare 36!

Posted by (twitter: @_sorceress)
Wednesday, August 24th, 2016 12:36 pm

Greetings everyone, and Welcome to Ludum Dare 36! It’s almost time to start jamming, but first we must choose our theme. Click the image below to Vote for Ludum Dare 36’s Theme! The highest scorer will be revealed on Saturday August 27th 01:00 UTC (Friday 18:00 PDT | Friday 21:00 EDT | Saturday 02:00 BST | Saturday 03:00 CEST | Convert to your timezone here).

Theme: Ancient Technology

Theme Voting!

For reference, results from rounds 1-4 are available here.

Join us on IRC (#ludumdare on irc.afternet.org) for the theme announcement!

Keynote! This time hosted by McFunkypants

Important News

As you may have seen in recent discussions, PoV is not hosting Ludum Dare this time around. The community was polled and wanted to run an august event regardless. In acknowledgement of PoV’s concerns, the community were willing to forego the game rating phase after the event.

We looked at all of our options carefully for a few days, and (omitting all the arguments here) decided that LD36 will have no ratings phase, so please be aware of that.

Some users expressed fear that this decision would have a negative impact on the number of plays and comments each game receives. While some users felt that feedback was always more valuable than ratings. Taking this all into consideration, we created Feedback Friends. This mini-site recreates LD’s Coolness system, where giving comments on games should earn you comments on your game in return. You’re encouraged to use this mini-site to search for entries deserving more plays and feedback. So I hope each of us will play and comment on games as much as before, despite the changes. :)

Good luck to all participants. See you on the other side!

Credits: Sorceress: LD36 organiser; website maintainance | Tijn: theme slaughter coding; website maintainance | Wan: feedback friends lead coding; web hosting | Rnlf: theme sorting; user moderation | Frozen Fractal: feedback friends coding and support | additional contributions from: Liamlime, McFunkypants

Many thanks to the team for making LD36 happen!

Ludum Dare 36 Theme Voting Begins!

Posted by (twitter: @_sorceress)
Saturday, August 20th, 2016 1:24 pm

It’s less than one week to go until LD36, and Theme Voting has now begun!

Tune in every day for a new round of themes. \:D/

[ Round 1 | Round 2 | Round 3 ]

[ Round 4 | Final Round ]

* Rounds coloured Gold are still open. If you haven’t cast a vote yet, click the link to do it. End times for each round vary, and many cross over. Rounds coloured Bronze have closed, and clicking the link will reveal the results of that round.

* If you get an error message about needing to log in to vote, and you are already logged in, then try refreshing your browser (CTRL+F5 in Firefox/IE), or in Chrome F12 then Right Click on Refresh and select “Empty Cache and Hard Reload”).

* A total of 8000 themes were suggested, and almost 500,000 votes were cast in the Theme Slaughter.

Warmup Weekend for Ludum Dare 36

Posted by (twitter: @_sorceress)
Wednesday, August 17th, 2016 12:33 pm

Hello everyone! Ludum Dare is fast approaching… Are you ready for it? 😀

Between now and the start, you’re encouraged to test your tools. We call this the Warmup Weekend Make some art, import it, and draw it on screen. Make some sounds, import them, and play them on cue. If you’re using a new development tool, figure out the development cycle. Learn how to make a release too!

[ Submit/Edit | Browse ]


Ludum Dare 36 Wallpapers [22]

Posted by (twitter: @_sorceress)
Saturday, July 16th, 2016 12:10 pm

As always, the community is invited to create and share desktop wallpapers for the coming Ludum Dare in August.

You can upload images here, or if you prefer create a new post.

Be sure to add a link to your wallpaper below, as a comment. Note that users can’t embed images in comments. Just post the url for your wallpaper and/or thumbnail, and I’ll fix it!

Happy drawing, and have fun <3

psst: Last year’s wallpapers are here!

Real World Gatherings for Ludum Dare 36 [16]

Posted by (twitter: @_sorceress)
Saturday, July 9th, 2016 1:24 pm

While Ludum Dare is typically an online event (where we make games in the comfort of our own homes) many people like to organise real-world gatherings.

Events have limited space, so if you are interested in attending a venue, then contact the organiser ASAP!

If you are organising an event and want to let us know, then write in a comment below, and we’ll add it to the list:

City, Country (State) – Venue name – Link to contact information

North America

Longmont, Colorado, USA – TinkerMill – Contact Details
Troy, New York, USA – Tech Valley Game Space – Contact Details
Perth Amboy, New Jersey (USA) – Life Abstract Studios – Contact Details
Knoxville, Tennessee USA – Knox Game Design Meetup – Contact Details
New York, USA (NY) – Babycastles – Contact Details
Durham, North Carolina, USA – The Iron Yard – Contact Details


Tours, France – MAME – Contact Details
Las Palmas de Gran Canaria, Spain – #LDGC – Contact Details
Tartu, Estonia – APT Game Generator – Contact Details
Zaragoza, Spain #GamebossJAM – Contact Website | mailto: info@gameboss.es | Live streams!
Luleå, Sweden – Luleå Makerspace – Contact Details
Osnabrück, Germany – Contact Details


KDU Glenmarie, Shah Alam, Selangor, Malaysia – Contact Details

South America

Brasília, Brazil (DF) – Jungle Coworking – Contact Details
Colatina-ES, Brasil – Contact Details
Curitiba, Brasil – PUCPR (inside Paralympic Game Jam) – Contact Details

Do you want to help?

Posted by (twitter: @_sorceress)
Friday, June 10th, 2016 12:29 pm

Linked below is a form for people to offer help with building the new Ludum Dare website. The purpose of this is to keep all offers of help together in one place, so it is easy to refer to. Hopefully this will make it easier for PoV find whatever assistance he needs over the coming months.

So if you feel you have a valuable skill to offer, and the time and willingness to do so, then click.

August LD – You Decide!

Posted by (twitter: @_sorceress)
Thursday, June 9th, 2016 3:18 pm

Greetings Ludum Darers,

PoV has said that if I want to take charge on this, then I should start a thread. So here we are…

I have prepared a voting form for people to give feedback on four options relating to whether we should host an LD in August or not.

I urge you all to first of all read the recent blog post by PoV, which should be stickied at the top of the front page. In this post, PoV has highlighted his reasons for wanting to cancel the LD in August.

Some people in the community believe it should go ahead regardless, in one form or another. Whatever the outcome, PoV has made it clear that he will not be hosting any event in August, so that task would become the responsibility of trusted others.

I’m in favour of polling the community, and seeing what you all think. Please try to understand the problems PoV has highlighted. Take time to weigh up the pros and cons of running an LD event anyway. Please try to take all things into consideration when voting.

The provisional date we have for an August LD is the weekend of August 26th-29th. But note that we have not yet decided if the game jam will go ahead at all. The purpose of the poll is gather community feedback, and help us decide what to do next.

The poll was closed Tuesday 14th June, at 20:00UTC.

Over 600 votes have been received.


  • Overall, the community very much wants the August LD to go ahead, and to happen on this website, in one form or another.
  • The community understand PoV’s concerns and is willing to forego the game rating phase after the event.
  • The community is opposed to hosting the August LD elsewhere.
  • The community is strongly opposed to cancelling August LD completely.

The next step:
The next step is decide how we are going to make LD36 happen. Several of us have the website permissions to run a game jam, but there are things which we cannot do without some minimal cooperation by PoV. For example, we cannot make theme announcement using the @ludumdare twitter account, nor do we have access to the new theme hub. Rest assured that I’ll do the best I can despite these challenges. :)

LD is cancelled?

Posted by (twitter: @_sorceress)
Tuesday, June 7th, 2016 5:20 pm

Greetings, Ludum Darers!

It’s not often I post here, but I’m hoping we can get some discussion going about this.

PoV tweeted about one month ago: Linky

While there hasn’t been any official word on August LD being cancelled, there is this and a few other scattered tweets.

I’m seeing these tweets cause a lot of confusion, especially visitors to IRC. On one hand, many are unaware of these tweets, and are expecting and preparing for an LD in August. While an equally large number of people are convinced that there will be no LD in August.


sorceress is in again … free tips inside!

Posted by (twitter: @_sorceress)
Friday, August 21st, 2015 5:32 pm

This will be my 12th ludum dare! Here are some gifs of my recent LD entries:

LD27 LD27
LD27 LD27

Countdown Clock

For windows users, I made a little countdown clock that you can stick in the corner of your screen. It floats above other windows and shows the time you have remaining. The deadline is set in the filename, so you should change that to reflect the compo/jam deadline in your own timezone.

download CountDown Clock here


If you live in Europe, then the compo is split over 2 days. This is generally how I split my work between Saturday and Sunday:

  • Day 1 – engine, controls, graphics, music.
  • Day 2 – gameplay features, level design, sound effects, menu, particles and other visual effects.

I recommend this schedule to others. My reasoning? Day 2 can be stressful – or rather – you will feel the pressure of time. When you’re under pressure you will rush things, and the engine/controls/graphics/music can’t afford to be rushed!

If you do rush these things, you don’t do them as well or as carefully. So they will be more prone to errors, and you won’t really have time to properly test/debug/fix them.

Engine – Say you rush your engine (that is the game loop and the core physics of your game). If it doesn’t work properly, then you could have a broken game. Nothing else will matter.

Controls – Imagine if the keys/mouse input doesn’t work properly. Imagine if a character can’t make jumps it is supposed to be able to make. Or if the speed/feel of character movement is just wrong/bad. Imagine if an inventory or in-game menu won’t open. Your game could be unplayable.

Graphics – Rush your graphics and spoil them and your game will look bad. Graphics create first impressions. Your screenshot is all that will entice players to click your game, and your game could well be judged after a mere 60 seconds of play. First impressions are everything!

Music – Leave it until day 2 and it’s the sort of thing you’ll keep putting off until it’s too late! And if you rush your music then your game could sound bad. Painful sounds will put player’s in a bad mood, which could be the difference between “I like your game” and “I don’t like your game”. Don’t make them want to turn down the volume.

Day 2 – If you’re finding things too stressful, then try not to worry. Don’t worry about making a big game with many levels and a zillion different items. Short games are often preferred anyway! Everybody cuts corners on day 2, so let it happen. And always have fun, and let that fun show in your work.

Good Luck. See you on the other side 😛

wallpapers, please

Posted by (twitter: @_sorceress)
Sunday, August 2nd, 2015 3:15 pm

[cache: storing page]