About derr

Entries

 
Ludum Dare 35
 
Ludum Dare 33

derr's Trophies

The Cherokid Award
Awarded by EdoMiyamoto
on May 10, 2016

derr's Archive

One more weekend of games!

Posted by
Friday, May 6th, 2016 2:44 pm

Thank you everyone for your feedback. You made ferret super happy! :3

ferret happy

 

If you haven’t already, please check out our entry The Skinmancer!

I also wanted to mention that I will play some more games this week end. Leave a comment with a link to your entry and I will check it out. 😀

The Skinmancer – Post-Mortem

Posted by
Friday, April 29th, 2016 11:23 am

I finally got around to writing our post-mortem. I was super exhausted after this year’s Ludum Dare and couldn’t muster the energy to write. I just wanted to play the cool games you made and forget about ours. My brother also had his wedding the day after LD, which exhausted me even more.

Anyway, here it is … 😀

The Skinmancer was a tough project to do but working on it was also very rewarding. I wanted to take the time to reflect on the Ludum Dare and share some of our design decisions and background with you guys. :)

Great… another platformer…

Well, yes. 😀 We really wanted to make a platformer. We have been avoiding making one because (a) it’s obvious (b) there are so many of them. But we really needed to get that out of our system. :-)

Please consider giving it a try!
http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=55643

Learning goals going into the jam

Me and my partner came into the Ludum Dare with a few specific learning goals.

  • I wanted to make a Unity game that looked and fealt like a chunky DOS game or even a Game Maker game. Unity is pretty decent for 2D games, but when it comes to pixel art games, it is clearly lacking. The physics doesn’t feel right and objects in general feel very “floaty”. I wanted to write a framework that is both pixel perfect and had the crunchy arcade physics that we all love about Game Maker games.
  • I wanted to make a Unity game that uses only one scene. I think the scene system in Unity is a bit messy when it comes to things like game managers, audio, etc. I wanted the framework to utilize only one scene for the final game. Other scenes are mainly for testing game objects in a sandbox and for creating prefabs or UI elements. Those are not included in the build.
  • I wanted to try a style of music I had never done before. Also music-wise, I wanted to make a song that modulated to a different key for the B section.
  • My partner, who did all the art, wanted to practice his character design and tileset chops. He has been struggling with conveying details on very low-scale pixel art and he wanted to break through that learning barrier.

Combat, Death and Pacifist Run

We purposely did not add any screenshake, big bullets and tons of enemies to mow down. While the game features combat and killing, it isn’t really about that. We wanted to put the focus on exploration and finding your way to the captured family members.

We wanted combat to be hard and rewarding, but also mostly unnecessary. I put a ton of effort into the AI to achieve that goal. It observes the player, mimics the player’s stance, etc. More on that later.

There are not many enemies in The Skinmancer and when you have the ferret form you can even avoid all fights without getting hurt, thus making it possible to do a pacifist run.

Killed enemies just fall over and their bodies lay there and don’t disappear. Enemies can also get hurt by the same environmental hazards as the player (most notably probably one or two of the hunters you encounter after you get the ferret form). I didn’t want to make death a bloody and gory mess.

The combat is obviously inspired from Dark Souls. The player can block, duck and attack. The enemis can do the same, with the exception of the marksmen, who have no shield.

AI

combat 1
I wanted the enemies to be tough. If you engage them, they really try to hurt and kill you.

The AI is implemented as a FSM. Behavior trees are probably better suited for this type of AI, but I’ve never worked with them and didn’t have the time to learn.

The default state is a simple Patrol state where the character wanders back and forth around the start position.

If the enemy notices the player, it switches to an Observe Enemy state. Noticing is either line-of-sight or hearing. Both are simple raycasts but hearing has a shorter range and only triggers if the player lands on the ground near the enemy. This makes it possible for the player to sneak up on enemies and get a hit in before they have a chance to block.

The Observe Enemy state has two purposes:

  1. Deciding on the best next action to win the battle.
  2. Simulate a reaction delay. The tactic to pursue is chosen instantly, but executed a bit delayed.

The enemy AI can choose between 4 basic tactics: Block, Attack, Gain Distance and Close Distance.

