LD28 December 13–16, 2013

The Witch’s Weak Point : correcting bugs

screen3

As asked by community, i corrected some bugs :
– Boss that disappear on the right of the creen
– shot rate that didn t come back when switching bozooka and roquette
– more controle : add ‘space’ and ‘c’ to shot, and add ‘v’ to swap. Choose your best config ! (For mac user)
– Volume of music is higher.

I only touch the code for little bugs. No change on graph, game design, level design or anything else.

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

Cat an Man. Game for cat lovers.

Hi everyone,

I’m Illuminist, and this is my first competition for ludum dare event. I’m so excite so I couldn’t get a well sleep in the morning of the theme announce day. I live in GMT+7 time zone so I will refer to the current time in where I live.

For people who don’t like a long read, here is the game.

Play

PLAY Can an Man

On the first day where the theme was announced. The theme is “You Get Only One”. I was thinking that theme is more likely the player will have only one ‘something’, to beat a game. But it is too common. So, I continue to think if player got only one thing to protect until he can beat the game. That less common. More thought, if player get only one friend, “hmm.. seem to be nice”, I thought.

I have one cat at my home. He sometimes sleep beside me while I’m using a computer. And this time he does. And I was like “Ohhh! a cat game. You Get Only One Cat!!!”. Then ideas spread up to my brain, along with game concept.

I design a game to be like a Tamagochi, a Japanese mini handheld pet game where player must take care of it regularly, but I add some features to make game more complex, such as, player avatar which I call “Man”.

Man is likely to be a name of player avatar. In my country, some males are named “Man” for is nickname. Also Cat is the cat’s name. But I usually didn’t capitalize Man and Cat name, so in game tips you will be found me type cat for Cat’s name.

 

On the first day of Ludum Dare, I mainly mess around Cat ai, to simulate cat behavior by trying to make him satisfy his need by himself. You only see need status of Cat and Man only 5 statuses, but there are likely to be more than 10 statuses included hidden statuses for cat. Can cat will randomly go to satisfy his need according to which need need to refill the most, such as if Cat very hungry, he will go to food bowl to eat first.

As I refer before, I have one cat at home. So, I can observe his behaviors and make it into the game. The behaviors such as grooming himself, scratch his nail at somethings, and stretching. All of this behaviors also implement into Cat’s need. But it is hidden, because Cat’s can satisfy these need by himself without help from Man. Also some action that satisfy some need will deplete some other need, e.g, while cat eat, we will get dirty, so after his meal, he will likely to groom himself to replenish hygiene need. All cat actions have priorities, but doesn’t mean that he will always do somethings higher priority before other things. I’ve implement randomness by refer to priority of action, that’s mean he will most likely to do things with lower priority and urgently need to be replenish before the higher priority action that nearly full.

On the second day, I got into Man status. Man don’t have an AI because he will be control by player. But he still have need status to satisfy. Man gameplay is the like The Sims that player will control Man to do action and satisfy his need. Man’s most important action in the game is going to work. Working will increase money for game. Money is essential to feed Man and Cat, also use to fix Cat’s furniture. Wage earn from working is according to Man’s job satisfication, so called job performance. The highest wage per day is $5 at max job performance, while the lowest wage is $1 when job performance is depleted. Job performance will decrease when Man missing work on weekday, or working while having low on hunger and sleep.

Two more important status for Cat and Man is mental status and health status. Both statuses can’t be directly replenish or deplete. They will change only if other certain need statuses depleted or not. For mental status, it will go deplete when Can and Man don’t interact with each other in very long time. Thus this will deplete socialize need status. And when socialize need status depleted, it will lower mental status. There are other status which will going to deplete mental status. So as of health status. It is more vulnerable than mental status. Health status will be lower if physical need depleted, and it will lower faster if mental status depleted. And lastly if health status depleted, Cat or Man will die and game end.

 

It is very long entry here and I’m not good at English. My brain status already depleted and I can’t continue writing this. >_> But I will continue the idea of my game in other day. Lastly I have upload timelapse video of development live stream. Check out on this http://www.youtube.com/watch?v=dTfw4gGvT04

 

Derelict – A code post-mortem

Derelict Title

 

Derelict was my first look into Unity 4.3’s 2D toolset and honestly, I wasn’t let down, much.

Working with sprites proved effortless and movement controls for the player were simple thanks to only using a 4-Axis movement.

What did prove interesting was our creature. A fairly simple FSM that used several senses (smell, sight and sound) to track down the player. Sight and sound have pretty much been explored everywhere but using a players scent to track them isn’t used much but on a code side isn’t too different.

The original concept for the scent had it dispersing from the player and setting up a strength and trail along a grid based movement system that the AI could pick up if it wandered into range, moving quicker as the scent screw stronger. This idea was heavily scaled down.

The player instead left a little trail that decayed over time. All strengths were 1 and they were treated like dynamic waypoints that worked really well for the AI tracking you.

Derelict Scent

The above was a later altered version of the monsters sense of smell. A stronger cone in the front but a smaller 360 degree sense overall. Originally we only used the front box to detect scent and it had a hearing box that covered 360. That was how the jam implementation was done, the above was a later thought that worked a lot better.

These boxes however only focused on the scent left by the player, meaning that if you were close to it and kept just enough distance (and kept quiet) you could actually avoid the monster. This came down to the fact that the sense of hearing was ignored if it was on your scent, an original design choice in the code but in hindsight (and after some sleep) hearing was a better use for letting the creature know in a 360 degree area that you were close.

Sight overwrote scent following and had the monster rush you down and attack. If you were seen, you were done for.

Overall it followed pretty much the following idea:
– Try find the scent of the player (within your front arc)
– If that fails, can you hear them behind or around you?
– If you see the player, drop everything and go for them.

The downside again was that if the monster didn’t see you and carried on following scent, walking or running would not alert him. MASSIVE oversight.

What scent did give us was a nice dynamic waypoint system which worked in conjunction with the static waypoints that the monster followed:

Waypoints

 

Metric shit tonne of waypoints were placed.
To overcome it just following a predictable path the monster will actually use the wall vents to move around as well. This was handled by the roam state (I’ll cover the FSM in a minute, sorry). If it hadn’t found you in X time it would take a vent to another area and search around there and repeat. This was a tiny bit RNG in whether you were detected or not but made for some “OH SHIT!” moments in testing when I just didn’t think it would find me.

One interesting thing that happened with all this was the doors. Since we were using static waypoints and not actual pathfinding, due to time constraints, we had to find a way for the monster to navigate doors. The conclusion was to allow it to use vents (on either side of the door) to pass through. During roam it would just go straight through. If it was chasing you and the door was closed we’d give the player some time to get away before it used the vent. This kept some balance and the original plan for the doors in check without screwing up the creature when it was just walking around.

The AI finally broke down into the following FSM all run by “MonsterController.cs”
– Roam State ( General purpose waypoint following state, jumped around the map through vents ).
– Search State ( Followed dynamic waypoints (scent) and allowed the creature to track the player, its main tracking state ).
– Investigate State ( When it heard a sound it would use this to follow the sound, essentially creating a new waypoint to the location where it heard it ).
– Chase State ( Once seen, it jumped into this, gained a speed boost and went for the player ).
– Attack State ( Attack and shout, send a kill message when it was done ).
– Victory State ( Stop the AI, it won ).

I’ll try get a UML up for this but the general idea was.
Roam goes into anything.
Search will return to roam if it lost the trail, transition into chase/attack if needed.
Investigate would transition into Search/Chase/Attack and Roam if it lost the trail. 99.9% chance it would always lead into Search as it turned around and picked up the trail.
Chase would go into Attack when in range. If you somehow escaped it could pick up the trail or return to roaming if you made some impossible escape (in as a safety precaution).
Attack would always succeed and lead into Victory.

So that is the main parts of the game. We had a few other little pieces like pick up (linecast vs. layer) and the torch…

The torch was just a texture with an alpha’d section to reveal the player and light up the floor (AKA Alpha 0 there). We knocked the Alpha on the total down a little so you could just make out the scenery. Unity’s 2D draw layer stuff was brilliant for this as we just made sure it was drawn as the top layer. There were some plans to try do some more lighting things with this (flickering lights etc) but I’ll save that for a later experiment.

Hope this proved interesting for someone and see you all next Ludum whether I’m solo again that time or part of a team like on Derelict.
Scott (https://twitter.com/iOSScott)
Art to follow from Dan (https://twitter.com/Daniel_Scholes)

Application of theme

Hi all!

I’ve been getting mixed reviews about my application of the theme and I find it curious!  Some people can see that I applied the theme and others cannot.  Since this is my first Ludum Dare, perhaps there is something I have missed…  Does the theme have to convert directly into a game mechanic?  In my case, the game is called “You only get one world” and the game is about protecting the one world.  Is that a misapplication of the theme?  I am very interested in hearing the thoughts of other contestants!

Please check for yourselves here.

icon

Any other thoughts about applying themes would be greatly appreciated!  Let’s discuss in the comments!

Comments

Fadobo
19. Dec 2013 · 13:27 UTC
From the LD Rulse: Though rule #3 says your game must be based on the theme, the interpretation of theme is open. If you find yourself stuck, consider using the theme in a different or unusual way (e.g. as a character). If your interpretation seems difficult to understand, feel free to rationalize your use in a blog post.
19. Dec 2013 · 14:07 UTC
Thanks Fadobo! In that case, I think I’ve applied the theme well in the sense that we really do only get one earth and the entire objective of the game is to protect it!
19. Dec 2013 · 15:24 UTC
I think that your application of the theme is perfectly fine (already said it in the comments) and it’s better than a lot of games that won’t get a single remark about their application of the theme in the comments.
19. Dec 2013 · 16:14 UTC
Wow Volute, those were some really insightful comments! Thank you very much! I didn’t really think I was being subtle, but there were certainly opportunities for me to drive the point home that I didn’t use! Will try to make it even more obvious next time :)

The TORPEDO has now OS/X and Linux releases!

Hello all,

My very first  entry for Ludum Dare, “the TORPEDO”, has now Os/X and Linux builds available. If you have those systems, would apprecite if you can check them out and feedback whether if the game runs or not.

Thanks and regards!

Screenshot 2013-12-16 03.34.18 Screenshot 2013-12-16 03.33.31 Screenshot 2013-12-16 03.32.59

Jiggawatt’s stream of piss

twitch.tv/121jigs

In which I give honest criticism to your shitty games. I’m trying to go on a rating binge so that might be more tolerable with an audience.

Let’s see who’s been nice and who’s been naughty, post your games (or other recommendations) in the chat. I’m not one of those guys who play a game for 20 seconds before quitting.

Tags: jiggas great debut to streaming fame, livestream

Penguin Feeder Simulator 2000 gameplay and timelapse

In good LD tradition I recorded a time lapse which one could view here:

http://www.youtube.com/watch?v=plZbUxozoRM

Also I created a little .gif with some gameplay, so all of you can enjoy my beautiful and attractive artwork:

penguin

 

I hope to also create a Post Mortem sometime, but until then you can still play and rate my game here

Penguin Feeder Simulator 2000

Tags: timelapse

Rating “fun”

I’m over 100 rated games and I’ve just started to go over my rating again, starting with “fun” because it’s the easiest thing to judge. I understand “Fun” as the entertainment value of the game. Apparentlyn, most people will give “overall” high ratings when they give “fun” high ratings. However, I think there should be much more to games than entertainment. But for now, let’s check the fun.

One thing that spoils the “fun” in games is the waste of time, especially in games where you lose a lot. If you make a game where the player will lose often  (and if you still want to make it “fun”), you should allow him to retry immediately. Don’t add transitions, fade in, scrolling, etc. Just do : 1. play 2. die 3. repeat, and then it becomes addictive.

Three examples of 5/5 “FUN” ratings :

Go long!

I thought “Go long” was really fun because it really engaged me in its absurdly intense mood.

Fighter’s last hope

I was 12 years old again when playing this game. Ok, push the button, kill the enemies, jump, jump, more enemies, kill, kill. This game is exactly what it wants to be.

PUSH

 

No way I could stop playing this before beating the last level. Because of : the music, easy movement, mechanics are simple to understand, the way the game responds to the controls is very neat, I had to actually “stop and think” about how to solve the puzzles, no waste of time when loosing, starting over, or even winning. Transitions are fast.

4

This entry was posted on Thursday, December 19th, 2013 at 11:41 am and is filed under LD #28. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Underdeep – Postmortem

I waited a couple of days to write this to let my head clear and I’m not sure it is, so I’m just going to write it :)

