August 24th-27th 2012 :: Theme: Evolution

Back to Browse Entries

AInts vs Robots

by YSelf Tool - 48 Hour Compo Entry

AInts vs Robots:

AInts vs Robots is kind of an RTS.
You play the robots, the AI the ants, who want to destroy all of you robots.

Found the performance bug:
I added each breeded ant not one time, but always, that is fixed now and the game runs smoothly (at my notebook).
Some other performance optimizations done.
Added XNA Reach version.

What about Evolution?
The ants - starting with just two of their kind - grow and change like natural evolution works. If you kill just the weak ones, the new ants will be stronger, if you kill the strong ones the weak ants will breed.

How do the robots work?
Each robot consist out of parts, needing at least a core (body) and one other part to survive.
There are two buildings, a stealmine and baracks, and two materials, steal and synthetics.
Each robot produces synthetics - more, if he has a "Syntheter" - steal is produced inside a stealmine.
You can build a stealmine on stealdeposits (black), and baracks on grass (green) or stone (gray).
To create a robot you need to produces enough parts (inside a barack) and then create a robot out of it. Each robot can have at most one part of each type.
Robots can stand still, move to a point and attack ants.
If a robot does not have enough energy, he can't move. To get more energy (weapons and the syntheter need much) the robot can contain a "reactor" or be near baracks or stealmines, because nearing to buildings there is more energy. A full robot - with a core/body, legs, reactor, syntheter and both weapontypes needs to have baracks near to have enough energy.

The ants decide themselves to idle, to move, to attack or to breed - that's the reason the game is called AInts vs Robots. Ants need no ressources.
The Robots have less AI, but shoot themselves when they shall attack.

The game is controlled nearly complete with the keyboard:
Arrows: Move Camera
Mouse Wheel: Zoom Camera
W,A,S,D: move cursor (green block)
Change module to produce: N
Build: B (stealmine on stealdeposit, baracks on grass/stone)
Produce module: P (while the cursor is above baracks)
Create robot: R
Move robot (to the cursor): M
Attack ants (near the cursor): T (like "tackle")
Equip robot: E (while it is in baracks)
Change robot selection: PageUp, PageDown

The selected robot is shown at the top of the screen in the middle, at the side of it the next robots to change to with PageUp and PageDown.
In the lower left corner the current selected module to produce is shown, right of it all modules lying at the baracks (selected by the cursor).

I have prepared four maps (which are stored as images), because of the lack of a menu a random one is chosen.

