
Hannibal: An AI/bot for 0 A.D - jonbaer
https://github.com/agentx-cgn/Hannibal
======
noobie
Cool name.

Hannibal was Carthaginian (modern day Tunisia); one of the greatest military
commanders in history.[0]

His crossing of the Alps during the Carthage-Rome war is one of the most
celebrated achievements of any military force in ancient warfare.[1]

0.[https://en.wikipedia.org/wiki/Hannibal](https://en.wikipedia.org/wiki/Hannibal)

1.[https://en.wikipedia.org/wiki/Hannibal%27s_crossing_of_the_A...](https://en.wikipedia.org/wiki/Hannibal%27s_crossing_of_the_Alps)

~~~
f4stjack
Now all we need is a Scipio Africanus as an opponent ai. :D

~~~
badloginagain
And much like Scipio, an AI that learns the tactics of Hannibal and devises
its own tactics to hard counter.

------
programLyrique
Since the victories of AlphaGO, we've learnt a lot about Starcraft being the
new step in AI game research.

Maybe it would be better to focus the efforts on an opensource RTS such as
0ad, which leads to less legal problems and less hacky interfaces (for
Starcraft 1, by writing in the memory of the game).

~~~
jdowner
One direction I would like to see more focus on is AI providing a useful
explanation of the decisions that are taken. AlphaGo made quite a few non-
conventional moves. They turned out to be good moves. What I would find really
interesting is if an AI like AlphaGo can not only excel at playing games
(solving problems) but also be used as a tool to gain understanding. Perhaps,
Lee Sedol will become even stronger now because his experience with AlphaGo.
Perhaps, humans will be able to learn to view the game in a slightly different
way that closes the gap between where we are and where AlphaGo appears to be?
Maybe humans will once again regain supremacy over AlphaGo? I think that would
be a much more interesting outcome than moving on to another problem space.

~~~
lsaferite
Knowing almost nothing about neural nets, is it possible for a NN based AI to
explain it's decisions in some manner that we would understand?

~~~
fennecfoxen
What you can do is see which neurons were activated by a certain event, then
figure out what other situations they are activated by and the patterns that
they match. That's won't get you a coherent explanation straight away,
especially for a very large network, but it's a start.

------
lettergram
Im glad to see work still being done on 0 A.D.

Last time I tried playing with it (over a year ago now), it was having a
memory overflow error if maps got too big.

Beyond that though, the game was pretty cool.

~~~
smhg
Was there ever a slowdown? I only recently started playing (learned about it
here).

I'm pretty impressed by its quality. Version Alpha 19 runs pretty smooth on my
Ubuntu XPS 13.

~~~
patrickbolle
only lag I get now (and other users as well) is on first game start up, and
when moving mass amounts of troops at once. totally playable though, great
game.

------
paol
Also, here is a pretty interesting discussion of the evolution of StarCraft
bots, and the current state of the art:
[https://www.rockpapershotgun.com/2016/01/28/starcraft-ai-
bot...](https://www.rockpapershotgun.com/2016/01/28/starcraft-ai-bots/)

------
akerro
Is this what you get for opensource games? People write AI enemies in their
spare time? I think it's second or third alternative AI for the game.

~~~
rubidium
People write AI's for pretty much any game where modding is possible and
there's opponents.

AOE2 had some nice ones for training with certain strategies against.

~~~
akerro
How close is modding to full access to API and source code? I'm asking because
don't know anything about it.

~~~
zamalek
Quake (idTech) is probably one of the earliest examples of a moddable game.
All that it did was load your module (DLL/SO) via a well-defined export,
passing it a structure with pointers to various important fields/functions.
The SDK shipped with a few header files (or one, can't remember) which is all
that you needed. No source code was required.

Making a moddable game doesn't require IP disclosure. All that it takes is a
bit of discipline around impersonating the 3rd-party persona (dogfooding).
It's not hard building a mod framework when compared to _sticking_ to that
framework when crunch-time hits. I'm guessing that's one of the reasons that
games these days typically lack modability - during crunch time you really
don't want developers _" wasting time"_ making sure that the API is clean and
used diligently.

~~~
egeozcan
I think that all good moddable games are already implemented as mods on top of
a flexible core.

------
jonstokes
This bot stole my name (I'm Hannibal from Ars). I bet it's coming for my job,
next.

