About Karai17


Ludum Dare 37
Ludum Dare 36
Ludum Dare 35
Ludum Dare 34
Ludum Dare 33
Ludum Dare 32

Karai17's Trophies

Karai17's Archive

End of Day 3

Posted by
Monday, April 18th, 2016 12:54 am

In my last post, I discussed that made some serious advancements in our game. Today we (@shakesoda and @LandonManning) have most of the “game” done!

We improved our path finding so that the enemy now follows the player around. We had a bug where you could sneak out of the enemy’s sights and glitch it out, but we fixed that. Enemies now aggro you if you are within pathing range, and it actually attacks you if it’s close enough! We’ve decided on our enemies… Tigers! The reason for the tigers is because when I was writing the story/script, I started adding forest/tree puns. And let me tell you, Taiga Forest is a great pun!

View post on imgur.com

As I mentioned, I wrote up the script (which has been translated to German and French and a special language for NG+) and we had our good friend Nadja voice our main character. This time around, I added my own voice to the mix for the grandpa and the tiger. I also created a crunching sound by obnoxiously eating a bag of Crispers, then speeding it up and pitch shifting it down. It sounds… okay. shakesoda made a walking sound effect by flapping his wallet in front of his mic. It wasn’t meant to be a permanent sound, but we may be running out of time on that front. We have most of the sound effects implemented now, with a few timing tweaks coming tomorrow.

View post on imgur.com

More models and animations were added today, most of which are temporary. As I write this, shakesoda is tidying them all up so that when I wake up tomorrow, the game should be much prettier. But as it stands, we have an idle, attack, and run animation for all three of our “forms”. The first form is the ATK Form, where you wield a katana. The second form is the SPD Form, where you wield a bow… made out of katanas. It actually looks decent. The final form is the DEF Form where you wield a dagger (a short katana) and a shield… made out of bows… made out of katanas. It looks silly and will be updated tonight, but for now, it works!

View post on imgur.com

We noticed that the game was kind of slow, we figured it was because we had lots of objects being drawn. We fixed this by culling all objects that are not within a certain radius of the character. Simple and effective.

View post on imgur.com

Tomorrow is the final day! shakesoda plans to work through the night to add a lot of polish to the game such as menus, nicer models and animations, a user interface, etc. With the polish done, the last major step is to get enemy spawn points working, and have the final cut scene work, and add in our New Game+ mode.

If you want to check out our dev progress, you can catch us on Twitch tomorrow for the final countdown!

End of Day 2

Posted by
Sunday, April 17th, 2016 5:33 am

In my last post, I discussed that we had a lot of issues starting up, but still managed to make progress. Today we (@shakesoda and @LandonManning) made a HUGE breakthrough and got a lot of stuff working!

After dinking around with collision junk for too long, and not getting anywhere, I decided to scrap my AABB-OBB collision code entirely and switch to Circle-Circle. This happens to be fine since most of our objects are somewhat cylindrical. In our last game(s), Circle-Circle didn’t fully work out for us and was glitchy. We’ve finally perfected it and will be modularizing the code after Ludum Dare so we don’t blow hours on collision again. We’ll hopefully get other sorts of collision working better too, such as AABB-OBB and whatever else is common.

With collision finally working, I went about getting attacking enemies to work while shakesoda whipped up some more assets. With the game transforming from a cube “hitting” a cylinder to a character T-posing at a Tree, it really make it feel like we were progressing. Not long after, we even had basic animations to toy with such as a walk cycle and a sword swing. To get a better idea for how to animate running with a sword… I decided to run down my apartment building’s hallway with a katana. Luckily, it was late at night and no one called the police! We also fixed up the player and enemy stats so that they are taken into account. Low ATK makes your hits do less damage, etc.

View post on imgur.com


Designing the level was a bit interesting. For our last game, we wrote a level exporter for Blender that allows us to link objects into a level.blend file and then export a Lua file with object information. We decided to reuse this and I started plotting random trees all over a plane. It was pretty cool but didn’t quite feel right. Instead, I laid the trees out in a grid and made a few paths and such through them. With a proper grid, we were also able to implement… path finding!

We want monsters to be able to chase you, and to do that we need path finding. We decided to use A* (A Star) path finding. We had some troubles with the library we were using as we needed to convert between different coordinate systems but after we figured that out, it Just Worked.

View post on imgur.com


Finally, we wanted to add a sword swish sound when you attack. Instead of trying to find some crappy sound effect, we decided to make our own. shakesoda grabbed his katana and swished it in front of his mic for about a minute, and also recorded about 10 seconds of ambient noise. He sent the files off to me while he tinkered with the path finding and I picked the best swish sound and used his noise profile to eliminate the background noise leaving a very clean sound effect.

