About sudojess (twitter: @SudoJess)


Ludum Dare 37
Ludum Dare 36
Ludum Dare 35
Ludum Dare 34
Ludum Dare 33
Ludum Dare 32
Ludum Dare 31
Ludum Dare 30
Ludum Dare 29
Ludum Dare 28
Ludum Dare 27
Ludum Dare 26
Ludum Dare 25
Ludum Dare 24
Ludum Dare 23
Ludum Dare 22

sudojess's Trophies

sudojess's Archive

Velocity Glyph – 5 years and Post Mortem

Posted by (twitter: @SudoJess)
Tuesday, December 13th, 2016 3:21 am

Original post here: https://sudojess.tumblr.com/post/154413889334/velocity-glyph-5-years-and-a-ludum-dare-37-post


This weekend (and Monday), I participated in Ludum Dare 37.

5 years ago, I also participated in Ludum Dare, for the first time.

A lot has changed in those 5 years, as it would. 5 years is a long time. I went from making games as a hobby, to actually managing a games studio, as well as working on them as a hobby. I get paid every day to make games and that’s incredible. For many people, it’s a dream. It was damn hard work getting here, and it’s even more difficult now than ever, of course I’m better prepared for that now.
I’m happy with where I am, I’m lucky to be here, and I’m really excited for what the next 5 years brings.

This time, I created an arcade racer, kinda Wipeout/Re-Volt inspired. a miniature hover racing game. I’m pretty impressed with the result.

You can vote on it here:

Ludum Dare 37

And you can download and play it for free here:

It’s funny to see how far I’ve come from my first LD, a pretty terrible platformer with awful graphics and controls. Performance was probably worse than Velocity Glyph too.

I created a few interesting systems for the game, and here’s some details on how they work


There are two components to hovering.
Firstly, ‘sticking’

Physical gravity is actually turned off for the project, each Racer gets its own version of local ‘gravity’, and every FixedUpdate, applies a downwards force to itself, ‘down’ being whatever it decides.
The racer is constantly casting a ray from each of its hover pads in the direction they’re facing. It averages down the normal of each ray hit and uses that as its definition of what down is.

I had a big problem at the start of being able to trick it into thinking ‘down’ was on the walls, if you rubbed against them hard enough, so I made gravity firstly Lerp between its current and desired definition of down, and secondly I don’t allow any drastic changes in gravity, as the tracks tend to curve smoothly anyway. It doesn’t work perfectly, but it’s a lot better than it was.

Secondly, the racers do actually hover above the ground, there’s no weird collision box magic going on, as well as applying a gravity force, they’re also applying an inverse force, allowing for a little over/undershooting of their desired distance, creating that distinctive bobbing effect. These values are slightly different for each kind of racer to make them feel a little different.

The same function that checks gravity also feeds the respawn system. If it can’t find any ground for 5 seconds, it respawns you at the last checkpoint. This was because the AI occasionally gets confused and thinks it can take shortcuts via the side of the track, and promptly falls to its death.


The AI is pretty basic, but it does the job for the most part. I’m actually impressed with how well it works given the simplicity of it.

Basically, as you can see on the above screenshot, the AI casts a few rays, if one hits, it figures out a value between 0.2 and 1 for how far away it is, based on a curve, rather than a linear value, that way it turns harder a bit sooner than if it was right next to the wall.

If it detects walls in both directions, it figures out which way it should turn, and turns a reduced amount in that direction.

It tries to point vaguely in the direction of the next waypoint, but it takes a low priority, as the track curves around a bit, so pointing directly to it isn’t a great idea.

If it detects it’s facing a wall directly, it will slam in reverse to try to get away from the wall. It doesn’t always work, but it does solve a few issues. The AI makes it round the course 99% of the time now, in a competitive time. I have trouble winning against the AI sometimes, which is impressive for just 2 hours coding on the AI. There is no rubber banding or different values for the AI, it and the playercontroller send exactly the same info to the racer controller.

Game Feel:

One of my goals right from the start was to make each racer feel different, while keeping a balance there. I think I’ve achieved that, and I’m quite happy with the result.

Each racer has slightly different thrust values, but nothing game breaking, the main key is the engine location. It actually applies thrust where the engines are, which makes the London, with its one powerful engine, feel a big more ‘slidy’ than say, the Moscow, with its 4 ‘push forward’ engines, that make acceleration feel a bit more punchy.

Turning doesn’t just happen on a dime either, it lerps to the turn value, by a different amount, and each racer corrects itself slightly different.

Racers also have unique hover force values, so some feel bouncier than others.

Finally, particles and Audio play a big part in game feel. I had some sounds lying around on a hard drive that I modified and cut together to create unique sounds for the London and Washington. Sadly I ran out of time so the Moscow uses the same sounds as the Washington.

There are engine startup noises, idle noises and ‘rev’ noises. The rev noises fade in and also increase in pitch as you get faster, making it feel like you’re really pushing the engines. There’s a slight delay on the noises too, which I found just felt a bit better, though I can’t explain why.


There’s so much I could say about this game, that I created in the 72 hours I spent on it, but I’ll leave it here. I had a lot of fun creating it, and I’d love to take it further in the future

I’d like to give a big shoutout to http://twitter.com/toastedkp who nearly killed himself getting these incredible models to me. I look forward to seeing everyone elses entries over the next few weeks of voting!

Polytopian – A post-mortem

Posted by (twitter: @SudoJess)
Tuesday, April 19th, 2016 2:47 pm

I finished my Ludum Dare entry with only an hour to spare, you can play and rate “Polytopian” here:

Ludum Dare 35


So, how did it go? Well I think it’s one of my finer Ludum Dare projects, I prepared for it pretty well, and I’m quite pleased in the end result, both in looks, gameplay and audio.

There’s quite a few bugs which have slipped through, and I spent a good chunk of time solving others too. The mechanic is unique in a few ways, but after a few minutes of play you can clearly see my main 2 inspirations, Quantum Conundrum and Portal, which if you haven’t played, go pick up now! They’re great games.

The first day was spent a little on a different idea (that wasn’t anywhere near as good), and then on getting the main mechanic working. I spent far too long going about it a different way, but eventually settled on the way it works now.

Second day was almost 100% bugfixes and small tweaks, There’s a good number of problems that arise with a system like this, and yeah, not all of the issues were solved. Determining when to use which dimension’s physics is harder than it might seem, as well as managing the multiple layers and culling masks to make raycasting work well. Animation issues, camera issues, and a few issues with puzzles. At the end of the day, I made the soundtrack which you can listen to here:

I was busy in the afternoon of Monday, but I managed to fix some more bugs and get started on the levels in the morning, when I returned, I settled in and finished the rest of the playable game, as well as the title screen, fixed a few more bugs, and added the checkpoint system. All-in-all I probably spent 40 of the 72 hours on the game.

While I’m never really happy with anything I make, I think I’ve done a good job on this, given the time alloted. As much as I hate how buggy the game can be sometimes, I did all I could. Any more time spent on fixing bugs, would have meant less gameplay, and I think that’s pretty sparse to begin with.

This has been one of the most fun Ludum Dare’s I’ve ever participated in, I feel it’s brought back my love for creating games again, and I’m highly considering expanding this into a full project. I’ll be sure to post an update if that’s the case.


As always, it’s been a fun time, thank you Ludum Dare, and see you again in August!


24 hours left

Posted by (twitter: @SudoJess)
Sunday, April 17th, 2016 8:04 pm

I planned on Entering the Jam, it’s slightly less stressful than the 48 hour one, this means I have 24 hours remaining, where am I up to after 48 hours?

Well I’m not as far as I’d like to be, as usual. But pretty happy with what I have. Here’s a screenshot of one of the earlier levels.

ss (2016-04-18 at 01.58.15)

Main mechanic is pretty much perfect now, and I’ve added some obstacles which you need to use the portal power to overcome.

I spent the last 2 hours making some soundtracks, as I’ve previously lacked in that regard.

What’s left?

Well, it’s 90% level design now. Maybe some additional code for obstacles, or a super-quick model, but really it just comes down to design.

The other 10% is a title/menu screen.

I feel like there should be some SFX too, which won’t take long. That’s low priority though.

I’m aiming for a good 10 minutes of gameplay, introducing you to various mechanics (“peeking”, “poking”, and “throwing” portals), and provide a bit of a challenge. It’s tough enough to think with 2D portals though, and these are 3D 😉

I’m also out for like 4 hours tomorrow, so the deadline will be tight!

Quick update

Posted by (twitter: @SudoJess)
Saturday, April 16th, 2016 11:18 pm

Spent too long on a silly thing as usual.

Currently using Unity debug assets, so ignore those. Here’s some initial gameplay of “Polytopian”



I’m in! ?

Posted by (twitter: @SudoJess)
Friday, April 15th, 2016 5:47 pm

