I found myself procrastinating in terms of making games, so I just wrote a blog post about making a game:
If you need a boost, feel free to check it out! Everyone needs a break.
I found myself procrastinating in terms of making games, so I just wrote a blog post about making a game:
If you need a boost, feel free to check it out! Everyone needs a break.
Okay, so another Ludum Dare went by, and all we have left is a small, dense game in which we’ve poured all of our willpower.
The Longest Way Down is UP! Yay for the oximoron!
It’s time to go back in time and analyze the ups and downs and hopefully learn something useful.
This was the first time that I actually submitted the game before the deadline instead of struggling with last minute problems during the submit hour. It either means that I’m starting to get the hang of how it works, or that I just don’t care anymore and whatever.
Let’s have an in detail look, shall we?
This one was big. Of all the four Ludum Dares I’ve been in, this was the first one where I picked an idea and sticked with it until the end. In the other compos I used to pick an idea, waste half a day on it, understand that I could not do it in time and start again from scratch with a brand new idea. This was inefficient to say the least.
I managed this time to ignore the costant nag of myself thinking about other ideas. “Hmmm, this isn’t going anywhere. That other idea I had looked interesting, maybe I can try that instead.” Nope, guess what, the other ideas I had were just as time consuming and without an end like all the others. It is the idea of procrastination that is too sexy to resist. Still I managed to keep my instincts under control. End result: there is actually a game done in my LD portfolio! Cool beans. Take that, procrastination!
Keeping it simple
This time around I started playing around with and idea, and managed to keep it snack sized. This was the key that let me finish the game in time. Yes, because adventure games are not as strightfoward as they look, especially without dedicated tools.
Still, even though the idea was small enough, the game still made me sweat for the finishing line. I had to cut down a lot of ideas I had during these two days. and the end result is ermetic to say the least. If this game was a room, it would have the bare essentials to survive. But hey, it’s a game, you can play it and you can finish it, so I’m happy with that.
Unfortunately, it comes with a price. I had to cut out sound completely to make it in time, and in part it is my fault (see below).
Sticking to what I know
I have to admit that the biggest part was played by the fact that point and click games are (relatively) simple to program.
Another big thing was using an ambient that I’ve forged into my back mind in the course of the last few months: Emacs. Amazing IDE and a joy to work with (when you get the hang of it). It is the first LD that I did with Emacs and I’m very glad I did. Fast, lightweight and extremely powerful. It fits perfetly in my workflow and has been a wonderful toon in this weekend.
I started drawing in Inkscape on a whim. I thought about making some mockups and them improve them in GIMP, but then the results I got were so quick and so good that I ended up using it for everything. I am really grateful for that. I got a very good approximation of what I wanted for a fraction of the time.
I’m starting to really love vectorial graphics. Probably because it’s the diametral opposite of pixel graphics, which I can barely stand (and before someone jumps on me, let’s clarify, I do not mean pixel art, i mean those blocky Lego-style graphics where a pixel is the size of your nail and you have a hard time understanding what the hell is going on). I’m definately not one of those atari 2600 aficionados which love this kind of style. To me, the less the pixels are visible, the better.
I’m definitely going to use inkscape in the future for other projects (probably with some improvements).
Going the safe way
For once I did something that I considered a waste of time at the time but knew that was the better thing to do: I decided to play it safe. I’ve been fucked over in the past by trying to getting the pc to do some work I should do.
For Spark, it was tiling. This time around, it was hotspot programming (i.e. the clicky areas). Looks like I had to do them by hand. Took a long time, but looking back I’m glad I didn’t create some weird script that would have been just a waste of precious hours in the end. I saved time and in exchange the game gained some health.
What’s good for the game, is good for you!
Lack of Automation
While I managed to complete The Longest Journey Down in the required 48 hours, there was a lot of stuff I had to cut out to do it. For example, there is no sound in the game, which for me is a big blow. I’m a graphics guy first and a sound guy second, so not having any sound to impregnate the atmosphere like I wanted sucks more than a little.
The reason for this is that I decided to make the game in HTML. This has some great advantages under a lot of aspects: complete control over page structure and code efficiency, familiar language which I know very well, familiar workflow. The problem is, if you want real control of what happens over the page (and maintain your mental sanity in case something goes wrong), you have to pick up your sleeves and type. I don’t trust programs with GUIs since most of the time the barf they spit out is unworkable.
Unfortunately, this can be very slow. The workflow consisted in this:
This was a very reliable process and going back I would do the same, but I think that doing this for a game even twice the size it can be extremely time consuming. I really wished that Inkscape had a JSON exporter of sorts to save some time. I even thought of making a converter from XML to JSON so that the process could be automated more. That of course was just stupid since the time I would have saved would have been a lot less than the time I would have spent creating the game.
So in the end I was between a rock and a hard place. Not much to do other than grinding those numbers into the source. I wish I had some way to automate the process, I would have been able to insert a lot more content in the game.
During Ludum Dares, time is tight. And somehow I still managed to waste more than a handful of hours on Reddit. Why I did that is beyond me. I’m not so bitter about this since I knew that the game would be done in time anyway, but I’m still disappointed in my lack of discipline.
Sometimes, things happen that you just can’t foresee, and you get stumped. Happens all the time, for every project.
This time around, a weird bug popped out during the later development stages. To give some context, I was programming the part where you have to change scenes in the game. What should have happened is: you flush the current hotspots and load the next scene. Done, simple and easy.
Not quite. For some reason, the browser was flushing only part of the hotspots, and was just refusing to flush the other ones. I had no clue to why this happened, and had me stuck for more than 40 minutes. I was looping through the current active hotspots divs and using removeChild to get rid of them.
But Chrome didn’t like it. I was oblivious to why this was happening. For some reason Stackoverflow wasn’t of much help either. I was starting to get nervous, I had to finish the art, the textboxes and put everything together and this bug was preventing everything from getting done.
The loop worked like this: I call getElementsByClassName and collect the divs that I want to remove (they have all the same ‘active’ class). I loop though them using length. Through some rapid debugging I discovered that the length of the array I got was changing every iteration, although I didn’t change it.
What. The Fuck.
Then, after much more imprecations, it hit me. I was naively thinking that the “array” I got from getElementsByClassName was, in fact, an array. It looks like instead it is a pointer to another array with the list of the ACTUAL elements in the document with that class. This meant that every time I removed a div, the array changed. But I was still looping on the original array size, so it was basically telling me “the fuck” and stopped removing them when it started getting ‘undefined’ elements (which were in fact out of range).
Okay, I guess this covers everything that happened during this weekend. Be sure to check out The Longest Way Down (shit title by the way, wish I picked something hipsterish like “Down” or something like that). I like it and I think you may enjoy it. For sure I did while creating it.
To those of you contemplating failure:
So…time for a list…
So, that’s all for today. More work to be done tomorrow.
If you want to see a 16 minute video made of 3-4 hours of game development, you can check out my timelapse.
Woah! 12 years? Someone get you a walking stick! You’re as old as a banana!
Ludum Dare is a great experience and has helped me loads regarding game development. I’d encourage all developers to have a crack at it. Everyone will have learnt something from it, even if they are pretty experienced.
Last Ludum Dare I ranked 4th overall, and 1st in the theme category with my entry, Super Sneaky Sample Stealer. It was my best effort and I doubt I’ll get any higher. But hey, maybe I’ll win the compo? Maybe then I’ll be rich and famous and own a private island?
I wish everyone the best of luck with this time’s Ludum Dare. I don’t have as much time as I hoped for to participate, but I’m hoping to see some impressive entries!
A while back, I wrote a pretty nifty guide on some cool tips for the Ludum Dare, so if this is your first one, it would be cool if you read it! It got some attention when I first wrote it, so that was a thing.
Go show ‘em who’s boss with your buggy prototypes!
(EN)This video is an invitation Battery Game community and support for the Ludum Dare 29!
We demonstrate our games ended in events GAME JAM and explain to beginners how to enter the competition!
All are welcome, just ask for an invite: Click here.
(PT-BR)Este vídeo é um convite da comunidade Bateria de Jogos e um apoio ao Ludum dare 29!
Demonstramos nossos jogos em eventos de JAM e explicamos aos novatos como participar da competição!
Todos são bem vindos, basta pedir um convite: Clique aqui.
Since I was in the Cyberpunk Jam I wanted to make another game for the MiniLD and the Insanity Jam, but I guess the motivation wasn’t there, so I didn’t participate in both. This time, I’m thinking a different game genre and platformer as my plan-B. A few of my friends are going to try tho make a game from scratch as I heard from them, but I currently lick the knowledge to do so, so I’ll be sticking to my favorite engine – Multimedia Fusion 2.
For music, I’ll be making it myself. I’m not a real musician in any way, but I can still make a tune that you will probably enjoy. If you want a sample of my work, I have a upcoming album with a few pre-release tunes already published here.
For inspiration, I use C418 and KOZILEK.
For software, I’ll be using FL Studio 11 Producer Edition and Audacity for some extra sounds or dialogue.
Also, SFXR – for sounds.
For the artwork, I’ll e sticking to my minimalist style of pixel art. It helps with time and it still looks fairly good. I’ll also try to animate a bit more. Software – Paint.NET, Photoshop CS6.
PyxelEdit - for tiles
Livestream on Hitbox
Thanks for reading and have a nice jam time!
So, this will be my 5th Ludum Dare and I’m pumped. Unfortunately missed the last one, but I’m in again. Going to be potentially trialling some new stuff this time, hope that goes well. LibGDX is not brand new to me, but it will be my first time making an actual game in it. I really hope that goes okay.
I wish everyone luck, just submit something. Don’t call it quits on Saturday afternoon. Take a break, but come back. Submit something. Maybe it sucks, is incomplete, buggy, or something else but submit it. Get feedback. We have a good community of devs here, many of which will be supportive and give you very good feedback. My first 2 LD games sucked. They were terrible, and pretty boring to play. They had the buggiest collision detection you ever saw. But I submitted them, and I got better. I think Shoodir and Broken Controls (my past 2 games) were actually kind of fun, and were less buggy. I hope to make something better again this LD. I hope you make something better this LD. Good luck everyone!
PS. Watch a Stream. It can be encouraging to watch other developers having success, and make those bug-hunting times less frustrating when you’re not the only one having them.
I’m mostly writing this as a (super) quick analysis as to why I am doing this 48 Game Jam / Competition. This will be my first Ludum Dare. I had heard about it before but had never investigated it closely. The reason for this investigation now is that for the past 9 months I have been working on a programming book. This was a long, drawn-out, and boring process; this difficulty was not something I was anticipating. It made me irritable and actually started making me lose faith in my abilities but more importantly my passion as a game developer. In conjunction with my current job, it was the perfect formula for stress, resentment, depression, and a bunch of other negative feelings. The book is done, so why Ludum Dare? One reason is it’s advertised as a primarily SOLO game jam. This is an area I think I thrive in actually — no long meetings, no compromising vision (which is different than cutting back on scope), no hurt feelings or politics. I mostly want to have fun, but I also want to see if I can rejuvenate the passion for making games — not technical text, not concepts, not ideas, but an actually game! I’ve done the Global Game Jam before, and themes in game jams have always sort of “burned” me; this has been mostly due to the fact that I had gone into game jams with an idea in mind and couldn’t think how to make the theme work with the idea that wasn’t utter bullsh*t. For this Ludum Dare, I’m trying to go in with no ideas other than the fact that the game will be in Unity3D (or GameMaker is I think that is a better fit). This isn’t the most exciting post, but I hope to write a few more during the course of Ludum Dare — but not too many as I have to actually focus on a game — and good luck to everyone participating!
Since people started sharing wonderful resources on creativity, I thought I’d contribute too! For me, “An Invocation for Beginnings” by zefrank is super helpful when embarking on any creative endeavor.
It’s absolutely wonderful.
My favourite parts fitting Ludum Dare:
I’m scared. I’m scared that my abilities are gone, I’m scared that im gonna fuck this up and I’m scared of you. I don’t want to start, but I will.
Let me realize that my past failures at follow-through are no indication of my future performance. They are just healthy little fires that are gonna warm up my ass.
Perfectionism may look good in his shiny shoes, but he’s a little bit of an asshole and no one invites him to their pool parties.
Let me not think of my work only as a stepping stone to something else – and if it is, let me become fascinated with the shape of the stone. Let me take the idea that got me this far and put it to bed. What im about to do will not be that, but it will be something.
There’s no need to sharpen my pencils anymore: My pencils are sharp enough, even the dull ones will make a mark. Warts and all, lets start this shit up.
I’m in again. I just can’t help myself. Ludum Dare is fun. Truthfully I wish it were more frequent. I have no idea what style game I’d like to make this time. Well, not entirely true. I’d like to make a 1981/2 Williams style arcade shooting/blasting game, but have no idea on style or genre. Will see that the theme is.
On creativity…originated from a friend at Remedy (IIRC) made this little chart on the Creative Process. I find it very accurate and particularly suited to Ludum Dare.
Most everyone goes through the above on most any project from Ludum Dare to iOS to Steam to Assassin’s Creed or Call of Duty. The trick is to not get discouraged in steps 3 and 4. Fight through it. Don’t second guess everything. Don’t doubt everything. Don’t give up.
Also there’s this fantastic video from Ira Glass:
https://www.youtube.com/watch?v=3ResTHKVxf4 (hope it embeds, but it may not). Watch it.
Stay focused and lean and mean on the jam so you increase your chance of success. Don’t reach too far. Don’t scope too large. Better to do to little, and add, then get halfway into Saturday and realize it’s not gonna happen. THE MOST IMPORTANT THING is finishing – something, anything. A complete work. Good luck!
I pretty much feel obligated to do an “I’m in” post.
This weekend reeeally isn’t what I would call an ideal weekend for a LD, but let’s go!
Not much has changed on my toolset since last LD:
Platform: HTML5 (FTW)!
Browser: Chrome, obviously! I might test the game in other browsers before publishing, tho.
Os: Ubuntu 13.10
Engines/frameworks/libraries: I might use any of these frameworks/libraries, depending on the situation:
Gfx: Graphics? Whaaat are those?
Well, as I suck at any kind of visual art, I’ll probably make a game with squares, circles and triangles for graphics (probably circles tho, circle collision is way easier to solve). If I ever consider to any “real” art, I’ll probably use Gimp.
File hosting: Dropbox . I can’t live without Dropbox. Seriously, Dropbox. Need it!
Version control: WTF is this?
These are the configurations of my <sarcasm> super beefy computer </sarcasm>:
Sorry, not enough time to make a cool VGM playlist this time…
As a compensation, enjoy a picture of my workspace: