Ludum Dare 33
The Theme is:
You are the Monster

PlayRate80Star

Judging Ends in
3 weeks of Playing and Rating games!

Posts Tagged ‘AI’

Democracy – Post Mortem

Posted by
Saturday, April 25th, 2015 12:13 pm

Theme

I have have to say that I hate this theme. Really, there were so many good themes there, why this one could win? Damn you!!!! The theme isn’t an excuse to not do a game, but I spent so much time thinking of what I could do with this… A game not based on fights? Weapon is love? The weapon must be abstract! This is clichê? Oh damn… I finally came up with an idea, after 14 hours (counting sleep time)!

My game entry is about “democracy”, with quotes. The democracy and progress are the weapon of the government in the game, they want you to attack other species in order to “spread democracy and progress through the galaxy”. The player controls the invasions to planets inhabited by bugs with the goal to kill the natives and collect the planet resources.

The game is a very humble tribute to starship troopers (novel by Robert Heinlein and film by Paul Verhoven and Edward Neumeier). I wanted to create, somehow, the sense of order and progress presented by movie.

Development

I always start by the core mechanics because it is the main component of the game – if I can’t find time to make graphics, at least I have a block-based game.

I also always wanted to create a game in a circular world, that was my excuse. I had no idea how to do that, but at is was pretty simple. You have a world centered at (0, 0) with radius (r), than you can set the origin of all objects in the world to (0, r) and only manipulate the rotation to place than in the world.

After the basic world structure, I could drop structures, and these structures could create units. To control the units, I created a behavior tree to control each unit – the first time I really use behavior3js – and a behavior tree to control the bugs strategy. Figure below show these behaviors trees:

Behavior tree for player and enemy units – Click to see in full size.

Behavior tree for player and enemy units – Click to see in full size.

Behavior tree for the nests, its used to create orders to enemy units – Click to see in full size.

Behavior tree for the nests, its used to create orders to enemy units – Click to see in full size.

Then it came to particles and easing! Man, I love these two. The animation below shows the game at this point:

sample2

After 28 hours I started to create the sprites and visual things in the world. I was stupid enough to lost time adding some details to sprites that don’t even will see because the sprites are very small (about 20 pixels). I also spend a good time trying to create a futurist screen aspect, which ended up very cool.

I added some scenes, UI and some other effects to the graphics:

sample3

When the clock marked 5 hours to end the competition I started create sounds effects and music. I was desperate because of the time, I still had to adjust the levels of my game and I didn’t know what to do with sounds. At the end it was pretty simple and I didn’t do much, actually recorded some sounds with Audacity, generated most of them in BFXR and generated the music in SoundHelix.

I finished the game in the packing hour, the extra hour after 48, the time to deploy and write about your game.

Summary:

Good stuff:

  • Game finished is always good!
  • I’m using BTs successfully, even to control hundreds of creatures.
  • A circular world (always wanted to try).
  • Visually smooth and lot of cool PARTICLES!!!!!
  • Generative music and sounds worked well.

Bad stuff:

  • Balancing is hard as hell, I couldn’t do that properly.
  • Some details missing, especially the visual feedback when you win the game and the bug when restarting a level before a tween is complete.
  • Isn’t much fun due to balance, few types of units, and few levels.

I’m very critic about my games, I really fell for to not balance properly and create more content to the game, but well, it was made in 48 hours and this time the good stuff was really good! Moreover, this was the most complex and complete game I ever made for LD, it was really hard to do, thus of course some things would be missing.

.

PLAY HERE

.

logo-full

 

I’m in, but with a request to do…

Posted by
Wednesday, April 15th, 2015 2:08 pm

This is my 5th LD and I am in again. But this time I have a request for you: please do more games with artificial intelligence! I mean, you don’t have to make an awesome stupendous incredible AI, a simple and functional AI is more than enough. There is a lot of libraries out there, and a lot of easy techniques to use: minimax, finite state machines, subsumption, utility functions, fuzzy, behaviors trees, boiding… (note: you probably will want to take a look at these before the compo if you want to use without prior knowledge).

Try something new, try some new game AI!

My personal goal in LD is to use artificial intelligence algorithms as part of the core mechanics of all my games. I have 3 games out of 4 so far, and I want to increase this score within this compo. I’m planning to use Behavior Trees properly this time (especially if Companion wins!).

My tools:

Past Games:

  • Baa-ram-ewe (#31) my excuse to learn the boiding algorithm, used it to control nice little sheeps – my best entry so far, at 35th (overall classification) out of more than 2600 submissions.
  • Love craft (#30) used this entry to implement behavior trees, unfortunately I spent so much time on BTs that I couldn’t make a fun game (but now I have a BT library =]).
  • Beneath the Sea (#29) nothing special (complete redesign after 24 hours).
  • Hungry Flies (#24) trying to use genetic algorithms to evolute hungry behaviors.

Good luck!

First Dare Complete!

Posted by
Monday, December 8th, 2014 10:20 pm

tscreen

Three days and many laughs later, “Blue Screen of Love” is finally complete. For myself and my team it was our first Ludum Dare, and despite a curveball with the theme we charged head-first into a ridiculous yet heartfelt dating sim between a person and their computer.

We used twine to create the story and HTML/CSS to make the interface.

 dialogue

Play “Blue Screen of Love”!

 

Baa-Ram-Ewe! Finished!

Posted by
Sunday, December 7th, 2014 6:41 pm

banner

Finally I finished my entry for this Ludum Dare (LD31, the theme is The Entire Game on One Screen). This time, I am so exhausted that I couldn’t do any progress report during the weekend, but, on the other hand, I could finish the game, including the mechanics, graphics and sounds.

My idea was creating something with artificial intelligence (again) and for some reason, after the theme announcement, I remembered that I never touched at a flocking algorithm and this would be a good opportunity for it. The game idea is to take some sheeps from one point and bring them to another, without letting them to leave the map or to be killed. The player uses the mouse to herd the sheeps, which will behave accordingly to their neighbor mates and some tiles in the environment.

As tradition, I writing here a summary of the competition:

What was good:

  • Could finish the game!
  • Cute sheeps with nice behavior;
  • I could follow the schedule without any change;
  • I could do some music and sound effects;
  • I drawn my first tileset!

What wasn’t good:

  • Lot of problems with collisions ;/
  • Spend a lot of time with rotation math (shame on me);
  • The sound effects are pretty limited and the music is too simple;
  • The graphics are cool but some things I’m hating, such as the windmill;
  • I had to redraw the tileset 2 times!

Which technologies and techniques I used:

  • The sheeps are controlled by a flocking algorithm, (or boid algorithm) as described here and here;
  • The graphics were made in Inkscape;
  • The map were built in Tiled, using a 32×32 tileset;
  • I recorded the audio for the sound effects in Audacity;
  • The music were made in Guitar Pro and converted in audacity;
  • CreateJS and Creatine were used as programming base;

anim1

(VIEW LUDUM DARE ENTRY | PLAY BAA-RAM-EWE)

Little progress

Posted by
Saturday, December 6th, 2014 11:14 am

For now i have almost all technical features except dynamical lightning. And tommorrow i want to create music, graphics, death and menu screen. Maybe, google play games integratedd too…

Screenshot_2014-12-06-20-15-10

Some scripts I made to make things easier

Posted by (twitter: @Zazanxors)
Friday, August 22nd, 2014 8:26 pm

Straight to the point, these are some scripts I wrote in C# for Unity 2D stuff that I’ll be using – feel free to use them any way you want.

TileTextureManager.cs

This script is ment to make creating platformer scenes a bit easier. Assign it to the tile you are using and then give it six sprites for said tile – it will detect nearby tiles and automatically select the appropriate sprite to use, then rotate as needed so that you can place tiles and leave it to the rest.

PlayerMovement.cs

Pretty self-explanatory, this is a simple script to act as a sort of 2D CharacterController for the player. Comes with a debugging option. Requires a trigger collider to detect whether or not the player is on the ground.

EnemyAI.cs

Also rather self-explanatory. Simple script that doubles as very basic A.I. and physics handler for enemies. Physics is nigh-identical to player physics. Also includes debugging option and also needs a trigger collider.

HealthLogic.cs

Decent health script I wrote for whatever needs it. EnemyLogic will need this to deal damage properly to the player properly. Includes logic for invulnerability periods after getting hit. Debugging on this will only display health in the console.

3rd LD, I’m in

Posted by
Thursday, August 21st, 2014 12:28 pm

This is my 3rd ludum dare and I am going to use the same tools as always:

Independent from the theme, I’m hoping to use behavior trees to control some NPC’s (I wrote a 3-part tutorial on behavior trees on my blog) and I am praying to all gods to elect “You Are Already Dead” as the final theme!

 

Progress (and bugs)

Posted by (twitter: @Zazanxors)
Sunday, July 20th, 2014 11:02 am

inprogress1

So in the process of preventing the enemy from tripping backwards and suffering a gran maul seizure, we’ve apparently given him the ability to glitch through walls. Like I said, I suck at A.I.

In other news, the base construction and terrain are coming along nicely. The basics of building is done, and what’s left is to allow for multiple block types and defenses. On the front of enemies, we’ve got to create spawning, give them health and actually make them dangerous.

In short, we’ve got a long way to go and a lot to do. Even so the knowledge gleamed learning to not suck at Unity will really help in the long run, and will prove valuable come August’s Ludum Dare. Besides that, watching the A.I. I wrote fail miserably was incredibly funny. Hopefully we’ll pull this off, but even if we don’t, fun was had.

Oh, and I am so including an option to ‘un-fix’ all the glitches on the A.I. – there’s no way I’m restricting that fun!

Fuzzy logic “Fuzzy Associative Memory” Ruby gem released

Posted by
Thursday, June 27th, 2013 9:59 am

A Fuzzy Associative Memory (FAM for short) is a Fuzzy Logic tool for decision making. Fuzzy logic FAMs are highly applicable in Game AI.

A Fuzzy Associative Memory uses Fuzzy Sets to establish a set of linguistic rules , e.g.:

  • “If the orc’s hit points are a little low, retreat from the enemy”
  • “If the enemy is distant and my rocket ammo is low, the rocket launcher is a poor choice”
  • “If the enemy is near and my shotgun ammo is okay, the shotgun is a very desirable choice”
  • “If the ship is off course by a little bit, correct just a little to the right”
  • “If the bird is much slower than the flock, speed it up a lot”

The linguistic rules, and the fuzzy sets they contain, are defined by a human “expert” (presumably, you). That is to say, the rules codify intelligence and map this knowledge from the human domain to the digital.

After the rules are defined, a FAM is consulted to help your AI make a descision:

  • The orc retreats, attacks, strafes.
  • The ship launches long range missiles or fires short range guns.
  • The control rods are lowered into the reactor or raised out of it.

As you can see, the fuzzy rules are deliberately vague and use qualifiers like “a little” and “a lot”. Furthermore, the lines between fuzzy sets are intentionally blurry. This is the nature of fuzzy sets; they capture such human fuzziness in a way that extracts highly natural behavior from the fuzzy rules. When defining these rules, it helps to imagine interviewing a bona fide expert in the domain and writing down the skills necessary to be successful in the domain.

Learn more, and get the Ruby Gem for your own game:

https://github.com/cpowell/fuzzy-associative-memory

My first ever AI is done!

Posted by (twitter: @RawBits)
Sunday, December 16th, 2012 9:59 pm

So I let my AI roam my procedurally generated maze. :) Check the video!

I’m back and aiming for the jam

Posted by (twitter: @RawBits)
Sunday, December 16th, 2012 4:51 pm

The weekend wasn’t on my side sadly but I’m here and aiming for the jam.

In the last hour I have made a tree with the pathways in the maze – levels are procedural ofcourse. Here is a picture of the tree visualized.

Visualized paths in tree

Now, on to my first ever legit AI in my life: a simple DFS.

Day One Progress

Posted by (twitter: @Winterblood_Dev)
Saturday, December 15th, 2012 9:38 pm

Drew a bit of a blank on the theme, so decided to write a fairly traditional stealth-’em-up. This time I have mostly resisted the urge to make it pretty, and have got the core mechanics working instead!

You can turn the torches on and off, collect loot, and I have a sinister capsule patrolling a series of waypoints, coming after you if he spots you, and returning to patrol if he loses you again. Title and pause screen are working.

Day 1 progress

Day 1 progress

Day 2 is all about making gameplay from those core mechanics, and tarting it up – although one important thing I haven’t yet done is factor shadows into the visiblity code. But I know how that will work, just haven’t done it yet. Just done a last-minute stress test to see how many dynamic lights I can get away with, and the answer is “not many”. I may burn a lot of tomorrow optimising…

I got 60FPS in all iDevices!

Posted by (twitter: @juaxix)
Sunday, October 7th, 2012 1:19 am

Here it is

the video is of an iPad2, and it’s over 60FPS!

I have added a menu scene and some action to the game, now I’m going to complete the first big level with two mobs and a big boss, attacks, magic spells, and all those stuff. A lot of fun and work! :)

Let’s go with this star travel!

My butt is now even taller?

Posted by
Sunday, August 21st, 2011 12:39 pm

Gettin’ that polish going!~  I’ve added a title screen, as well as a way to control if a Human or CPU controls each of the two sides.  Also my AI is getting smarter!  It’s still quite beatable; my search depth is… next to nothing really, so it only gets as far as predicting your next move and making some vaguely intelligent guesses as to what kinda of things improve its position.  I’ve still got about 6 hours though, and pretty much the only thing I’ve got left to do aside from AI improvements is adding some movement animations to help see what’s going on.  I’m actually at a point where I’m about to ask some IRC peoples to help me test.  If you’d like to help with that just let me know; I’m Luthwyhn in IRC.

Here’s a shot of my title screen!

I hope everyone else is getting done too!  I’ve been too busy to keep with with chat more than occasionally.  Keep up the good work, though!

Tall Butt is Completed*!

Posted by
Sunday, August 21st, 2011 3:56 am

Yes, you heard right, folks!  My game is a completely playable implementation of Tablut as of about 9 hours ago!  There’s a few minor things it doesn’t do (warn you for Check/Mate), and plenty of places that can be polished (Movement animations?)… but the game can indeed be played!  Currently, though, it only works as a 2-Player game.  My goal with the remaining ~15 hours is to implement a mildly competent AI system who can play as the Attack and/or the Defender, at your own choice.  Currently the AI moves at random until and unless it has a move that will allow it to win immediately, in which case it takes that move.  It’s not much, but it is indeed a start!  The visuals have changed just a little since my last update, so I’ll post a new screenshot as well:

BLDR [final]

Posted by of Platymuus (twitter: @SpaceManiacX)
Sunday, December 7th, 2008 6:09 pm

BLDR is done! It probably could have used more levels and obstacles, but I think it’s great! Postcompo version will definetly include more levels.

Download it here: http://www.filesavr.com/bldr

EDIT: I forgot to include it in the instructions, but arrow keys to move and R to restart the level.

Postcompo edit: New download link at http://kittylambda.com/files/BLDR.zip (thanks to PsySal)

[cache: storing page]