The priorities the AI chooses are different for swordsmen and archers. While swordsmen want to close distance and engage in melee battle, archers try to move to
save distance.

The nice side-effect is that swordsman and archers change their positioning if you jump over them to get the archer first and the swordsman blocks your attacks for him.

The swordsmen prefer to go into blocking first. The blocking state works like this:

If the player ducks for a lower body attack, the swordsman will mirror the player’s stance after another reaction delay. If you don’t attack quickly, the swordsman will block your attack and immediately follow up with a counter-attack.

Sound

Screenshot 2016-04-29 023

A lot of people mentioned the lack of sound and I wanted to adress that.

I did make a bunch of sounds with bfxr, but to be honest, it didn’t fit the mood we were going for at all. In the end I didn’t have the necessary time for more appropriate sound design. I hope the lack of sound in the game doesn’t take away too much from the fun.

Music

I usually like to work with synths, so using sampled instruments was a nice change of pace for me. I started off by going through some of the Kontakt libraries I had and picked a whole bunch of instruments that fit the mood and feel I wanted to go for. For reference I listened to a lot of tribal music and the Hunter x Hunter (1999) OST.

I wanted the music to be rythmically complex so I started with percussion, layering bass drums, claps, snips, until I got a nice rhythm going on.

Next I added the bass line which consists of a choir and a synth pad (ok I snuck one synth in there!).

I got a simple bass line going and then I just jammed on my keyboard using different instruments I picked. When I stumbled upon a phrase I liked, I recorded it, repeating the process a few times until I had a bunch of material to work with. I developed a few variations for the parts I liked and assembled everything into a nice
A section.

I didn’t quantize the notes by a lot because I wanted a more natural and lose feel to the piece.

For the B section I tried modulating to a different key in an altered scale. The B section is a bit sunnier and happier but doesn’t last that long. The contrast when looping back to the A section is quiet dark.

All in all I am pretty pleased with how the background music for the game turned out.

What went good

  • Used Tiled + Tiled2Unity – The native Unity tilmap system is not quiet ready for use in production and Tiled is still the best tilemap editor out there. It was a breeze to use and making the levels outside of Unity and then importing them as prefabs played perfectly into my plans to make the whole game in one scene. If you haven’t tried Tiled2Unity, I highly recommend you check it out.
  • Working component-based – I’m pretty new to Unity and in my previous games I have written a few monolithic classes. My classes in The Skinmancer are also quite big, but I managed to create a nicer architecture for this game. Thanks to breaking everything up into components with specific tasks it is possible to hook the game controls to any game character. Theoretically you could play as a swordsman or bowman. Game objects react to buttons and axis and all the AI does is providing button actions to the game objects. The character controllers are the same otherwise.

Regrets

In the end, I only spent about one hour on level design, which is not enough for a Metroidvania-type game.

Funnily, we got very positive comments about the level design. I guess I intuitively made a few good choices based on what I had been thinking about all weekend.

Originally there was to be a third form, the Fish Form, which would have unlocked a whole different forest area and a second keep that could only be entered via underground. The art for all of it is already finished but I couldn’t managed to get it in there.

In hindsight, I should have made the AI more stupid. One of the biggest complaints was that combat was too hard. Had I cut back on trying to make the AI smart and fun to engage, the enemies might have been dumber and not as dangerous, but there would have been all this other content.

But even with the content we did manage to produce, the game had a nice and comfortable length for a jam game.

Please play&rate our game! :)

http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=55643

The Skinmancer is done!

Posted by
Monday, April 18th, 2016 8:03 pm

It’s been a hectic few days but we managed to submit something. There are of course some issues like… I completely forgot the HUD (how many hitpoints you have left). Oh well. 😀 Hope you enjoy our little game! http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=55643

Now for some well deserved SLEEP.

main-menu

I’m IN

Posted by
Monday, April 11th, 2016 4:04 am

Looking forward to my seconde LD!

Tools:

  • Unity
  • Tiled + Tiled2Unity
  • PyxelEdit
  • Bitwig Studio <3

A Fiery Post Mortem