Tomorrow we will be adding more enemies, getting dynamic path finding to work so the enemies actually chase you, enemies fighting back, and hopefully our “shapeshifting” mechanic will be implemented too. We also want to get all of our story elements such as voice acting done tomorrow so we don’t need to panic near the end trying to source the assistance of other folks as a deadline looms uncomfortably close.

If you want to check out our dev progress, you can catch us on Twitch!

End of Day 1

Posted by
Saturday, April 16th, 2016 3:26 am

Alright, so over the past few days my friend @shakesoda and I (@LandonManning) have been preparing for another Daring Adventure. It turns out that basically all of our preparations were wasted, but fret not, we’ve made progress nonetheless!

As usual, we are using LOVE (Lua) to build our game. We have our own 3D code sitting on top of LOVE that works quite well. We will be using Blender for our 3D models, Audacity for any sfx or voice acting, Atom/VSCode as our text editor, and for the first time, we’re both running Linux!

To being, the boilerplate we prepared turned out to be older code than we wanted, and it caused a lot of problems. We pulled it from an old project and didn’t notice that it was totally wrong until the clock was already ticking. It took some extra time, but we finally got our systems back up and running, and a cube was being rendered. Next, we came up with a few ideas for various themes to give a bit of an edge, but we couldn’t think up anything interesting for Shapeshift. Ugh. We managed to rethink an idea we had for another theme and we actually like it. I’ll go more into it in another post, but the basis is that you’re in a rock-paper-scissors scenario, and you are always forced into the disadvantage.

Now for the positives! Even though we had a rocky start, I think we’re actually a bit ahead today. We have a fully working player controller, AABB-OBB collisions are being detected but not yet resolved (we’re having trouble figuring out how to get the hit vector/collision direction… Any help would be appreciated! Tweet me @LandonManning <3), and our basic rock-paper-scissors stuff is implemented. The screenshot below doesn’t really show much, but tomorrow we hope to have some of the art done and game mechanics implemented.

If you want to watch us dev, you can catch us on Twitch.

View post on imgur.com

Shark Swimulator: Post Mortem

Posted by
Saturday, August 29th, 2015 2:17 am



I just wrote a novel blog post on my personal website discussing in detail our experience during this Ludum Dare. In short, we had a lot of fun, met some interesting challenges, and created something we felt was really cool.

If you have a few minutes to spare, please read my post, play our game, and give us some good, honest feedback. We’ll be sure to go through our comments and play your games, too! :)

Day 3 Results

Posted by
Monday, August 24th, 2015 6:41 am

View post on imgur.com

Previous Post

Day three! Ah! I was panicking for a lot of the day about whether or not we’d have anything to show for all of our hard work. We had a lot of trouble with our collision system and we kept having to move on and then come back to it only to get frustrated and move on again. We finally found the problem and it turns out I’m an idiot. But now it’s fixed and works great! We’ll definitely have a game to submit tomorrow. :)

Today we managed to do a whole lot of work. We added a couple more translations bringing our total use to seven text and two voiced. Crazy. We finally set up event listeners and implemented our audio and subtitles so now all of our translations are displayed in game. We also added win and lose conditions, though they need to be tweaked. The full “gameplay” aspect of the game is still lacking and our full focus in the final hours will be to get that working. Losing is pretty. When a lose condition is met, your game input is cut (menu input persists) and after a couple seconds the game pauses and allows you to spin your camera freely. It looks really cool. We decoupled our camera input and movement from the normal input and movement systems to allow this more free control.

@shakesoda finally created our cage model while I (@LandonManning) set up the event listeners and options menu so now the game just looks more complete and almost ready. He also significantly improved the menu scene and creates our snazzy logo. Props! Our options menu is simple but it works. You can adjust your language and volume settings. Woo! We also added a blood particle to our diver dude when the time runs out or if you eat him. Lol.

Sleep deprivation is going to kill me tomorrow. I have a job interview in seven hours and then it’s go hard until submission period. Tomorrow’s focus will be purely gameplay.

Good night!

Day 2 Results

Posted by
Sunday, August 23rd, 2015 7:39 am

View post on imgur.com

Previous Post

Day two is over! Today we prettied up the scene with some post-processing shaders and added textures to our particles. We also added an “enemy” model (the diver) that we need to rig and animate tomorrow. We got collision detection working in a lazy fashion; checking distance between collision points and radii. Simple, fast, and effective. We had some trouble with our movement so we ended up rewriting it using some real physics instead of mapping our movement directly to the gamepad. Now we apply force with a scalar and all is well. With this new physics movement, we also improved our collision ability where ramming into another object can send it flying. We still need to tweak exactly how we plan to do that, but we’re getting close to having proper gameplay mechanics!

