April 20th-23rd 2012 :: 10 Year Anniversary! :: Theme: Tiny World

Back to Browse Entries

NanoTanks - A tiny programming game for a tiny world

by mjb - 48 Hour Compo Entry

Nanotank is programming game which pits your wits as a programmer against the tiny mind of the computer. Your creations (written in a tiny Scheme-like language) will battle for supremacy of the tiny world of the computer. Its a small and simple world, but the nature of the language makes it an extremely open one.

Contains a complete custom tank-controlling progamming language, graphics and some buttons. And a disabled slider bar. Read the README for documentation and instructions.

Stuff I was happy with
- I like the concept. It's not that original, but programming little tanks in Scheme-like is actually quite fun (for me).
- The language implementation is pretty solid. I spent way too much time on it, but it's not that horrible.

Stuff I would have done with more time
- A better code editor. I recommend editing the code in a better editor and using cut and paste. Also syntax highlighting would be awesome.
- More game mechanics and balance. It's very minimal as it stands.
- Sound and Music.
- Much better language documentation. I had a tutorial planned, but ran out of time.
- Better looking UI.
- Testing on Windows and Mac.

Downloads and Links




mitkus says ...
Apr 23, 2012 @ 3:55pm

Crashes for me on OS X:

java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:127)
at java.util.jar.JarFile.<init>(JarFile.java:135)
at java.util.jar.JarFile.<init>(JarFile.java:72)

mjb says ...
Apr 25, 2012 @ 2:17am

mitkus: Can you post the whole stack trace? And the last output before the stack trace if you run java with -v?

mjb says ...
Apr 25, 2012 @ 3:25am

I updated my entry, and now should work on Windows, Mac and Linux (but only tested on Windows and Linux so far). Just unpack it and double click on the right .jar file for your platform.

gavin5564 says ...
Apr 25, 2012 @ 3:39am

So Sad, The game is link is down, I was excited about this one.

robcozzens says ...
Apr 25, 2012 @ 4:07am

Didn't work for me on OS X.

Jedi says ...
Apr 25, 2012 @ 4:37am

It works for me on Windows. It's clearly an amazing technical achievement. It's also very innovative and ambitious!

Unfortunately, I felt that the language isn't very approachable. Also, it's hard to want to learn a new programming language and change the code that's there without any goal in mind.

It seems like you can spawn two things and select two algorithms to control them(?) but there's no indication as to what is the "player" and what is "ai" or even which script controls which bot.

If the object was to modify some code to defeat a very simple AI (who's code you can't change and perhaps can't see), this would be a fun game!

DaveDobson says ...
Apr 25, 2012 @ 4:44am

I've played games like this and even written one, and they're fun, but it's hard to dive into a language like this without much tutorial. It might be cooler to have buttons for verbs that put in the right syntax rather than having to type the whole thing. The code screen is very neat and clean, and the arena part is easy to understand and cool-looking despite being a little low-rez.

mjb says ...
Apr 25, 2012 @ 4:52am

Jedi: Thanks for your comments. The goal is to implement an AI in the language, and defeat either the built-in AIs or the AIs that you write. Any script you save can be loaded as an opponent.

Dave: Agreed. I had a more interactive editor planned (and, at least, syntax highlighting and checking) but ran out of time.

cjke.7777 says ...
Apr 25, 2012 @ 5:22am

I'm sorry but I just couldn't get "into" it. It is obviously quite a technical achievement but something I cann't just pick up and play.

Endurion says ...
Apr 25, 2012 @ 6:04am

Great achievement!

However I would've chosen a language style that would be clearer or neared to what most people know. Lots of brackets around ;)

noddy2006 says ...
Apr 25, 2012 @ 6:15am

Lack of code reference and a poor GUI made it too difficult to get in to unfortunately. Looks like you had lots of ideas in there as far as the language goes, but it's not accessible for the average player.

Congrats on implementing the whole thing in 48 hours though, that's pretty impressive.

yoklov says ...
Apr 25, 2012 @ 6:16am

I can't make this game work on Mac OS X, but I'd really love to play it!

I've made my last two games for Ludum Dare in lisps (screw the haters), and am interested to see how this ended up working out.

My stack trace is here: http://pastebin.com/SEUUKtKy

namuol says ...
Apr 25, 2012 @ 6:31am

Kudos for implementing a pretty legit language in such a short time.

mjb says ...
Apr 25, 2012 @ 3:11pm

> My stack trace is here: http://pastebin.com/SEUUKtKy

Thanks for the stack trace. I'll see if I can track down a mac to reproduce the issue. JOGL does some dynamic binding magic, which is what appears to be broken here.

yoklov says ...
Apr 25, 2012 @ 3:41pm

I couldn't get it to work in mac with eclipse, but I think the issue may be the lack of a gluegen-rt-natives jar for mac? Tried downloading but had no luck. I'll see if I can get it working on my linux box later today.

RHY3756547 says ...
Apr 28, 2012 @ 5:51pm

Smart idea. Couldn't figure it out though, the language was pretty non-standard.

davidpeter says ...
Apr 29, 2012 @ 5:46am

Same issue with the stack trace on OS X.

dansludumdare says ...
Apr 29, 2012 @ 5:54am

I'm not sure if it's that the language is too complicated so much as it isn't self documenting (what's mytsl?) and doesn't have comments.

I've been thinking of making a programming game myself. Didn't even occur to me to have the code and simulation displayed at the same time. Duh.

Anyway, kudos for doing a programming game. I'll probably spend more time on it some day in the future -- perhaps perusing the source as well -- interested to see a homegrown compiler.

Waynetron says ...
Apr 29, 2012 @ 6:42am

How do I run the Windows version?

moop says ...
Apr 29, 2012 @ 7:42am

Nice job making a programming game for LD. :D

siasia says ...
Apr 29, 2012 @ 10:49am

Unable to run. The rendering canvas is filled with some artifacts.

iximeow says ...
Apr 29, 2012 @ 6:19pm

I was really looking forward to playing this one, but it turns out that it goes way outside the bounds of my screen. (Playing on 1024x600, yeeee netbooks.)

I'll have to take another look when I'm back at my desktop.

kddekadenz says ...
May 3, 2012 @ 4:15pm

Linux Mint 12:

java.util.zip.ZipException: error in opening zip file

Shigor says ...
May 6, 2012 @ 1:10am

doesn't work on mac, damn, I really wanted to check this :/ have to fix windows rig asap!

Raptor85 says ...
May 11, 2012 @ 8:57pm

would be nice if there was some sort of visual cue's as to which one is mine or which is the "other" ai. Kinda reminds me of IBM's "robocode"...only played with the default AI's though.

May 13, 2012 @ 11:16pm

i like!

You must sign in to comment.

[cache: storing page]