andrewkennedy

LD26

essentia post-mortem (LD #26)

Hey everyone,

Now that three weeks have passed and the judging is over, it’s probably time for me to get around to my post-mortem for LD26. Let me start off by saying that it was an absolute blast! I’ve been a teaching assistant in the Computer Graphics Technology at Purdue University for a year now, and during that time I have taught and been part of the development of two game design classes. Yet, I had not made a game to date despite guiding several student groups through the process. So I set off to challenge myself with ludum dare 26.

What went well

  • I was fairly confident in my ability to have a functional game. I’m relatively familiar with C# scripting in Unity so that’s what I went with. Though there were a few bugs, and some HORRIBLY formatted code due to time constraints + feature creep, everything managed to function the way I intended it to.
  • The art style was a success. I even managed to score #100 overall in the graphics division! I haven’t ever done pixel art before, so I was pleasantly surprised at the positive feedback I got from it. I spent probably 60%-70% of my time on the graphics since that was the part that intrigued me the most. I knew that pixel art alone wouldn’t stand out – the minimalism theme was going to make sure of that. I added shadowing to every sprite, which made the implementation take a little longer but Photoshop actions helped tremendously.
  • 3 Character sprite sheets. About 3-4 hours before the competition ended (time lost all meaning somewhere around 8am that morning), I decided that I wanted the character to get his color sucked out – requiring a greyscale and full black/white sprite sheet to be made. Not terribly difficult but my sprite code wasn’t the greatest and it was quite a rush to get this finished. I’m also not the strongest animator so adding wings at the end really pushed me. Luckily I was able to pull through as that last burst of energy carried me across the finish line
  • Skype! I know this is a bit odd, but I had the longest Skype conversation of my life with Sakuyan and jgnilka (look up their entries, they did a great job!) I think it ended up being 27 hours long at the end. Chatting with friends who were also working on their own Ludum Dare games really helped when we started getting tired or frustrated. I attribute the relative success of this project to them as much as myself for being supportive and keeping me (mostly) sane.

What didn’t go so well

  • Everyone complained about the theme enough, so I won’t go into that. Let’s just say that I found it hard to be inspired.
  • I didn’t really focus on gameplay, sound, or story. Nearly all of my efforts went into having pixel art that actually looked decent. It was my first attempt so in the future I know that my art speed will improve – leaving me more time to make my game more of a game.
  • About that story – I threw in incoherent thoughts in the background as text to give some semblance of a story/deeper meaning. I really wanted to try to come up with something good but I just kept drawing blanks.
  • I would have loved to incorporate 3D graphics somehow, but there’s simply not enough time for me to to model/rig/animate a character. I’m a lighting/shading/rendering guy so anything that doesn’t come at the end of the pipeline goes pretty slow for me.
  • Bugs. But hey, they weren’t too noticeable. Lots of people seemed to have lost the long elevator platform but I haven’t been able to reproduce it.
  • The ending – or lack thereof. It left a lot of people wondering if the game had ended, which is a bit of a sour note to hit right before your audience is about to rate the game.

Things for the future

  • I’ll definitely think about sound for the next competition. While I believe it should really be the last thing priority-wise, it can be the extra finishing touch that really makes a game stand out.
  • No more Unity for 2D games. It’s doable, but the engine isn’t really made for it and it shows when you’re trying to work with it. The lack of a built-in 2D character controller seems really strange to me with all of the other wonderful features it has, and using 3D assets in a 2D environment lends itself to another host of problems. I’m working on a project in Construct2 now, so I intend to be fluent in that before the next competition starts.

Thanks everyone who played and rated my game, and thanks to everyone that keeps the competition running smoothly!

Andrew Kennedy

LD27

Postmortem – Daisy

Hey everyone! After a good night’s rest I’m ready share my thoughts about LD27 and my game, Daisy.

If you haven’t played it yet, click here to check it out!

2

What went well

  • I had pretty solid mechanics. The movement, jumping, and most of the seed planting felt really solid. I have to thank the 2DToolkit and 2dCharacterController plugins for this, because they made working with 2D in Unity so much better.
  • I really enjoyed the theme. It pushed me to think of a game using a mechanic beyond my initial impressions of it. I think we probably all thought of the “Wario-ware” type game when we heard 10 seconds, but I think the great games are the ones that found a way to implement a mechanic beyond that. To me, it was a very natural part of my game, and didn’t feel forced (plants need sun, right?)
  • The game had a beginning, middle, and an end. Something that every story should have, and that (almost) every game should have, in my opinion.
  • Relatively good art for this being my second “real” attempt at pixel art. I really enjoy it, but didn’t find much time to work on it over the summer. I got a Wacom tablet, which helped speed up the process tremendously.
  • Sound was incredible! It took the game up several notches higher. I used Abundant-music.com to make the music and SFXR to make the sounds. Very easy to use programs that make a huge difference in the polish category.
  • Skype. I talked about it last time, but it was really encouraging to just be idly chatting with someone else who was working on LD as well. It helps with frustration and fatigue, and overall is a great motivator. Thanks Sakuyan! (check out his game SliP, it’s great!)

What didn’t go so well

  • First time using 2D Toolkit for a full game, and…whoops. There’s a reason they put tools in there to help your game be more optimized but silly me, I didn’t bother to learn them before hand. First time trying to batch my sprites resulted in my entire first level getting very screwed up. Ditched the sprite batcher. Game still runs well, but the web version has a pretty long loading time.
  • The game scales in difficulty way too fast. There’s a limit to how much content you can make for LD, and unfortunately since I decided to spend a good amount of time on the art and seed planting mechanic, there wasn’t much time for level design. Since I only had time for 3 levels, and my sprite inefficiencies didn’t allow for levels any larger than what I had created, things got difficult pretty quick.
  • Not enough time to really explore interesting things regarding seed mechanics, particularly their interactions. I’d love to have puzzles where you are forced to use the jump spring and vines to climb a steep area, while at the same time making use of the light plant to stay alive. I didn’t get around to doing that though.
  • I was sick. I had to come down with a pretty nasty cold thingy on Thursday morning. Nothing I could really do about it. Ended up doing the all-nighter between Saturday and Sunday anyways, although today I’m kind of wishing I hadn’t!

Things for the future

  • More level-design in the back of my head while programming mechanics and drawing art. I think perhaps a few hours less of working with the seed mechanics and more time for level design, it would have been a better game. We didn’t really need the vine seed, and the shooter seed was only really used once. I probably should have just picked one to toss out, and then spend my time elsewhere.
  • Learn sprite batching in 2D toolkit. People can’t play and rate your game if it takes too long to load. Again, I apologize to anyone who had to sit through the loading times. I think the game is worth the wait, hopefully you do too!
  • I thought I’d use Construct2 this time, since it has proven to be a nicer platform for quick 2D game creation, but the addition of the aforementioned Unity plugins really made this a non-issue.

Thanks to everyone who is playing and rating my game, and thanks to everyone who keeps the competition running smoothly!

Andrew Kennedy

LD28

Ready for my 3rd LD

After learning quite a lot from my first 2 LDs, I’m here to round off the year!

I’ll be using Unity, Photoshop, Maya, Blender, and possible some other software depending on the direction I end up going.

I’d like to branch out to a 3D game this time (my last 2 were 2D platformers). So just in case, I’ll go ahead and share a bit of code that I might end up using. It’s a pretty simple third person controller script. You can get the code from my website.

Progress!

So I got some nice art in about 1.5 hrs and Maya only crashed once on me!

3 - modeling and render test - 6.75 hrs

Testing object throwing and some FX
2 - bomb tossing and first FX - 5.5hrs

Getting waypoints to work
1 - getting the waypoints to work -2.5hrs

Level is working finally – and bad gifs

Player can take damage, die, pick up items from chests, use items, and the items appear in the GUI.

Here’s a still frame
6 - item pickups - damage - still -19.5hrs

Here’s an ugly gif of it in action. Sorry it’s so bad, had to keep the file size down for imgur.
ugly gif

Tutorial complete !

The tutorial level is complete, and most of the programming for the game is done, aside from unique triggered events. Levels should go quickly because it’s mostly drag-and-drop from here on out.

Should be able to model and light the rest of the levels in about 10 hours, and probably another 10 hours to finish the programming. This one’s going to be a tight deadline!

Well, time to get cracking on Falling Rock Canyon!

7 - tutorial level finished - most programming done - full guis - level transitions - 22.5hrs

4th level modeled

Time to get this thing working in Unity.

I really like how the trees turned out.

Sorry, this one’s a bit blown out.
13 - level4 - mountains  modeled - 32.75 hrs

Which path will you pick?
14 - level4 - mountains  modeled - 32.75 hrs

Special Stage complete!

The first secret stage is finished – time to bake it and get it into the game!

Here’s a sneak peak

12 - leve3 - caves modeled - 28.15 hrs

One more level to go!

Just 1 more level left to make!

15 - mountain finished - 35 hrs

What could be in the Haunted Forest I wonder… Is it a boss fight maybe?

Last level and boss modeled !

Just need to rig/animate this guy, and do the coding. Then the game is done.

The end is in sight 0~0.

I still don’t have a name for this game yet…

16 - hauntedForest modeled - 41hrs

Phew!

I’ll get to writing a proper post-mortem later, but I have a little bit of time right now. That was a fun weekend, definitely had me scrambling up until the last minute!

I’m going to be re-visiting my game to do a post-compo in the coming weeks, so I’ll spend a little bit of time analyzing what I could have done better for the second time around.

Until then, I’ll leave you with my favorite (secret) area of my game.2

Treasurequest – Postmortem

tq_vimeo

Vimeo video link

Hey everyone!

Well Ludum Dare has come to a close, that makes the third one I’ve done! I wanted to write this post-mortem sooner, but I defended my thesis proposal today, so I’ve had a bit of a full schedule. For those of you reading this who don’t know what Ludum Dare is, it’s a 48 hour game development competition based on a theme. Once the theme is announced, you have 48 hours to make a game- from scratch – and submit it.

I made a on-rails style game (think star Fox, or those arcade machine games with the guns) where you need to use items picked up along the way to reach the end of each level. However, there’s not just 1 way to beat a level – multiple paths could bring you to the end, or even to another level altogether. The game features 4 unique levels and 2 special stages.

Click here to play the game!

POST-MORTEM:

What went well:

  • Art style definitely worked well in my favor. I got to take advantage of my background in lighting in order to make some cool levels.
  • The concept of an on-rails adventure game is pretty neat. I’m going to visit it later in a post-compo entry.
  • Picking up and using items felt pretty good
  • Lots of unique levels for the amount of time.

What didn’t go so well:
Pacing is pretty slow, right up until you get killed unexpectedly. There seems to be this big gap between too easy and too difficult, and not much “medium” difficulty in this game. That’s something I can fix with more time to playtest and adjust levels.
Low quality texture. Even though they were solid colors, there’s still quite a bit of jaggies and some rendering artifiacts. Spending some time doing research on this is going to produce much better results in the future.
The boss fight. It wasn’t a complete disaster, but it was one of the last things I worked on, I was super-tired and it shows.

DEV DIARY:

It took me 2 hours to decide on an idea. My first idea was bad, my second one was so-so, and I probably had a dozen micro-ideas that weren’t so good. Finally I decided on an idea: You run through a level but you can only use an item once.

Alright, an on-rails game, that’s manageable!


2.5hrs – Getting the waypoints to work.

I didn’t want to write a character controller from scratch, so I modified the one that Unity ships with. You will always move forward, and when you hit a waypoint the character will rotate to face the next one (my game called them “direction changers”, great name I know).

First person was necessary because I just don’t have the time to model/rig/animate a full character on top of everything else.


5.5hrs – Bomb tossing and first FX

I had a lot of ideas for items, the first one I had was a bomb. If this game is going to be similar to Star Fox in gameplay, why not take it a step further? I wanted the player to be rewarded by figuring out some puzzles, not just following the same fixed path. A bomb is a pretty clear tool for opening up a new path, so I wanted to get the tossing mechanic and item inventory working. The inventory works at this point, but I had not made icons for the items yet.


6.75hrs – Modeling and render test.

For a while I’ve wanted to do some of these stylized low-poly renderings. Both of my past LD entries were 2D platformers so I thought this would be a good way to branch out. I used Maya to do the basic models, Blender to do fractal displacement of the verticies and reduce polycount, then back into Maya for texturing and light baking. An advantage of doing the lighting/texturing in Maya is that I can use things like soft shadows and global illumination, which free Unity does not allow.


9hrs – Level 1 complete

I finished modeling level 1, just a short tutorial level, about 6am on Saturday morning. Definitely ready for bed at that point. I fiddled around with texture baking, set the level to bake, and went to bed.


17hrs – Redoing the first level

So, that light baking didn’t work. I’ll summarize my lessons for doing light baking quickly: have as little geometry as possible. I didn’t have enough time to really research what was causing some of the issues, so I had to make all the levels very low poly. That bridge in the image didn’t make it into the game, instead I used a quick rock bridge. RIP bridge :'(.


19.5hrs – Item pickups and damage


Sorry about the low quality of the gif

Picking up items is pretty crucial in the game, so I like to prioritize those important mechanics when doing LD. I think if you get them working early, it pays off later. Last-minute changes don’t really have time for tweaking. At this point, you can pick up a chest and get the item inside. Also, you can take damage! It depletes your heart count, and the screen edges flash red.


22hrs – Tutorial level finished, full GUI, level transitions

Just under 1 day and the first level was complete. I planned on 6 levels, so I knew I’d have to pick up the pace. Luckily at this time, most of the programming was finished (except for some level-specific things) and I had an established workflow for level creation. I determined that each level would take 2 hours for the art and 2 hours for programming and implementations. That turned out to be pretty accurate.


24 hrs – Level 2 modeled

Level 2 art was finished right at the halfway point. This is the first level that features divergent paths – the normal route takes you into the mountains, but the (not so) secret route takes you to the crystal caves.


The starting view.


Crystal caves entrance


A view of the level from the end looking backwards.


26.75hrs – Level 2 finished

Level 2 had a lot of programming – I needed decision points for certain paths, as well as destructible objects and moving objects that damaged the player. In a particularly evil mood, I put 2 rocks at the end of that level that hit you, which I think frustrated 99% of the players into choosing the crystal caves route.


28.15 hrs – Crystal Caves modeled

The caves had to do 2 things: 1- look cool, 2- be kind of difficult. I felt the difficulty was a fair price of being able to completely skip the mountain level. Any mistake in this level will instantly kill you, and the beginning has a relatively difficult double-jump to perform. I wish the texture resolution of the level were high enough to show off the glow of the crystals, but that’s something I had to sacrifice for time’s sake. Instead I threw in millions of particle effects in an attempt to distract everyone.


32.75hrs – Mountain level modeled

It’s hard to call this “level 3″ now because there’s 2 “level 3’s” based on which route you choose. This is the default route’s level 3. The mountians features 3 paths (though 2 take you to the same end). The rightmost path, if you take it (and suffer some damage) will take you to the christmas level! The mountains are probably the most difficult level because if you don’t destroy 1 of the 2 ice walls soon enough, you’ll meet a cold and pointy demise.


35 hrs – Mountain level finished

The end was in sight at this point. It was 6am on Sunday and I had not slept since those 6 hours on Monday night. But I only had 1 level left to go, and 1 special level (the Christmas one was very very short). I wished I had more time to work on this level.


41 hrs – Haunted forest modeled

I started to take less progress photos at this point because I realized how tight time would be. I probably lost 1.5 hours on this level simply because of how tired I was at the time. I don’t know why I decided to model, rig, and animate a character at this point. I can’t rig or animate to save my life. Oh well, the boss is a tree. I added rigs and animation in about… 20 minutes. It’s a hackish combination of a y-shaped joint chain and hand-animating verticies. It works alright for the context that it’s in however. The level is pretty small – it’s just a figure-8 loop that constantly passes the boss. You have to use the endless supply of bomb chests in order to defeat him.


Time Unknown – Menu screen

I don’t know the time of this photo, it was sometime after the boss was completed and before the Christmas level was done. I actually really like the feel of this menu, the camera animation worked out really well, and it’s probalby something I’ll keep doing in the future if people like it.


Time Unknown – Travel Log

Nothing like some last-minute programming! I decided to have a travel log that kept track of your path. That way the player can see which paths they have traveled and try to go back and unlock all of them (a pretty bold assumption thinking people would actually play this game 2 times, let alone 3).


47 hrs – Winter Wonderland

The Christmas level was finished an hour before the finish. It’s a small message to all the LD participants. If you want to read it, go play the game!

Thanks for reading! So glad for all of the feedback and support I’ve gotten on this game already. I’ll make sure to let you all know when the post-comp game is ready!

Til next time,
Andrew Kennedy

P.S., check out my friend’s entry titled “FowL Play”.

LD29

LD30

Quick character preview

It’s been a bit of a slow start but I have my character made and his main mechanics are complete.

The white sword can be thrown as a boomerang, and can be dashed to at any time during its flight.

The black sword can be spun around in a circle, which also gives a short speed boost.


2 - 4pm

LD31

My “one screen” mechanic works!

My whole game takes place inside a theater. When the player tries to exit one side of the stage, however, he’s put right back on the other side.

I’m a little sad I couldn’t get a cloth sim working well in Unity, but I rendered the video out in Maya and used a video texture plane instead.

Overall I’m pretty well pleased with the effect. I might add an option to disable the video playing though. Maybe it will get too distracting later?

For now it’s time to get some sleep and start fresh in the morning!

Level assets nearly done!

Just need to draw a door and a key…then level objects are finished!

Some things aren’t featured here because there simply isn’t enough room on the screen for all of them at once!

Comments

07. Dec 2014 · 00:55 UTC
Yeah, beautiful art style!!

All level assets complete!

The final level asset in this game that I’ve made is a door that requires anywhere from 1 – 9 keys to open.

Time to move on to enemies!

Comments

Mixer
07. Dec 2014 · 01:54 UTC
Looking great! :) Just a suggestion, try and keep the floor and foreground the same style (draw the planks, or let it be 2D). Great work 😀

All weapons finished!

The final cannonball type is a grapeshot. It shoots really fast, but you can’t get very good jump boosts with it.

You can, however, hover for a bit.

Comments

Mixer
07. Dec 2014 · 03:44 UTC
That is so awesome!!!
07. Dec 2014 · 04:08 UTC
Looks really great overall, but the wooden ground looks too “unpixeled” if you know what I mean by that (a bit too clean for this awesome pixel style, really LOVE it!)

Final enemy!

The last enemy is programmed. Animation took forever!

The parrot will swoop at you after a bit, so watch out.

If you can hit him before he comes after you though, he’ll explode in a puff of feathers.