LD30 August 22–25, 2014

Mighty Retro Zero – Bangai-O Missile Fury inspired level

First, thanks to “Theunlosing Quint” steam user for the idea of a Bangai-O level.

This will be one of the Endless level available in the game. Yes, is a bit hard and challenging but also addictive and fun!!

The level is inspired on Bangai-O Missile Fury. Here you can see a  youtube video: https://www.youtube.com/watch?v=dSlQRd7C1to .

Hope you like it!

 

 

Links to follow the project
—————————–

Official page: http://dev.kronbits.com/myghtyretrozero

TigSource Devlog: http://forums.tigsource.com/index.php?topic=42252
Gamejolt Page: http://gamejolt.com/games/platformer/mighty-retro-zero/29923/
IndieDB: http://www.indiedb.com/games/mighty-retro-zero
Steam: http://steamcommunity.com/sharedfiles/filedetails/308914920

Tumblr: http://dev.kronbits.com/
Instagram: http://instagram.com/matriax
Facebook: https://www.facebook.com/kronbits
Twitter(Official): https://twitter.com/Kronbits
Twitter(Personal): https://twitter.com/DavitMasia

SLIMILIZATION – the big reveal

So it’s been a few weeks since I released SLIMILIZATION, a Ludum Dare 30 game:

http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&uid=20841

The Ludum Dare theme is Connected Worlds. At first glance, SLIMILIZATION doesn’t seem to match the theme, but the game actually has a secret. Basically, it connects player into the same world. Everyone is playing on the same map, starting at different random location, like in the game Sid Meier’s Civilization.

More details here: http://jacklehamster.wordpress.com/2014/09/06/slimilization-the-big-reveal/

Top 1 games about bacon uprisings

So after playing thousands of games the plots of which were centered around bacons starting an uprising, I’m confident to say that one of the most interesting ones was “The Bacon Uprising” by this Tigro guy (any similarities between his and my username are absolutely coincidental). So yeah, you should check it out:

 

While bacon uprising is more and more prevalent of a theme in modern indie games, this man managed to squeeze more of the topic providing a captivating plot and 16 hours of juicy gameplay. Grab it while it’s free, rumor has it it’s gonna be greenlit soon and increase in price to $80 with DRM.

Any good Java engines for beginners?

So, recently I started learning basic console Java, plus developed a few basic Android apps. Now I want to move into real Java desktop games. Can you guys recommend something good? I target 2D games (tried LWJGL but OpenGL stuff is what kills me). I can remember LOVE2D a engine that really suited my style.

Thanks for any help! :)

Comments

Dietrich Epp
08. Sep 2014 · 01:29 UTC
For these kinds of questions, you’ll probably get a much better response in the IRC channel.
08. Sep 2014 · 11:14 UTC
You might want to try Processing. It’s usually used out of its own (and rather limited) IDE, but you can also just use the processing library in Eclipse!
08. Sep 2014 · 13:11 UTC
It depends. Are you begginer programmer, or you’re just new to Java? I’m using libGDX but if you have no experience programming, it could be too much for you.

What would you like to see in the full version of Parallel Rift

We had a lot of fun on the Ludum Dare with Parallel Rift, and I’ve decided to take the project forward to a fully fledged game!

What kind of things would you like to see in the final? Obviously more levels, bigger levels and more gameplay! Let me know what you would like to see!

Check out the compo entry here, and let me know your suggestions for the future!

Parallel Worlds (my kind) — Postmortem

Bloom World

Bloom World

 

If you haven’t already, give “Parallel Worlds” a try! Feedback is welcomed!

Try and Rate “Parallel Worlds”

 

Now’s my turn to announce my postmortem on my edition of “Parallel Worlds!”

 

GOOD THINGS

Map system:  Although I spent most of my Saturday on the map system, I’m happy to get that working and designed. I came up with three worlds, each with it’s own map, style, and song. The portals are working as they should: to take you to the next world in sequence.

Mechanics: Having just a labyrinth where you move eight directions overhead is not so innovated in my opinion. Therefore, I decided to add a gravitated side-scroller in one of the worlds. My initial thought is to add different mechanics to most worlds; although, I only came up of two. Likewise, I’m glad to get two different mechanics in the game to show my idea.

