Invincible Countermeasure (RTS/programming game)

Invincible Countermeasure (RTS/programming game)

Postby linley » 05 Jan 2015, 11:54

I've recently released a new beta version (beta 2) of my game Invincible Countermeasure, which is a game about attacking and defending computer systems (in a very abstract way). On one level it's an RTS, and it comes with a number of RTS-style tutorials and missions. But it's also a programming game, and you can use the built-in C-based compiler to design new units and write their AI.

Here's the sourceforge page, with source code (licence is GPL v3 or later; compiling requires Allegro 5.0 or 5.1), Windows binaries and an OSX binary package compiled by Peter Hull: https://sourceforge.net/projects/invincible-countermeasure/files/beta2/

And here's a github repository with a UNIX package set up by Brandon McCaig: https://github.com/bambams/invincible-countermeasure/

It looks like this:

Image

Image

Image

And here's a video:

https://www.youtube.com/watch?v=t1-NLIPyJjo

All comments welcome!
linley
 
Posts: 7
Joined: 20 Aug 2014, 14:48

Re: Invincible Countermeasure (RTS/programming game)

Postby Julius » 05 Jan 2015, 21:55

That looks quite amazing!

Would it be easy to have it work in another programming language like lua, javascript or python?

Is it intended to be edutainment for learning programming?
User avatar
Julius
Community Moderator
 
Posts: 3297
Joined: 06 Dec 2009, 14:02

Re: Invincible Countermeasure (RTS/programming game)

Postby CryHam » 05 Jan 2015, 22:08

Very cool. Looks fun.
So you write the code for AI in C directly in game?
What do you use for that, is that code interpreted?
Any idea how much performance it needs or how much code can a ship use to not slow down game?
User avatar
CryHam
SR Moderator
 
Posts: 1047
Joined: 25 Nov 2012, 08:40

Re: Invincible Countermeasure (RTS/programming game)

Postby linley » 05 Jan 2015, 23:22

The AI code runs in a virtual machine emulating an imaginary 16 bit processor, with bytecode representing basic machine code instructions. The game includes a compiler that turns C into this special bytecode (it includes an assembler that builds the bytecode as well, but it's not very user friendly), and has a basic development environment designed for coding in C (you can see the IDE open in one of the screenshots). It could work in other compiled languages as well, but there'd need to be a special compiler to produce the game's bytecode.

Each process (ship) runs its AI routines a couple of times a second and has a certain number of instructions it can execute each time, which is enough to create complex AI but not enough to slow down the game. Even my old laptop with a Celeron processor has no problems running it.

It could be used for learning programming, and it also has a kind of turn-based multiplayer so it can be played competitively as well.
linley
 
Posts: 7
Joined: 20 Aug 2014, 14:48

Re: Invincible Countermeasure (RTS/programming game)

Postby mdtrooper » 09 Jan 2015, 03:22

Hi.

I have played the game and it is great. I am the guy who opened the issue in github about the fail with Makefile ;) .

But I have been searching the strings for to help in the translation into spanish (for example) and the strings are in the files (into the media folder) that are used for the "bytecode".

Then I wonder...is it easy to add the __() function of gettext into interpreter?

Thanks, regards.
And I have a Patreon in https://www.patreon.com/migueldedios.
User avatar
mdtrooper
 
Posts: 185
Joined: 26 Jul 2012, 13:24
Location: Spain

Re: Invincible Countermeasure (RTS/programming game)

Postby linley » 09 Jan 2015, 12:54

Hi mdtrooper,

Good to hear you've got it working! Unfortunately, I think adding gettext or the __() function into the game's compiler or interpreter would be very difficult. It would basically require re-implementing gettext for the game's own compiler, which would be very complicated and require a lot of work. Sorry!
linley
 
Posts: 7
Joined: 20 Aug 2014, 14:48

Who is online

Users browsing this forum: No registered users and 1 guest