Welcome, new user. Please log in or register.

RmBeer Sat 22 Apr 17, 02:23

The Easter Hack aldready finished. But want post the changes of levels in this game.


NunoMartinez Mon 17 Apr 17, 08:19

This is the end for me. I've found a weird bug that would take hours of GDB to fix (actually I've spend some yet) and I think it is something hidden in the old code that would be fixed just rewriting the engine from scratch instead of converting from the old one.

Anyway I'm proud of what I did. I did a post mortem of my TINS 2016 entry, find some bugs and the fixes, and designed a better engine from the previous experience. I'll actually work on the point'n'click engine as part of MinGRo.

But this is finished for me.

SiegeLord Mon 17 Apr 17, 05:54

That's it, I've uploaded my entry.

Happy to say that I did pretty much all the things I planned to do with me entry, except for the AI which I knew I'd have to punt on.

Even though it was unfun and took a lot of time, the code refactoring enabled me to implement the new features with minimum fuss.

Gameplay-wise, I added a bit more polish here and there that I think definitely made the game more playable. Having a map mode with a load/save system is significantly better than the un-resumable linear system I had before.

Adding the rudimentary level editor enabled me to create a lot of content in a fraction of the time the original set of maps took me. Unfortunately I had less time than I had back then, so the amount of content in this release is less than was in the original.