This was a brutal LD for me. I slept 6 hours throughout the whole thing (1pm till about 7pm). I was up sat night from 7pm until close of LD submission. I clocked my time and I put in nearly 40 hours on this game and my second Twitch stream is nearly 24 hours! I was basically underwater most of the time and had too much to do so I was virtually never away from the computer. Whew. Don’t try this at home.

The unfriendly Underdeep.

The unfriendly Underdeep.

What went right…

  • Streaming. I decided to try to stream the whole process. It had good and bad associated with it, but I think it was a good experience overall. I had some dev friends watching and providing support. Some watchers posted some great ideas and it was fun to provide a peek at developing the game.
  • Building on experience from 3 past Ludum Dare’s. I never could have done this as my first game.
  • I finished and the game feels solid, controls well and is technically competent, due to Unity. I was able to make 16×16 pixel art look sexier with nice fog effects.
  • I barely finished, and had it not been for doing 3 LD’s before and being as comfortable with the tools as I was, I would not have…and that said…I almost didn’t finish…

What went wrong…

  • I over reached in terms of scope, but dammit, I wanted to make an FPS and a 3D game and make the leap from 2D. I knew it was going to be very difficult, and it was.
  • Streaming. I hadn’t streamed before, so I had setup and technical issues. I spent the first 2.5 hours of the compo trying to get to steam on OSX (which has terrible options). I finally broke down and purcahsed Wirecast (which is not cheap) so I could do it well, then had lots of setup issues. As it was, there were still audio issues. So as usual, make SURE you have all your tech setup before hand…and not just tools/base code.
  • I struggled with Unity a lot. I hadn’t really done enough work in 3D and had some issues moving things around, even though it turns out it’s trivial. I had some issues with my billboarding script messing with Unity moving things, and wasted lots of debug time. In short I spent 90% of my time implementing things and struggling, vs polishing and tweaking and getting to gameplay. As such the game is there but it’s pretty lite.
  • I was displeased with the “AI” and it wasn’t working well. This was 5:30pm a couple hours before submission…and I started to re-write it, after being up since 6pm the previous night. Oh boy…it nearly fell apart. My head was too fuzzy to think. I was streaming and felt added pressure there to perform and the wheels were coming off. Literally a half hour before deadline I snagged some code from the Unity forums and just pushed guys around randomly with physics impulses and that seemed “ok” and avoided some of the other issues I was having (need to revisit a better way to billboard sprites that doesn’t mess with LookAt headings etc). But I was very seriously facing missing the deadline. My pulse was racing, my heart was beating, I ignored the stream for like an hour. I pushed the cat off my desk. I don’t have panic attacks but I imagine this was what one felt like.
  • Massive sessions. The final was literally 26 hours at my computer with only a few 15 min breaks for food/restroom/clear head etc. That’s WAY too much, but it had to be done. I wanted to finish. I didn’t want to fail. I had streamers watching. Sacrifice the body :) I’ve done crunch mode in the game industry many times before, but this was more painful. Maybe it’s because I’m older now and not 30 anymore :)
  • I was so rushed at the end that the sounds are complete throwaway and I’m disappointed there. No ambient cave/dungeon track, etc.

So, this was a beast of a project for me, but I leveled up a lot and could do a much better fps in less time next time (which I might). On one hand you want to reduce scope to increase chance of success but on the other hand, sometimes you just gotta say “f*ck it” and reach higher than your ability and see what happens :)

Hope you enjoy the game. Please rate it and comment and I will do the same in return.

12

This entry was posted on Thursday, December 19th, 2013 at 11:55 am and is filed under LD #28. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Red Christmas videos!

Red Christmas title_2