Posted by
Wednesday, August 26th, 2015 4:06 am

(LINK TO THE GAME)

We wanted to make a game about what it feels like to be a bad ass dragon. Our game is inspired by Smaug from The Hobbit. We tried to capture the feel of soaring through the air and then diving down to burn everything to a crisp.

screen2

To get the mood right, we had to focus on three factors: Fluid flight controls, nice artwork and nice ambience audio.

For the main character Phyrexianian first drew the whole dragon as a sprite and then we dissected him into parts that I strung together by code. It works a bit like a snake game, where each body part follows its leader, up to the head. I also rotated each body part towards the leader so it would bend nicely when flying curves. It’s a subtle effect but I think it feels much better than a stiff sprite.

dragon-sprite

Phyrexianian put a ton of effort into the pixel art. The whole city is burning and the sprites reflect that. Here’s a sprite sheet that shows the lighting work on the dragon’s belly and the balloon especially:

dragon and enemies

Unfortunately we didn’t get to put in sprite animations for the enemies. That’s something we plan to do for the post-compo version, though.

The background is kept really simple. All background sprites are on parallax scrolling layers and the colors are animated using DOTween to give the firesprites some pulsing and flickering.

For the ambience I dug into Unity’s new Audio Mixer. I’ve been looking forward to make good use of it for a while. For this game I made two mixer snapshots: One for the dragon in the sky and one for nearer to the ground. Up in the sky the music and screams fade into the background and you hear mostly the arrows flying by. Then, when you nose dive into the town, the music and screams fade back in.

Here’s what it looks like inside Unity:

audioxmier

We had much more gameplay ideas, even a boss (a big zeppelin with ship cannons and a tesla coil!) but those had to be scrapped so we could make the deadline. We will probably keep working on it and release a post-jam edition with more gameplay elements.

We had some nice feedback thus far. People seem to appreciate the effort we put into the artwork and the audio. I didn’t opt to have audio as a voting option because the samples for the arrows and screams were taking from sample libraries. I’m still happy I managed to get it right, though!

If you check out our game, please let us know what you think. I left links to the game at the top and bottom of this post.

All villagers are alive and well, and the dragon was safely returned to his hoard.

What Went Right?

Collaboration: We sat in the same room during the whole jam, monitors side-by-side. This allowed us to have really tight feedback loops for tweaking and testing.

Mechanics first: After the initial mockup in PyxelEdit I started to work on the game mechanics immediately. Here’s a GIF of my first attempt at dragon flight physics:

okletsroast

While I refined the physics and the flight feel, Phyrexianian worked to refine the initial mockup into usable spritesheets.

Taking Breaks: When things got intense and panic mode activated, we pulled a 180 and hopped on our bicycles to blow off some steam. I think the breaks were essential. We could develop the concept further while being away from our computers and I solved a few code problems.

What went wrong?

Too much micro-refining: We’re both perfectionists and too often we got hung up on tiny details that nobody would have ever noticed. Good examples:

“Hey the dragon needs better horns!”
“Hey the dragon’s tail looks a bit short!”
“Hey the dragon’s neck looks a bit long!”

Not enough sleep: No elaboration necessary!

Bad hydration: Forgetting to drink leads to bad headaches, who would have known!?

What we’d do differently?

  • Spending less time trying to get things “perfect” and instead adding more gameplay mechanics and content.
  • Start giving out test builds much earlier.
  • Sleep more.
  • Drink more.

Our Tools

  • Unity 5 (I love the Audio Mixer!)
  • PyxelEdit <3 <3 <3
  • FL Studio (Music)
  • Audacity (MP3 -> OGG)

Here’s a link again to our game: http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=55643

Thank you for playing!

Twitter: @mstuetzer and @rendelmann

We made it!

Posted by
Monday, August 24th, 2015 12:26 pm

soar2

Here’s a of our Jam submission. Hope you enjoy it! Man, I need some sleep now. :-)

Link: http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=55643

I’m in.

Posted by
Tuesday, August 18th, 2015 9:56 am

First time. I’ll be using Unity, PyxelEdit, FL Studio and maybe Tiled.

[cache: storing page]