Graphics: I wanted to design an game reminiscent to an ATARI 2600 game but with a background/overlay reminiscent to Magnavox Odyssey. The map is full of big blocks while the background is a detailed, pixelated environment.

Audio: This is my first ever LD entry that featured audio! 😀 I’ve done both sound and music with OpenMPT. The sounds didn’t take me too much time to complete as I only have one. The music was a challenge for me to create in such a few hours. I’m not an avid musician, but I do enjoy making chip-tunes. I was amazed to come up with 3 songs in under 2 hours time.

Smooth play: This is my second game made in Flash, but I used Flixel this time. My previous Flash game was nicely done, but it suffered from laggy performance; but I manged to get that resolved later on. This time, however, this game ran smoothly during development and remained that way by its release. Flixel has helped make game development easier and efficiently in little code.

 

BAD THINGS

Feature creep: My initial thought was to add enemies to add a more arcade-style game rather than a standard labyrinth with portals. You will notice some rooms have particular designs. Those were designated for enemies — which, unfortunately, is what I didn’t have enough time on. Therefore, the game ended up as a maze with no combat, which is not what I planned initially.

Not enough experience with Flixel: I’m still rather new to Flixel, still learning what it has to offer and learning how to handle its objects. Most of my time was spent on experimenting and trial and error — which could be the blame for the time it took to get the map system working well. Game programming is nothing new to me and game programming in Flash is certainly not a new thing to me, but Flixel is still something I need to learn more of. Eventually, I’ll come up with tricks to take advantage of Flixel’s objects and come up with something in shorter time.

Portal system: The portal system works as intended, but not to what I planned. Sure, the portals will take you to the next world or to the first world when you’ve reached the maximum world, but I wanted an option to choose a specific world to teleport to. While that idea is already achieved in the game when you keep entering the portal, that idea leaves a better way to use the yellow keys. Currently, yellow keys allow you to access the portal in a world. My initial idea is to have each world contain keys to unlock every world (other than the world they are currently in). Any collected keys would actually not be carried on to other worlds. For example, I you are at world 2 and you wanted to go to world 1 or world 3, you will need to find keys to world 1 and world 3 somewhere in world 2. Those collected keys would only remain in world 2. This is the best as I can describe about my initial idea.

Sprite Details: Most objects in game are designed to make them obvious to what they represent — e.g. key. My only issue is the green block representing you — the player. I didn’t have much time to come up with a design and I couldn’t think of a design that would fit the style since there isn’t a story. So, an ordinary block (a la Odyssey) is what I thought best fits the game, and I made it green so it stands out better in every world.

 

IN CONCLUSION

I do see this game having a future. The different mechanics definitely add variation, so I would certainly develop more interesting rules. I like to hang on to the Atari 2600 + Magnavox Odyssey presentation, but with more details. A story would add meaning and thought once I come up something compelling. I really want to add enemies, even bosses, to make this game an action game with a point and life system. With enemies, you can punch and kick them and destroy them accordingly. I have an interesting idea for how the enemies are eliminated, but it’s too complicated to describe. It might be easier to explain once I post the game footage or a prototype.

So, I would definitely like to continue working on “Parallel Worlds” — under a different name. I’ll post details on Twitter, so check out my Twitter account for the latest! (@jprogman)

See you all next time!

Tags: LD30, ld48, postmortem

Connected Pylons – compo post mortem

Here is a post mortem for my LD#30 Compo entry: Connected Pylons

It was my first Ludum Dare contribution. Here in France, the start time was Saturday 3am, so Wednesday, I decided to go to bed early for being in fine fettle. After wake up, I’ve looked at the theme and… damned no inspiration! I took my breakfast, no inspiration. I went for a walk in the woods near my home, no inspiration. I searched “connected worlds” with Google and Google image, no inspiration.

Finally, I gave up. At last I decided to use my time for fun and create an old school Pengo clone.

And then, inspiration come, it was 4h after wake up!

At first, I created an empty project with Unity3D and put some cubes and spheres to visualize the concept.

1

The green player will have to push cubes to create a connection between an enlighten pylon and a dark one, and then the newly enlighten pylon will connect the player to the next world (level). If I have enough time, I’ll implement bad red guys.

It tooks me the first day to create the base code for the player and the cubes management on a square by square basis.
2
www.aftermoon.net/LD30/Test1