Haven’t missed a Ludum Dare since I started, and I don’t plan to start now!

Booked the Monday+Tuesday off work to recover too!

Photos of my battlestation usually go down well so here it is:

IMG_0096IMG_0097 copy
The image on the left is a lesser used area, for music making, and a pseudo-dock for my windows laptop + raspberry pi. Hence the messiness!

I have no idea what the theme will be, so I don’t know the tools. Here’s what I usually use:

IntelliJ for code, or VisualStudio Code. Vim if needed.

Logic Pro X for music, coupled with an 88-key MIDI keyboard.

Photoshop/Pixelmator for graphics. Blender if it’s 3D.

Unity, LibGDX or Phaser as a game engine, depending on the idea!

Paper and pencil for sketching

I have Windows, Mac and Linux machines too, I like to release cross-platform if possible!

I’ve lost count of how many of these I’ve done now, but it’s a fair amount, and I enjoy myself every time, even if the quality of what I create varies wildly. I’ll be working from home again, with beer, energydrink and junk food, also very little sleep. I tried the “take care of yourself” route a few times in LD and it always resulted in worse quality, so I binge now and take care of myself after 😛

I’ve learned a lot of new things since the last LD, especially a big focus on design + aesthetics. I’m hardly ‘good’ at it yet, but I’m at least better than I was.

I’m doing the Jam, but I’m doing it alone, just using it to give myself 72 hours rather than 48.

See you on the other side!

I’m in, as always

Posted by (twitter: @SudoJess)
Wednesday, August 19th, 2015 3:51 pm

This will be my 12th entry to Ludum Dare and I haven’t missed one. 4 years! It’s a long time. When I started, I’d barely programmed at all beyond a few tweaks here and there, I’ve done freelance gamedev, worked in NFC payments and now making websites for an awesome local company.

I’m hosting a party of sorts at my house this weekend, gamedev, beer and pizza will be happening. I hope to enjoy myself and create something good! I’m not always pleased with what I make, but I always see Ludum Dare as a worthwhile venture, and I’ve always come out of it learning something new, be it about coding, art, project/team management and even myself.

I hope to never miss a single one, as sad as it sounds, it’s one of the most important things in my life.

I’m in?! I’m in.

Posted by (twitter: @SudoJess)
Friday, December 5th, 2014 5:34 pm

This LD marks my third year. It’s been a hell of a time looking back. Learning to code properly has completely changed my life in some way or another.


I’m teaming up an awesome friend for this, and I’m quite happy we’ll do something amazing.
Code/Engine:  C#, Unity3D.

Musics: Logic Pro X. Audacity

Art: Whatever my friend uses.
I have a lot of snacks, energydrink, and time. So I really hope I do well this time. I’d like it if I got into the top 100 in some category, although with the ever increasing number of participants it gets harder and harder!

Good luck to every other participant, and make awesome games!

Looking Glass Post-Mortem

Posted by (twitter: @SudoJess)
Saturday, August 30th, 2014 5:44 am

This Ludum Dare was my 8th time. I’ve come a long way since then.

This time round, I made “Looking Glass”. I’ve been rewatching the Stargate series for the god knows how manyth time, and it’s struck me as just how good the Stargate itself is as a games design device. You get this big circular thing as a barrier between worlds, a “home base”, plenty of room for exploration of mechanics, completely different level and terrain design, so much storytelling potential, it’s why it works so well as a device in the show as well.

I knew I was going to enter the jam from the start, there’s no way I could make the assets needed to in time, so I was either going to find publically available assets or find a 3D artist with time to spare. I didn’t find an artist in time, so I just used some assets I found that were free to use.
I spent the first day making the actual gate effect, it’s a complicated system to be honest, since then I’ve been thinking of ways to simplify it, probably using Rendertextures than the current method.
The basics of it are this –
A custom shader on a material, attached to a plane. This material fills the Z buffer.
A system of 4 cameras
Camera 1 – parented to the outgoing gate (though gates are bidirectional here this is important). Moves relative to the camera relative to the gate direction. Some funky Quaternion Maths going on. Clears to skybox Depth of -4
Camera 2 – same as Camera 1 although it doesn’t clear at all. Depth -2 (so it’d override Cam1)
Camera 3 – Player camera, clears to depth buffer Depth -1, ignores the custom materials
Camera 4 – Directly parented to player camera, Clears to depth, depth -3, culling mask ignores the incoming portal