Play the game here

The unofficial gameplay video here: (spoiler alert!!)

The official soundtrack video here: (If you really like the soundtrack in this game!)

I hope you enjoyed the game! 😉

Timelapse problem :( HELP!

I want to make a timelapse video but i record everything using Open Brodcaster (which i use for MY livestream) and i cant find a good program to speed up my videos since some are 6 hours or 12 hours and some programs cant handle that kind files or it takes like 2 days to be process :(. Does anybody know which is a good program or just how to speed up the videos from this livestream that i record to make my timelapse.. or do i just use chronolapse for the timelapse (that was my idea but i tho just speeding up the video would look nicer). Thanks for any help (

YOGO PATH Post-compo update

After hearing the suggestions in the comments section, i made a Post-compo update to my Game “YOGO PATH”.Thank you guys for the great feedback!Ludum Dare has the most genteel/educated comments section in the internet, by far!!

-Minor audio and animations fixes.
-Better algorithm for the procedural creation of the levels(enemies positions, etc)

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

Yogopath

Backwater rider – Postmortem

001

Intro
Backwater rider tells about the captain stuck in the distant corner of the universe. To leave this outskirts, he is looking for parts of the new ship on the nearest planets. His only assistant and best friend in this not so easy journey is his on-board computer GO-1.

Features

  • Explore space and fly from one system to another seeking adventures.
  • Interact with the planets and learn interesting details.
  • Communicate , share and trade with the locals.
  • Run droids in mysterious labyrinth to get so valuable part of the ship or other bonuses

Team

  • Alexander “Dyn” Pavlov – coding, gamedesign
  • Eugenia “Jenni4ka” Protsenko – gamedesign, texts
  • Dmitry “Celt” Danov – music

004

And now to blamestorming. :)
 
 

Good

– Tools
Unity + plugins. Greatly help to make the game from scratch. Especially when have some experience with these tools.
NGUI, for example, greatly operates gui at different resolutions.

– Gameplay
We have implemented almost everything that planned and this game is the most completed of all we did for gamejams.

– Recreation
Prior to the contest, we managed to relax a bit. Reflected well on the number of hours of productive creativity.

– Theme
We wanted to do something similar in spirit to the FTL or Elite. Unhurried and thoughtful as space. And sometimes funny. I think we succeeded. Last but not least thanks to the music written by Celt.

003
 
 

Bad

– No artist
Again without the artist. The previous time the artist fell off at the last moment. This time we not really bother with this. But this leads to the fact that the game look duller, we have to seek out some time on art tasks (textures for planets). In some places we have not inserted the desired graphics (icons for dialogs). Overall, it’s not a problem, but it would help make the game look better

– Theme
It was in good part, but will be in the bad too.
Despite the fact that stylistically we managed to do what we wanted, we missed one point. The gameplay certainly has a lot of “you-have-only-one-choice”, but the original idea was deeper. The main character has a unique ability. Sort of special inner voice. And after making important decisions a player would found out what happened in the other case. Kind of awareness of permanent losses because life always gives only one choice. Well, and anguish because of this, of course…
I think we will add it later. The main is already done.

– Time
Time. Time never changes… It’s never enough.
Lack of time affected us less than in previous times. We had completed almost everything we wanted. What we did not manage to finish in time and was added to post-LD version:

  • Fixed shop (oh…)
  • Special offers on planets (like large and cheap fuel tank)
  • Saving (just forgot to add)
  • Various textures for planets
  • More user-friendly interface (a little)
  • Fixed bugs (a lot)


 
 

Evil

Still a few bugs in the maze route. Will fix it later.

 

 

Thanks for reading. Thanks for the event.
Feel free to comment and vote for our game.

Postmortem: Save Yourself

I went into this LD with a bit of a cloud; the past two LDs I attempted did not end well. For LD25, I let my ideas run far, far, far ahead of my deadline and ended up with an incomplete grab-bag of ideas. For LD24 before it, I completely burned out trying to make a point-and-click adventure game. I’ve never made one before; I don’t even play the genre much. I, honestly, had no clue what I was thinking.

I came into LD28 with one goal – to come up with a single mechanic and make a game of it. Similar to Doggone, the better of my two previous entries. I think Save Yourself does a good job at this goal. As a game, it has some definite shortcomings.

Briefly, the game is an arena shooter (Robotron, Geometry Wars). When you die, time rewinds to the start of the level and your previous life replays all of its actions. You get another ship and must kill whichever enemy killed your previous life, as well as not dying. As long as you prevent your past life from dying, and live past when you originally died, you can do it again – you never died in the first place, after all, so you can still go back in time. Fail to save yourself and it is game over.

 

What went right:

  • Scoping: I picked a genre I’ve built games in before and then went for a mechanic. Just a mechanic. No upgrades, no branching paths, no difficulty modes. First make it fun, then go for more.
  • Lazy solutions: On death, I could have implemented a cool rewinding animation to go back in time; I thought this would take an hour or two and decided it was avoidable polish. Good idea. Also, my “deterministic” update loops aren’t, really. They are close, but not perfect. So, if a recorded player would ever die before it should have, I just flash a “desync” message on the screen and don’t do anything. Your recordings are invulnerable to everything but the single enemy that killed them.
  • Taking it easy: I kept a normal schedule; hell, I called my game down with something like 9 hours left in the compo. I could have done that rewind animation, or added sound, or upgrades, or even something like progressive difficulty. Instead, I slept and was happy.
  • Simple graphics: While this was my first compo game in WebGL, I’ve been toying around with it for a while. I made sure my (hand-built) engine supported normal maps and called that good. Comparing the sprite sheet to the in-game graphics shows how much detail that gets:

spritesIn-Game Shot

What went wrong:

  • Visual aides: I tweak the color of any enemy that caused a previous death, but it really doesn’t highlight the difference and it isn’t obvious what is going on. Sure, I can tell, but I’m not sure others can.
  • Graphics glitches: I was really lazy with my graphics; I’m using texture atlasing, but not doing anything to prevent mipmap bleeding. I could have taken the lazy solution and just put some padding in my atlas, but I thought the glitches didn’t look too bad. Also, my alpha is just completely wrong. Whoops.
  • Features/balancing: I guess I decided not to do this, but the game could really have used either some form of ugprades, or a difficulty curve. As it is, the easiest way to survive a long time is to die, intentionally, every 5 seconds or so after your previous death. That lets you clear a bunch of enemies in your life, while not allowing too many to build up before your next life will come in.

Bullets are Fatal – Considerations

Post-Mortem
So, after a cooldown from the 72h marathon, we’re here to talk about the good ol’ “The Good, The Bad and The Ugly”, in reverse order.

Ugly
Our little blue Clint Eastwood wannabe had some hard times crossing balconies, which probably caused some headaches, not to mention causing many unnecessary deaths. We considered this an extremely pernicious bug, because it’s already very hard to be the fastest gun in the west in our game, we don’t need platforms acting randomly to add insult to injury. So we took the liberty of fixing that and re-submitting.

The-Bad
The biggest of the bads was too much ambition in our initial plan. Furthermore, we only realized too late that our first idea wasn’t going to be able to be completed. So we had to rush through several important phases, which resulted in our controls not being as good as we wished. Some tasks took longer than planned, notably getting the assets into the game properly, working all the different animations and state machines took way longer than expected, leaving less time for fine-tuning the gameplay with the controls and AI. This is really dangerous in a fast-paced game like ours. We had some problems with downscaling assets as well.

The-Good
Ah, at last, the good! We managed to come up with a game that was really satisfying to us. Using ToonBoom for animations was incredible! Cheers for our artists, they were amazing. Procedural level generation proved to be well worth the time invested, it added quite a twist to the game. The mixing of 2D with 3D also turned out very pleasant! We also scored lucky with some hasted decisions. The most fortunate was the ricocheting bullets, which wasn’t planned for initially, but once we saw it happening, we exploited that to it that work as an integral part of the game mechanic.

Overall we are very pleased with the result and, most importantly, we had a good deal of fun and learned a lot developing this game in those grueling 72 hours. In the end we had to bite the bullet, fatal as they are! :)

We are also very excited and have been working on the game, soon we plan on posting a post-compo, we already have some nifty little features working (did I hear someone say bullet time?)…

Physics based platforming can be a bit “Dodgy”

Dodgy Ball is, well… something. The idea was to make a TowerFall-like game with dodgeballs instead of arrows. I think we succeeded in our most basic goals, but the result can be a bit buggy and some of the platforming elements aren’t always consistent.

I had never really attempted to do a proper 2D physics platformer before, which is where most of the “dodgy”-ness comes from. Platform collisions aren’t perfect. Floor and wall jumping forces aren’t 100% reliable. And the code for picking up and catching balls is hacked together at best. Actually, there isn’t a single line of code in the whole thing. Everything was done in Playmaker for Unity, which might explain some of the problems. All that being said however, I think this might be the most fun I’ve had with any game I’ve ever created myself.

TowerFall and Samurai Gunn have been on my mind a lot lately. So when I heard the theme announced, I quickly gravitated to the local multiplayer concept. Requiring multiple players and controllers unfortunately rules out a pretty large number of potential players, but hey, it has been a game type I have wanted to experiment with for a while. I also wanted to do something totally different than our last Ludum Dare entry, TimeFrame.

I spent at least 90% of the competition time refining the game’s controls. Only a few hours were spent on the art, animations, sound effects, and music (by the amazing Clark Aboud). The scoring elements and the start screen were literally implemented in the last hour of the jam. Luckily everything fell together just in time.

As much as I love the way the game plays, I think it would be necessary to go back to square one with the controls and physics if we were to release this as a polished game. I learned so much over the course of a single weekend that I’m sure it would be best served to scrap the existing code and retune everything from the ground up. Whether or not we decide to do that is up in the air. For the time being it’s back to full-time development on our primary project, Lacuna Passage.

Man Behind the AI: Postmortem (TCOBON)

Game Link: http://www.ludumdare.com/compo/ludum-dare-28/?action=preview&uid=21804

Gameplay video: http://www.youtube.com/watch?v=RRsR_DTW6JI

Postmortem of Chase Hutchens:

I’ve been following Ludum Dare for a while, I was definitely interested in entering eventually, I just didn’t expect it to be this one. I actually didn’t plan on entering this one at all initially. But then I saw posts from another group member, which enticed me to attempt to join their planned Game Jam session.

My task was to implement some sort of AI. I had prior experience with A*, so I knew with our layout that will be the best option for getting the enemies to move interestingly. The first time I implemented A* it took me some time, however, that past knowledge was able to allow me to understand the problems that needed to be solved on my end to get it working properly. A* took me a good day to implement, a long with it’s grid generator system.

Now that I had A* working, I needed to begin developing some sort of logic within the bots to provide some sort of interest. This brought forth some difficulties, due to this being the first time implementing AI behavior with A*.

What I ended up doing was creating a bunch of node objects that I placed around the maps. From there, I had to piece together various events for the bots to re-act to. I decided, from past experience using a state-machine hierarchy would be a good strategy. When a bot doesn’t have a shuriken to fetch it would travel around randomly, by selecting a random node on the map. If a shuriken is thrown in it’s direction, it would choose another random node to travel to, in hopes of dodging getting hit. From there, if it was the closest bot to the dropped shuriken it would proceed to attempt to collect the shuriken. Also, the bots would change directions after a shuriken was picked up. This was the majority of where my time lied. Attempting to create code for the bots to know when to re-act to a situation.

Some of the issues I faced during this process was, when the bot chooses to travel to the dropped shuriken, if it was out of reach and not colliding with it, it would hover at the location indefinitely. The bot had to collide with the shuriken to collect it. I had to keep track of how long that particular bot was hovering in the adjacent square. Another issue was a crash bug that would make a bot attempt to continually search for the shuriken when it somehow left the arena. That issue is still somewhat present, where the bots will try to get to a shuriken in a non-reachable location. It does however, seem to fix itself.

Overall, it was both fun and interesting to create a project with like-minded individuals. The AI isn’t great, but I’m just glad I was able to obtain more experience related to working with both AI and A*. I look forward to the Ludum Dares to come.