I took 30 minutes to implement smooth movement before going to bed.
www.aftermoon.net/LD30/Test2

The second day was dedicated to the creation of a few levels, the transition between levels (I’m very proud of it) and some testing. My initial goal was to generate the levels procedurally. But I’ve renounced to it because I wasn’t sure to obtain something satisfying before the end of the weekend. So there were a few manually created level patterns, and only the bad guys are added procedurally in an increasing quantity. At midnight, the game was near finished, but without the bad guys.
www.aftermoon.net/LD30/Test3

I’ve spend the last 3 hours to add the bad guys (deadline was Sunday 3am in France). My goal was to implement a simple predictive AI: the “Goufy” follows the left wall, the “Regular” follows the right wall.
The players can crush them with blocks or change their paths by modifying the labyrinth.
3

At last, 30 minutes before the deadline, all was OK except there was no sound. I’ve spent the time left to create a few sound with SFXR.

The project was uploaded 5 minutes before the end of the time!
www.aftermoon.net/LD30/LD30Final

Finally I was happy with my game, I can even play it myself and take some fun. When some kind comments have started to fill my entry page I was even more happy and motivated to go further.

After the hard start with lack of inspiration, all went good during this weekend. I’m used to Unity3D, but I have learned a lot again. The webplayer was of great value, it has allowed me to easy share and get comments on the intermediate states of my game with the LD community on IRC channel.

At last I’ve found the only feature I really miss by reading comments on my entry page. The GF of  a commentator has played the game for several hours, up to the level 46, where she was stuck. I have missed to save the current level in PlayerPrefs, so players have to restart from level 1 each time they come back to play. I’ve added load/save features a few days later, and like I was not sure about LD compo rules, I have hosted this final release on a separate page. And yes, the level 46 is beatable, you just have to not being discouraged, being quick, and finish the level before all bad guys spawn!

4
www.aftermoon.net/ConnectedPylons

Thanks Ludum Dare to hosting this event :)
The next step for me will probably be on Kongregate and Google Play Store…

 

A quantum post mortem

First of all: congrats to all who have finished.

The good:

I was pleased with the idea, the visual and the music.

I found the theme a bit hard: the theme was just shouting at me: ‘planets and trade!’ and ‘two world platformer where one  influences the other’. I found these ideas a bit obvious and I thought I would drown in a sea of similar but better excecuted ideas.

After some hard (and pretty long) thinking I decided to join the world of the smallest scale to the world of the biggest scale. I even had a (love) story.

I kept the graphics simple. Animations were bad, but overall it looked OK, especially considering the amount of work done.

ATOM

ugly but functional

The music was simple, hardly any editing, but did seem to fit the theme pretty well. Also I used Aques Tone for some ambient singing, which I think worked well. Because  Aques Tone is Japanese  you’re limited to Japanese syllables (I used Google translate for the words Earth and Love, but have no idea if it’s right).

Using existing code. I have a habit of writing everything from scratch which takes much too much time. This time I used some frameworks, public code and some code I had made myself a year ago (and had posted online, so I could use it, lucky break!).

Preparation: I did a warm up weekend!

The bad: 

Framework: I used the Starting Framework. I tested it in the warm up weekend but it still threw some unexpected curve balls, which made me doubt if I could finish the game on time. In the end I made it work but at first a bug made it so slow, nobody would be able to finish it, it would have taken hours, now it can be done in minutes.

RSI: it influenced a lot:

  • I had to keep graphics simple (which turned out to be a positive) and could not spend the time I would like to spend. Therfore I ended up doing the Jam, because I couldn’t finish in 2 days.
  • I kept the music minimal. I did a simple one take chord sequence on guitar and a one take improvisation on guitar. They turned out pretty nice, but I wanted to have a bit more layering.
  • I couldn’t play as much games from the compo as I wanted to and couldn’t play them for very long.
  • I couldn’t play test my game as much as I wanted to (should have) . Which led to the biggest BAD:

It was not finishable for  the first week. In the last few hours I made a desperate attempt to make the shape recognition work, but because testing takes a lot of time and keyboard use, I had to post the game not knowing for sure if it was finishable. I turned out not te be.
My apologies to people trying to finish my game.

I wanted the story to be about connecting the small and the large world, about making small changes with big consequences, but it meant players would have to zoom in and out a lot.   As a playing experience it was not ideal.

It’s HARD.
I made a hint page at some point, but I haven’t heard of anyone winning the game. And I think people would want the world to know, because it is an achievement. I did it myself so I know it can be done.

The ‘don’t know’:

I made my own system for shape recognition. I looked at some publicly available code, but couldn’t figure out if it was legal to use and maybe I wouldn’t able to figure it out. If that was a good choice? I have no idea!

scrfeenshot def0

If you want a zen game to slowly create a winning state: play my game

Triple Threat – PostMoterm

Why this game ?

I had this idea for almost a year(initially a board game) but wasn’t getting an occasion to develop it(probably because of other games(college projects)).

 

What this game is about ?

As the theme for ludum dare 30 is connected worlds, I tried my best to make the game as per the theme.

The game depicts a fight between three worlds. Three worlds fighting with each other to decided who’s superior.

The tokens can only move to the world’s which are connected to the block it’s already in/

 

Problems Faced

The initial(and primary) problem was the user input, I was not able to find a solution on how to move the tokens.

Solution – Created the red blocks for each block and turned them into buttons with each button hard coded with a function (there was no time for experiment).

 

The player turns were not in proper cycle. e.g. if all the tokens of a player are removed and his turn comes, he cannot move his tokens, hence, the game wouldn’t progress.

Solution – Solved using Boolean values and permutation & combination.

Link to the game – Triple ThreatHUD

Get Connected — Background assets.

GET Connected - logoHi there.
I exported a few assets I designed to construct all the backgrounds of my ‘GET Connected‘ entry. The software I used was Flash. Moreover, I updated a new Post-Ludum version with more contents and a bit longer story. I have too many ideas for other backgrounds as Earth or other planets, but it would take so much time (design + level-design + integration). Maybe one day.

Discover my game:
GET CONNECTED

Get Connected - Background assets.

Next time, I’ll post characters assets.
More infos on my website if you are curious about my entry. :]

Sephy.

I’ve Got a Post-Mortem on a String

I suppose a post-mortem is a bit overdue for my game, I’ve Got the World On a String. You can play it here, if you want. It’s okay. Thanks in advance if you do play.

WorldOnAString-3

My initial goals were pretty tame: Make a game jam game in Unity, and spend more than a few hours on the audio. Making a fun game was also a plus. As it turned out, I only met the Unity goal, since that one was pretty much a given just by deciding to do it. I did technically spend about five hours on audio, but I threw away the boss theme I had worked on because it was bad. Oh, and I don’t find the game terribly fun, though it might have some potential.

Hits:

  • I’m pretty pleased with the music. It’s nothing spectacular, but for being churned out in under 2 hours, it’s not bad.
  • The concept for the game was one that I tried (and failed) making a long time ago, and now I can check it off of my to-do list, as it were.
  • I think the player ship sprites turned out pretty good. They read well, at least.

Misses:

  • I spent maybe 4 hours on the rope in the game, which is purely cosmetic, iterating through various physics-based approaches that failed in various ways before realizing I could just use a particle system. I also spent most of that time during the first night, and I know better than to focus on aesthetics before the core gameplay is in.
  • I wanted to have more enemy types and more bosses, especially some bullet-hell-esque ones to really bring out that core concept of being a shmup with no shooting. This time was instead spent on a rope.
  • Not using physics for the player ship really hurt later on (especially with the rope…), and I think the movement would be better if it had a bit of inertia to it. It would also be easier to line up the ship with the centers of planets, so scoring would be more reasonable.
  • The mix of 2D sprites with 3D objects and particles muddles the visual style, which wasn’t very strong to begin with.
  • Again, the rope. I was hoping it would feel like a rope in Scribblenauts, with basic physics doing most of the work, but I shouldn’t have spent so long trying to tune the various versions when they ultimately weren’t right.
  • It doesn’t feel very fun…thought it’s had a few moments for me. Maybe it’s okay.

every-time a working game – post mortem

World 1 of post combo version

World 1 of post ludum version

Befor the Jam 

The combo started for us on 2 o’clock am on Saturday. We started to think about the theme on Friday.
I personally has preferred “growing” for a puzzle game. But when the final voting starts “planet”, “space”, “worlds” came up.
I also translated  the themes in swissgerman and ask my son’s (9) for a game in mind.
The best was chaoscleaning the Child’s Bedroom.
For Connected Worlds it was something with a elevator.