Like our last Ludum Dare entry, we wanted this game to be voiced. We decided to take it a step further and integrate i18n support from the beginning. With this, we can cycle between translations including both text and audio. We currently have four text translations of our game and most of the English audio recorded. French and German audio should be coming tomorrow, as well as Italian, Portuguese, and Greek text translations if I can coordinate everyone.

Finally, before passing out, I managed to write a level loader so now we can load up varying levels into the same scene so no code needs to be duplicated or that junk. Woo!

Tomorrow we plan to finish the collision system and some gameplay mechanics so we can finally say we’ve made a game instead of Shark Swimulator. 😉

Good luck everyone, and good night!

Day 1 Results

Posted by
Saturday, August 22nd, 2015 9:19 am

View post on imgur.com

Day one is over now and we’ve got a lot done! @shakesoda modeled and painted our shark, created an ocean scene, and wrote a particle system. I (@LandonManning) spent most of my time with the input, movement, and render systems. We converted our 3D camera library into a camera system which required use to muck with a lot of code but the results are worth it and having a camera entity makes the code base a lot cleaner.

I spend the last hour of today writing up a little story for our game and some copy which we hope to have translated and voiced in several languages (English, French, and German). We plan to sit down and tackle gameplay tomorrow and hopefully knock out most of the assets so we can focus on finishing early. Any extra time will be spent polishing and bug fixing.

Off to bed for me now, if you want to check in on us in a few hours we are streaming 24/7 on Twitch!


PSA: Don’t forget to buy food!

Posted by
Thursday, August 20th, 2015 1:40 pm

Ludum Dare is upon us again and we will need to spend as little time away from our computers as possible to meet the deadline(s)! Don’t forget to go out and stock up on some hassle-free foodstuffs that you can pop in the microwave or the oven, drinks, etc. Some choice selections:


  • Pizza Pockets
  • Hot Pockets
  • Mac & Cheese (Kraft Dinner for us Canucks)
  • Instant Ramen
  • Bagged salads
  • Hotdogs
  • Chicken Nuggets
  • French Fries


  • Bottled Water
  • Tea Bags
  • Instant Coffee
  • Energy Drinks
  • Fruit Juice

Stay fed and hydrated, and good luck!

We’re in, GET HYPE!

Posted by
Wednesday, August 19th, 2015 6:16 pm

We’ve been preparing our codebase for the past week: tweaking libraries, fixing bugs, etc. Now that we’re only two days away, it’s time to GET HYPE! For our jam entry, We’ll be using the following tools:

Framework: LÖVE3D (a 3D extension of the LÖVE framework)
Language: Lua
Editor: Atom
Graphics: Blender
Audio: BFXR

We will be streaming all 72 hours of development on Twitch, so check us out!

You can check out our GitHub, Twitter (@LandonManning, @shakesoda), and dev blog as well!

You can also check out our LD32 entry here.

Not My Panties! Post-Mortem

Posted by
Wednesday, April 22nd, 2015 10:20 am

I decided to team up with shakesoda for our first Ludum Dare entry. Below are some key points we took away from this experience.

The Good

  • We had a blast! It was the most fun, stressful, challenging, and rewarding experience we’ve had in a good long time.
  • We finished the game! With not even a second to spare, we pulled through and completed the game in time for submission.
  • We were able to snag a few random assets we had kicking around to work with, improving the general visuals of the game.
  • We were able to include a third person to do a vocal track for our main character. This ended up being a lot of fun in and of itself, and adding a lot to the game.
  • Our lack of polish ended up making the game more hilarious.
  • Reception so far has been quite positive!

The Bad

  • Our tools sucked. Every tool we included in our project had serious flaws that we had to fight and work around which ate up a significant portion of our time.
  • We had to fast-track a lot of our visuals to meet the deadline which put polish far to the side.
  • Since we used a lot of random assets we already had, there was no clear visual style.
  • We ended up shipping with a few notable bugs such as having a controller plugged in may crash the game randomly. Your guess is as good as mine.
  • We expanded the game from 2 levels to 6 near the end and we didn’t have enough time to add more vocal tracks.

The Ugly

  • There was a moment in Day Two where my morale dropped and if I didn’t have a partner depending on me, I may have given up. Shortly afterwards, we had a huge breakthrough and that fixed all of our morale issues for the rest of the jam.

Overall, participating in Ludum Dare was a very positive experience. Now that we know what to expect, we can be more prepared for the LD33!

I wrote a more detailed post about our experience on my development blog if you’d like to read more about our project!

Please take a few minutes to download and try our game! <3

See you at LD33!

[cache: storing page]