Most likely I will revisit some bits of this game (especially the AI, that's definitely something I am very interested in), but for now I call this development stint a success.

Either way... that's all. Now read the first letter of each paragraph in this post. Happy playing ;).

amarillion Mon 17 Apr 17, 02:04

Allright, let's wrap things up.

What's clear for me is that there is still a lot left to do.

I uploaded an entry. Its just the linux binary at this point. I already compiled the windows binary, but I can't upload it because it's too big. (unless I leave out all the important DLLs). I'll leave that for tomorrow.

The story is now more than double the original - but play-testing revealed still areas that need work. Nevertheless it's fully playable, and there are only minor bugs.

I almost completed the save/reload functionality, but in the end I had to leave it out because I ran into a stupid bug in the menu system. Again, something for tomorrow.

I think I put in around ~25-30 hours in the past week. Even though I've got a TO DO list as long as my arm, there is undeniably a lot of progress. So I'm happy with the result.

For those who have played the original, the screenshot below should give you a glimpse of how the storyline has changed. It also shows the new inventory bar on the right side, which should make it easier to keep track of things.

elias Mon 17 Apr 17, 01:02

I actually put in another 2 or 3 hours and I think the game is very much ready to be worked on now.

The old source code was 9753 lines.

The new source code is 862 lines. (!)

One reason is that I completely removed the level editor - I extended the converter script to transform the original levels into YAML to also allow SVG input. This means the game now only understands YAML (with libyaml, so I need no code for it at all) and levels can be imported from SVG, so it's easy to create them in Inkscape or Blender or anything else with an export function.

Collision detection is done using the excellent chipmunk library now, so I have virtually zero lines of code for collision/vectors. It also is much easier to work with now and completely robust, unlike the original.

And lastly, I did not re-implement everything yet again, so once it will be feature complete there will be a few more lines again.

Can't wait for the next TINS now to finish it :)

amarillion Sun 16 Apr 17, 13:32

OK, last day of the hack. I woke up to a long TODO list. I already know that I won't be able to do everything today, but hopefully I can get at least the serious bugs fixed.

amarillion Sat 15 Apr 17, 20:43

Easter means having lots of family around. My brother-in-law came and drew this for the game:

Eric Sat 15 Apr 17, 19:53

I have uploaded a development time-lapse video onto YouTube, and have also put Keebo's Quest on my blog. Feel free to check either of them out at your own leisure:

Development time-lapse video: https://www.youtube.com/watch?v=JvyjWoALu9k
Play the game in your browser: https://thardus.xyz/keebos-quest

Eric Sat 15 Apr 17, 17:58

It is done. I uploaded it. The whole thing is 175.9 KB in .zip format. It includes a README.txt and LICENSE.txt. I encourage you to read both (they are short, do not worry).

Changes since the my last log:

- Added license and readme files.
- Compressed images using compresspng.com
- Tested browser compatibility (works in Chrome, Opera, and Firefox; can't test on Edge or Safari)
- Finalized intro text
- Added winning / score state
- Added credits screen

I will be busy almost all day on Sunday, which explains why I have uploaded it now. If I have time, I may add some more last-minute polish, but I have my doubts.

Some things I did not implement, but wanted to, include: music, enemies, multiple colors for Gourdonians, a Wind Waker-inspired intro scene, a secret function (Mori had a secret item that so far no one has found), and a boss battle with a queen Bumble. Even though I was not able to implement everything I wanted, I am still content with the end result. Hopefully others will enjoy what I have created as well.

Sorry to hear you have reached your end, Nuno! The great thing about hacks is that, even if you do not meet all of your goals, you can still be proud of what you learned and accomplished during the event. So well done to you!

Happy Easter, everyone! I put each of you in the credits of Keebo's Quest (as your names / user names appear here).

Eric Sat 15 Apr 17, 15:00

We're in the final stretch now!


- Lowered maximum desired carrots to 12. More than that took too long and just wasn't fun.
- Gourdonians have a total of 14 sayings now.
- Special items are now added to Keebo's inventory upon being collected.
- Special items play a special sound when picked up and used.
- The number of special items is displayed on the HUD upon getting one for the first time.
- Added a loading screen to the canvas.
- Designed an Easter egg tile.
- Special item takes longer to use than regular item, but impacts a greater area.
- Shrunk HUD text size slightly to allow more text to be displayed at one time.
- Fixed several bugs.
- Added a score counter that increases each time something is collected.
- Improved the intro text considerably.
- Added ability to destroy hives with the special item.
- Added ability to collect dropped Easter eggs from the hives.
- Display number of eggs on the HUD.

There was a bug where the Gourdonians would ask for zero items. This resulted in not being able to trade with them. As it turned out, the bug was the result of a typo! JavaScript sometimes "fails gracefully" without telling you.

There is currently somewhat of a bug where, if Keebo starts a conversation between two Gourdonians, the one you end up initiating the conversation with might not be the one you expected to do so with. This is due to using a distance-based system for determining who to chat with.

The in-game score counter goes up for every item collected: sticks = 10; pebbles = 20; carrots = 30; special = 50; eggs = 100. This is not displayed anywhere yet, but will likely eventually be displayed after winning the game. I did this to add some replay potential.

Left to do:

- Add readme and license files
- Add ability to win the game
- Improve the intro text slightly
- Add credits to be displayed after winning
- Display score after winning
- Test game in multiple browsers to ensure compatibility

Here are some quick stats:
- Total lines of code: 3487
- Total time spent developing: ~23 hours

Godspeed, everyone!

Eric Sat 15 Apr 17, 01:19

I wasn't feeling too confident that I'd make more progress earlier, but I did.

Here's what's new or has changed:

- Three pebbles are added now instead of one for each time pebbles are collected. Rocks drop a graphic of three pebbles, after all.
- Adjusted maximum desired items from 99 to 50 for sticks and pebbles, and 25 for carrots, as there are fewer of those.
- Gourdonians now forfeit their lives upon completing a trade, just like in Mori. They drop a special item.
- Fixed a bug where Keebo could place bombs during a conversation.
- Successfully implemented multiple chat dialogues with randomly-selected sayings for each Gourdonian.
- Designed the special item, but I might spruce it up some more later.
- Added one new sound effect for when trades are completed successfully.

One thing I've noticed about hack games is that they are usually (1) messy, and (2) unpolished. This is simply the nature of these events, but I always try my darnedest to keep my code organized and keep the scope manageable. Unfortunately, my code quickly becomes unorganized as I implement spur-of-the-moment ideas. As for polish, I'm trying to balance the number of items necessary to advance without making the game too tedious or too easy. We'll see how it pans out in the end.

The Gourdonians each desire a particular item and a particular quantity of said item. The quantity used to have a maximum of 99, but in play-testing, that was simply much too high. To combat this, as I mentioned in my changes above, I made pebbles multiples of three, and lowered the desired items significantly. It may require more tweaking, however.

Fun fact: A random map may generate with 485 rocks, 259 carrots, 6701 trees, 142 hives, and 162 Gourdonians.

Finally, I'm thinking that if I can't implement enemies in time, I might make it such that the goal is to obtain stolen Easter eggs from Bumble hives. The hives currently spawn, and I have things in the works to be able to destroy them, but little beyond that. Perhaps each hive harbors an egg, and the goal will be to get back a set amount of eggs. We'll see.

I really like what I'm seeing from everyone. You're all doing great work here. Don't give up--stay true through the end!

amarillion Fri 14 Apr 17, 23:52

Phew. Did it really take two days to convert my notes into code? Of course I expanded and changed things around while doing so. The script file grew from ~600 lines to over 1100 lines, so at least that is measurable progress.

Here is what I have to do next.

Fix 'bugs' in the story. I'm especially wary for infinite loops, where you can keep going without ever advancing. The player may be wandering around like a zombie without ever realizing that the game is unfinishable. Definitely a fun-killer.

Get some play-testers to see if the game isn't too difficult. Since I know the solution to every puzzle by heart, I find this extremely hard to judge. On my own I can finish the game in under five minutes. I hope that for first-time players it will take somewhere between twenty minutes and an hour. If it's any longer than that, it's probably no fun either.

Since the game is longer, I should probably also add an option to save and load your progress.

Finally, I want to add dressing: more graphics, sound effects, and other effects. If I have time, I'll also try to incorporate some of these text effects I've been working on (see screenshot) These are not yet part of the game at the moment.