Inside the Jam

Saturday
We start on 8 o’clock. While  I was driving to Sammakko, the closing elevator door was spooking around in my mind.
Our goal was every-time a working game.
So we started with 3 screens (intro, game and end-screen) and keep them running.
We think about using  Tiled for our main tool to build the worlds without knowing anything about it [-], a big mistake.
The end of the first JAM day was on 2 0’clock in the morning.

Sunday
I was creating the animation live on twitch the hole afternoon [-].
Loosing a lot of time.


Monday
Normal working until 4 o’clock pm, then starting to build content until 1 o’clock.
During the night I ask [+] dark3zz if he can help us with a matching background music from his archive. He gave us this beautiful peace of music.
**Thank You**

résumé

[-] never played around with the Tiled Map Editor
[-] never created a animation with Pyxel
[-] not jamming with kids around you

[+] ask dark3zz for background music
[+] Teamwork
[+] Keep the game running

 

It was a funny and very interesting experience.

 

World 3 of the post combo version

World 3 of the post ludum version

Tags: postmortem

Soundtrack released on Spotify / iTunes / MP3

Dear Sister albumart

Thanks everyone for your great comments on my game. I wanted to make a game with great emphasis on the music, and indeed the music plays a core role in Dear Sister, both for amplifying the emotional story, and as a key gameplay element. Based on all good feedback I decided to publish it on the web.

I have updated the entry page with links to spotify as well as a direct mp3 download. Though I would really recommend you to first experience the music in-game for a stronger reaction.

The SM Selection – LD30 Edition

SM_SelectionLD30

After confLINKted’s postmortem, it’s that unscheduled time again! In this new edition of The SM Selection I get to pick my favorite entries of the 30th Ludum Dare competition! The winners of each title get a new level, enhancing their Dev Support by 1 and their Overall Awesomeness by 50.

So who is worthy of such title? Check them out!


The Sidereal Mindbreaker title goes to…

Galactic Dump

ld30_galacticdump

Never have I ever played a stage based puzzle game like this one. The gameplay is simple enough: draw lines between the planets and the little satellites, and calculate the best connections based on the satellites’ orbit path. The 15 levels it includes are total brain teasers, ready to dare you to figure them out.

Play Galactic Dump @ Ludum Dare


The Spectral Malevolence title goes to…

Schrodinghost

ld30_schro

Schrodinghost takes the somewhat known theory of Schrödinger’s Cat and twists it in an interactive game similar to Ghost Trick. Players control of Maru, a cat stuffed in a box. His main goal is to seek revenge on his master, Schrödinger, by escaping from his lab. To do this he must find the exit as discretely as possible, as the scientist is always strolling around and any glimpse from him will make Maru say goodbye to freedom. Maru can also change into a ghost to interact with things from a distance and manipulate the environment to help him escape. Although it lacks a bit more emphasis on the LD’s theme, it’s a really charming game nonetheless.

Play Schrodinghost @ Ludum Dare


The Sinister Metagame title goes to…

Titania

ld30_titania

Hiding in a retro style platformer lies a game with a message that at first is not that clear, but at the player progresses this message starts interfering with the environment in ways players won’t expect and maybe even notice. I will not spoil the actual message, because it’s something to experiment by oneself. What I do love about the game is the take on the theme and the atmosphere, that gives you a great impression even though it makes use of little resources. You don’t wanna miss it.

Play Titania @ Ludum Dare


The Stylish Millipede title goes to…

Starpiercer

ld30_starpiercer

A visually stunning game where players won’t stop flying around from one world to another. The main objective is to stay (at least) on one piece as long as possible, while avoiding spiky pieces of debris and red-eyed enemies. Very interesting use of lighting and time-manipulating mechanics on this one.

Play Starpiercer @ Ludum Dare


[Honorable Mention]

The Slim Metaphor? title goes to…

Noodle Feeling

ld30_noodle

Become a noodle and connect little beings to yourself, then offer yourself to the giant worm that wanders around your planet. The game keeps throwing you to randomly generated levels where you need to battle not with enemies but with the game’s physics. Does it have much to relate to the compo’s theme? Not really, but not that it really matters. Become a noodle and learn to like it.