For the game I used my own little XNA frontend library (so C#, XNA and .NET).
Because of the lack of time (and what you can read below "Annotation") I was not able to release a version with Mono/MonoGame for Linux/Mac.


Since I have huge performance drops since today evening (when I added breeding), I was not able to add many sounds, a menu, more animations or any music. The game may not be playable if I do not find the bug the next days and upload a new version. I have already profiled the game and removed/changed everything which needed a lot of time, but it has not become better (strange, because I did not add time intensive code before the first performance drops came).

Unfortunately I did not commit the last perfectly running version to SVN, which did not had breeding (so no evolution), but was a nice RTS (with robots, ants, production and fighting).


It was a lot of fun to program a whole weekend, even if I am not satisfied with the result. 48 hours are enough for a small, neat game, but not enough for a huge project, so I need to plan to do less next time. I needed a lot time to create the models, so I am going to write a blender export script for my own XML model format, because with blender I should be able to create models faster. Maybe I will use 2D graphics next time, for sure I will take some more looks at Mono and MonoGame.

I hope, you (who have read the text till the end) will have fun playing the game (if that is possible - I hope I will find the bug).

Downloads and Links




jprogman says ...
Aug 27, 2012 @ 4:29am

What program did you use to create this game? I'm unable to run the game as it kept on getting a critical error message before I even get the chance to play. I'm using windows 7.

geekygenius says ...
Aug 27, 2012 @ 6:06am

I tried playing, and it ran, but not very fast. My fps was less than 1. Win7 64Bit Ok graphics card. (Can run tf2 at 60fps)

jprogman says ...
Aug 27, 2012 @ 6:42am

Oops my bad. Finally figured out that I needed after skipping part of your note about XNA frontend.
I have horrible performance issues with this game. I'm using a Win7 64-bit OS with 2.3Ghz dual professor and 512mb GPU.

dredlockz says ...
Aug 27, 2012 @ 8:11am

I couldn't run it, I get that message about not having a suitable video card.
If your game doesn't strictly require it, you should change your XNA profile from hiDef to Reach, since hiDef isn't supported by a lot of devices. I'll check it later at my gaming computer :)

dvdking says ...
Aug 27, 2012 @ 8:14am

You should have done some performance optimizations. It's very slow. I have no more then one frame per three seconds.
My computer is not that bad...

YSelf Tool says ...
Aug 27, 2012 @ 4:18pm

"You should have done some performance optimizations. It's very slow. I have no more then one frame per three seconds.
My computer is not that bad..."

The computers are not the problem, my code is it. I have optimized some parts already, but it did not become faster.

I am taking look at it atm, the ants are definitely the problem, not graphics or robots (without ants it runs fine, with ants but without ant-drawing not fine).

YSelf Tool says ...
Aug 27, 2012 @ 5:29pm

Found the bug, was (as always) really stupid...
(spawned not one, but an infinite amount of ants).
Some other optimizations too, update will follow soon.

kevincorrigan says ...
Aug 28, 2012 @ 8:59pm

I couldn't get it to run, and the controls sound confusing.

Pitzik4 says ...
Aug 28, 2012 @ 9:14pm

I can't run it. When I run it from the command prompt it just prints a blank line and then exits. I'm using 64-bit Windows 7.

Karel says ...
Aug 28, 2012 @ 9:38pm

Ambitious, but I really couldn't get anywhere... The controls are too difficult.

Desi Quintans says ...
Aug 29, 2012 @ 4:40am

I had absolutely no idea of what I was meant to be doing. I tried playing with your instructions on one screen and your game in the other, but it didn't awfully help.

YSelf Tool says ...
Aug 29, 2012 @ 3:13pm

The game seems to be a little bit too difficult atm, now that the ants spawn in huge amounts.

Your goal is to kill all of them, and sorry, I did not have the time for good controls.

evilseanbot says ...
Aug 30, 2012 @ 10:38am

Some interesting ideas, but the interface definitely needed some work.

DaveDobson says ...
Aug 30, 2012 @ 10:10pm

This looks interesting and complex, but the controls were very difficult to understand - a lot of them, and not included in the game interface, and the art (though in a cool blackline style) was too abstract for me to know what the different buildings and resources were. I tried a couple of times, built some cubes, and wandered around the map, but eventually an ant I didn't see came and ate my robot, and I seemed to be done. I really like the ambition and the overhead view, and the coding seems pretty solid, but I think you might need to give users a little more onscreen help (and fewer options, like maybe a single build key) to help them out. Good luck with it if you decide to work more on it - I think there's some potential here.

imef says ...
Aug 30, 2012 @ 10:42pm

The game worked fine up to a point when it crashed...

vilya says ...
Aug 30, 2012 @ 10:57pm

This is hugely ambitious, but I think it suffers from the extremely complex controls. You really need to streamline them for this to be playable. I'd suggest something like (for example) left-click and drag to move the cursor, right-click and drag to move the camera, plus some clickable on-screen icons for each of the different things you can build.

I hope you do a post-compo version of this with better controls - I think it's got some great potential.

YSelf Tool says ...
Aug 31, 2012 @ 6:45pm

Yes, I really want to keep this project running and am already working on a post-ld version. Controls and GUI is what I really want to change nearly completely, the current are far to complex (and not what I wanted them to be).
@DaveDobson: It was inconvenient to create the models, currently I am working on a blender export script.

Cipher says ...
Sep 2, 2012 @ 1:50am

No suitable graphics card found...cant run

Beanalby says ...
Sep 2, 2012 @ 3:56am

Sounds like it could be interesting, it's way to complex for what little user interface is provided. Even with referring back to the mass of text, I couldn't figure out what was going on or how I was supposed to go about accomplishing anything.

PaulSB says ...
Sep 4, 2012 @ 10:28pm

It ran fine for me and looks good, but man I had no idea what to do and failed to make any sort of progress. But good effort, keep at it :)

mohammad says ...
Sep 7, 2012 @ 9:31pm

Dude XML is one of the main internet scripting languages!
Make it a web!

mohammad says ...
Sep 7, 2012 @ 9:53pm

Liked it!

Cracky says ...
Sep 8, 2012 @ 2:52am

Game is just really confusing, I have no clue what's going on or what I'm supposed to do.

AaronYip says ...
Sep 10, 2012 @ 8:02pm

I applaud your ambition, but perhaps too many features (and the pretty extensive control panel to operate them) ultimately didn't quite work out for the better. Because there's over a thousand games to play, players can only afford to spend a few minutes on most games--or only a few seconds if controls don't make sense. Good games try to make that count: the few minutes isn't spent reading up on controls or features and instead spent diving in and having fun.

I would have really enjoyed a version of your game simplified to just robots and only constructing buildings (just 5 buttons on screen, one for each building, no other controls except a mouse click). Everything else--where the building gets built, creating/equipping/moving robots, etc--happens automatically. I liked your idea and it has a lot of potential to be really cool, but atm I'm unfortunately not really sure what to do or how to do it...

You must sign in to comment.

[cache: storing page]