Just a moment ago I finally realized something I should’ve realized years and years ago, and decided that the best way to approach it would be to write an open apology.
Over the years of participating in Ludum Dares and other game jams, I have partly unthinkingly and partly knowingly cheated and otherwise acted maliciously in ways that have made my results look better than they deserve. This has happened in two ways:
- Using certain bits of MMF2 code I had made earlier to get started with a game project faster, and
- Using the “submission hour” to add content and polish/tweaks
In earlier LDs I’ve taken part in it’s also possible that I’ve added content after the deadline along with bugfixes, but I’m not certain of the extent of this kind of behaviour and I’m fairly certain it hasn’t happened in recent years (not that that makes it acceptable to have happened before!)
The former category of cheating has mostly concerned certain relatively simple “modules” that I’ve added to my projects upon starting to work on them; it would’ve been quite trivial to re-implement the same features during the actual compo and I doubt I’ve gained much advantage via this abuse of the rules; this of course doesn’t make my behaviour any less wrong, merely a bit dumber.
Using the “submission hour” for polish and features has definitely affected the quality of my entries significantly; I have no excuse for this behaviour.
It makes me angry at myself to have abused the goodwill of the community in such a way and I’m very very sorry that I’ve acted this way. The reason behind this kind of behaviour is probably partially in my own naïvete; when I first participated in LD I was much younger and thus had less of a moral compass, and after that it’s been easier to point at past offences and think “well, I did that before so I don’t have to care now, either”, or just not think about the whole issue in the first place. I’m glad I’ve realized that this way of thinking is actively malicious and morally wrong, but I’m really sad it took me this long to actually decide to acknowledge it and the awful things I’ve done. What makes me feel even more awful is the fact that I’ve manipulated my time lapse videos so that this behaviour couldn’t be seen in them.
So, again, I’m very deeply sorry to have acted in such a malicious manner, and I apologize for having been as dumb and mean as I have. Ludum Dare has been a very important part of my game developer hobby for these past 7 years and I’ve learned a lot and enjoyed all the experiences related to the event; I just wish this kind of attitude hadn’t been a part of it behind the scenes, or at least that I’d have been morally sound enough to stop doing it, feel genuinely sorry and apologize a long time ago.
As a gesture that someone hopefully finds useful, I’ve decided to upload the bits of engine I’ve re-used in many of my LD games; right now I can recall two that I’ve utilized in multiple entries (especially the latter can be found in nearly every entry):
- A simple platforming engine. The version I’ll include here contains some extra functionality, such as slopes, because I’m not completely certain on whether I’ve used only the simplest form in a cheaty manner or also this more advanced one.
- A system for quickly resizing the game window to a multiplier of its original size. This is a very simple piece of code, but as a result also very easy to quickly add to a project at the start of development.
Additionally I’ve used Adam “Sketchy” Hawker’s pathfinding tutorial in multiple entries, and while I’m not certain of how much of the tutorial code I’ve copied directly to my entries, I have a memory that suggests that I’ve done so and renamed variables afterwards to make this less apparent. This is awful.
I have used these two particular engine pieces in a similarly cheaty way in other game jams, such as No More Sweden and Nordic Game Jam, for similarly dumb and irresponsible reasons, although without the intention to act maliciously (if that matters).
I hope that the fact that I bring this matter up on my own helps prove that I genuinely feel very sorry about it and wish to be a better person in the future. It’ll be somewhat scary to see what’ll come out of this, but in the end whatever possible bad outcomes are deserved and I’m nevertheless sure that this is the right thing to do, right now.
Here are the two pieces of engine mentioned:
Platforming engine (with slopes) – ThePodunkian kindly taught me the basics of this design years ago (in 2008, maybe?)
Screen size multiplier – I’m fairly sure I implemented this myself and refined it over the years.
Seems like Adam’s pathfinding tutorials are no longer available; I feel slightly uncomfortable uploading them as they are, but if anyone wants I can make a tutorial based on the system I’ve used.
I’ll be posting this on twitter & the Ludum Dare blog; hopefully all relevant parties will see it.