Play Noodle Feeling @ Ludum Dare


That’s all for now folks! Did you actually check out my entry, confLINKted? Be sure to rate it and I’ll rate your game as well! :)

Connected Worlds – Post-Mortem

Well, I’ve been wanting to write this since the first day of the judging, but I have kept not doing so. Because there is only just over a week left, I decided it’s time I finally made my post-mortem.

 

My Goals:

My goals were to:

– Not work on ideas that I end up scrapping: I did a good job on this one, didn’t add things that were too big that I ended up not using.

– Add HTML5 support: unfortunately I couldn’t get this working so stopped trying after about 10 mins and decided to just go with windows.

– Add online high scores: This didn’t really fit with my game, and I still don’t know how to add 100% so I didn’t bother.

 

Thoughts on the game

If you haven’t played my game yet, please check it out here

This was my second LD that I’ve finished a game and this game is a lot bigger then my previous. I managed to spend a lot more time on it and that’s good. Connected Worlds has also been getting some pretty good reviews.

 

The Good

– Made a much more fun game

– Much better graphics because I had a friend do it.

– More fun to make as I had a friend over.

– We came up with a good idea

 

The Bad

– Because my friend didn’t come over for a while after theme was announced, we didn’t get started for a while.

– We spent ages coming up with the idea and didn’t start development until 6 hours after theme was announced.

– We were up too late (4:30am) on the first night not really doing a whole lot and were tired next day.

– Had a few annoying bugs (I need to comment the code more to stop this)

– Spent a few hours going out to a university open day for a few hours so we lost time.

 

If we had had more time, we also would have been able to fix the few bugs/glitches in the game.

 

Thanks for reading this and good luck with the final ratings everyone!

Gameplay Video (since no one tries it out)

Since most people that rated our game did not download the (almost) obligatory Android app, (hence not being able to rate properly) we made a video explaining our game.

You can find it here:

Space Trader Video

Or check this short impression gif (since its what all the cool guys do):

Short impression video gif

Find the Ludum Dare entry here:

http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&uid=29549

Full video here:

https://www.youtube.com/watch?v=EnUFow3pRFg

My post-mortem

Phew! It was a hard LD! For long time I had this idea of making a game in which you would play in real world(basically use photos as background/map). The connected worlds theme was great excuse to do that. Generally this Jam was definitely one of the better Ludum Dares I took part in.
What went right:
-Idea for a game(distilled over ~2 years, this had to be good)
-Speed of level design(when I made first photo level, the rest of them was finished in~1 hour, Tiled is great for that purpose)

What went ok:
-AI, my first finished AI that is at least somehow dangerous
-Audio, my first attempt was really smooth(~30 mins to implement+create sound). Sadly the sounds are a bit too plain.

What went not right:
-I wanted to make a jumpy platformer. Then I made main character leg-less robot on tracks. I didn’t have time to add some kind of rocket-y jumping, so the lore is a bit edited to adress that.
-Collisions and movement, I had to pause game game before every level since the tunneling is really bad if I don’t. Now I know that this could be easily subverted by using more constant timestep.
What went wrong:
-Using my own, untested in real scenario library(had to hot fix it 2 hours into a LD)
-Tile level design(not colorful, not enough tile variants, rooms feel empty)
-Graphics, the main enemy is well… weird, the protagonist is blocky and not detailed enough.
Lessons i have learned:
-TEST YOUR LIBRARY
-IF YOU ARE NOT AN ARTIST: DRAW YOUR PIXELS, NOT ART

Tags: post-mortem

People Manipulation Sim: Post-Jam

People Manipulation Sim

I made a game. Then (accidentally) I made a Post-Jam version …with:

Tons of bugfixes

Rockets can now reach moving targets, animations are smoother and the game is hopefully bugless.

New levels

I tried to base them on a unique (in some way) idea, so solving them’ll require different strategies! Cool?..

Better tutorial

Yes, I removed that wall of text. Tutorial is a way more interactive and friendly now.

Sandbox achivements

You now have something to do there.

Saving

Feel free to play some <your favorite AAA game>, or have a nap, or something. Your progress is saved!

Play?

Tags: post-jam

Comments

Suese
09. Sep 2014 · 04:18 UTC
Did you trip and fall on the keyboard and happen to fix a bunch of bugs post mortem? :p