So what happens is the cameras all move relative to the player, Cam 3+4 are directly, Cameras 1+2 move so they’re always offset by the portal position+rotation. The effect here is that Cameras 1+2 only get drawn onto that material (due to the clever depth shader), however there’s some overlapping with the incoming portal having 2 cameras draw on it, so camera 4 does some absolute magic to make the outgoing portals camera not draw on that. Honestly I can’t exactly explain how it works, I’m not a very good technical writer. We’re basically talking about a lack of something overlapping another lack of something so a something can draw on one lack of something rather than the other.

The effect, however, is rather amazing. We get an effect similar to the portal series of games.

View a video here.

Teleporting was rather easy. Attach a rather thin collider, make sure you grab the players rotation relative to the portal, and set the transform and rotation relative to the new portal. There’s still a rare glitch where the player will come out a bit too far back and be clipping through the portal, but it was a simple fix, I just didn’t have time.

As I spent day 2 and the morning of day 3 quite ill, I didn’t have much chance to implement any real gameplay. This was a real shame, I wanted to make the game about exploration, but with a bit more actual interactivity than I managed.

I made a bunch of different worlds, added an updating “database” with the new fancy Unity UI system, and plopped a few terminals in there to guide the player along a journey of different planets. I managed to add 2 hidden worlds too, dropping a few hints here and there as to their addresses. Someone’s already hacked the game to find them too!

Have some screenshots of the first 2 areas



And don’t forget to play  + rate! Any feedback is much appreciated!
Game link

Debris. A game based in space

Posted by (twitter: @SudoJess)
Monday, April 28th, 2014 1:49 pm

Space is about as far away from “beneath the surface” as you can get really. Although one could argue that if you go really really really far below the surface, you sorta come out the other side and end up in space.
Regardless, this has bunker-busting nukes, they bury themselves under the surface of stuff and explode, it’s a different kind of explosion than surface nukes, in this case, not enough to break up a large asteroid, but enough to knock it off course.

So I made this game in a few days. I’m not an artist, nor a voice actor, so I’m entering the jam with some free NASA models, and the voice of some Canadian bloke called James Something. (No really)

The game itself is pretty simple in theory, but I aimed for those sortof awkward controls that are getting popular these days. The great thing is that controlling stuff in space is awkward anyway. You can control Pitch (or Patch, as I wrote at 5AM), Yaw, Roll as well as thrusting up/down, forward/back and sideways strafe. Of course being in effectively 0g environment means that momentum is a bit of a killer, and it takes just as long to slow down as it does to get to that speed.

Honestly it’s a difficult game, I think some people will get a bit frustrated, but it’s visually nice, and I’m quite happy with the physics of everything.

You can play it Here and view the Ludum Dare page Here

Ratings and feedback are much appreciated. Let me know if you manage to win too, because honestly It’d be quite an accomplishment!

I’ve tentatively added Oculus Rift support, though I don’t own a device, I need someone to test it out before I release to the public.

Once again.

Posted by (twitter: @SudoJess)
Friday, April 25th, 2014 1:59 pm

I’m in. I’m gonna code stuff. It’ll probably be my first public game I release in unity. I’ve been using it for work, but my project for work hasn’t been released yet.

I’m teamed with an amazing 3D artist, and a really awesome Musician, so we’ll make something great for the jam I think.

Battlestation photos? Sure.

W98d1UL vZgCSNq lqv05DJ

My compo entry

Posted by (twitter: @SudoJess)
Sunday, December 15th, 2013 12:08 pm

I threw something together for the compo. It’s a bit different to what I normally make


I’m in!

Posted by (twitter: @SudoJess)
Friday, December 13th, 2013 5:48 pm

Gonna be going to a local meetup too. But here’s a picture of my home setup:

Code: C# Unity3D (Probably in 2D mode though)
Art: Pinta
Music: SFXR, probably no music.

I’ve got all my ideas and stuff written down for each theme (bar 2 I’m stuck on).
I won’t even open up Unity until the theme is announced.
This is my first time using Unity in a game jam, so I’m a bit nervous. I still don’t consider myself that experienced.


Computer specs:
Macbook Pro 13″ Retina October 2013
2.4ghz Intel i5

Macbook pro 13″ Late 2012
2.4ghz Intel i5

Acer W3-810 Windows tablet
1.8GHz Intel Atom

Custom PC
4ghz 8-core AMD CPU
Ati 7850 1GB GPU

32GB Nexus 7
32GB HTC One
16GB iPhone 5S

Depending on the game, I might port to Ouya + GameStick as well. Low priority though.

On a more personal note:

Ludum Dare has always had a very special place in my heart. This marks the 2nd year of my taking part. In fact, I started Ludum Dare on the 16th of December 2011, the same day that this one ends.
I knew how to code before I entered LD, but I’d never put it into practice. That day, I decided I was going to make it my hobby.
2 years later, I’ve held a job in the games industry, I’ve worked on multiple apps. I started my own business and sold games of my own.
I’ve exhibited at conventions, with my own company.
I’ve made so many friends in the developer community. I found one of my best friends through streaming this LD.
To say that Ludum Dare has changed my life would be an understatement. At the time I first started back in 2011, I was on the verge of suicide.
Ludum Dare saved my life. It helped me to discover a large part of who I am. It introduced me to so many great people in the industry.
If it wasn’t for Ludum Dare, I’d be a completely different person.

2 years isn’t that much time to some people, but I find it hard to remember my life before I made games.

Thank you to the people that organised this event.
Thank you to everybody here that takes part.
Thank you to every one of my friends that have helped me through so much these past few  years.
And good luck. You’ll do great.

Never stop making games.

Jack of all trades

Posted by (twitter: @SudoJess)
Tuesday, August 27th, 2013 2:08 am

JOAT joat2 joat3 joat4



I made this in 72 hours, with the help of a musician and artist.
All code is me. I also did some really minor changes to the art.

Honestly, i’m super proud of this. It’s available for Android as well as desktop, and that’s where it really shines. It’s a perfect game to be playing on the toilet or w/e.

The multiplayer was a little rushed (though I coded it with multiplayer in mind from the beginning). So I’m amazed it turned out as nice as it did. It sort of relies on the player not cheating. But it still works well. Gives a spaceteam vibe (which is what I was going for).

I did a sort of let’s play of it, showing off the single player video.

As far as a post-mortem goes. I honestly couldn’t be happier given the circumstances. Having an artist was touch-and-go for a while, which delayed implementing things (But did give me time to focus on design + backend code), and the musician basically didn’t turn up until the last minute. But this all comes with the territory of being a person. Everyone is busy at times.

My only regret is that I didn’t have anything to show at the game jam meetup I went to. And as much as I love it (and will always go), the 4 hours round-trip of travel does take out of potential dev time.

Lastly, I put the game on the play store. You can grab it from the Ludum Dare page, but if you want future updates, it’s gonna cost ya! A grand total of £0.50 ($0.80). I probably won’t update the free version from here on, but either way, I’ve found more than that behind the back of a couch. Go get it :)

I might port/push to iOS too, if I get the chance.



Posted by (twitter: @SudoJess)
Monday, August 26th, 2013 1:27 pm

Streaming the last few hours of my game for those curious.



Posted by (twitter: @SudoJess)
Monday, August 26th, 2013 9:05 am



I’m nearly done with the main game, as you can see.
There’s multiplayer support, not shown in the video. You just need a second device, be it Android, Windows, Mac or Linux.
I’d make an iOS version too, but there’s no way of getting it on the store in time.

There’s going to be a second “game” if you will. With the same mechanics. I’ll only do that if I get the time.

Despite having no artist for most of the first day, I think the result is looking pretty awesome!

I’m in once more.

Posted by (twitter: @SudoJess)
Friday, August 23rd, 2013 2:39 pm

I’ll post some pretty battlestation pics later.

This is my 6th LD! Can’t believe I’ve been doing it for 2 years.

I’m doing the jam this time. With an artist + sound guy, because I know when to stick to my strengths
So all that’s being used:
PC or Macbook.

I’m attending a local meetup. That’ll be cool, as always.
I’m writing some background code beforehand, that way I can focus on gameplay.

I have a lot to thank LD for.
When I started, I had a few years of dabbling with code under my belt, and barely any education (only UK highschool). I couldn’t find a job, even in the lowest paid industries. I applied for anything and everything, and I got nowhere.

LD made me focus more on programming. I knew I had it in me to be good, and I already knew a fair amount of Computer Science basics (like the concept of OO).

Cut to 2 years of 60 hour weeks later. I’m a fairly respected App + game developer. I’ve got a few indie games under my belt. Worked for 2 game studios, earn a comfortable living, and I’m almost completely swamped with contracts!

My life changed so much. So so much thanks to LD. I’m honestly getting teared up thinking about it.

Thank you.

Thank you all.

Good luck, and make games!

[cache: storing page]