Superior AI without actually writing AI

Talk about anything not related to Transcendence.
JohnBWatson
Fleet Officer
Fleet Officer
Posts: 1452
Joined: Tue Aug 19, 2014 10:17 pm

Fair enough. Might as well get something working before we try anything complicated.
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

For AI, i vote Python. Its used in robotics, why not here? But how to get AI which evolves with the player?
(goes in deep thinking)
(time passes)
(goes in hibernation)
FourFire
Militia Captain
Militia Captain
Posts: 567
Joined: Sun Aug 12, 2012 5:56 pm

Simple fitness function:
(Damage Done/Time) / (Damage Taken/Time)

More advanced refinements:
Death means <1 multiplier of the total score, say 0.8.
Average distance to target, should be within 1.5x the max range of the given ship's main weapon, you could have a sliding negative multiplier, from 0.9 at >1.5x distance, to 0.1 at 15x distance. this should cull NNs which kite too ineffectively (and as a result don't manage to kill their opponent, ever)

Can we measure/save total shield damage + total armor damage using onweaponfire eventlogging?
(func(Admin Response)= true){
if(admin func(amiable) = true)
Create func(Helpful Posts)
else func(Keep Calm and Post derisive topics)}
User avatar
Atarlost
Fleet Admiral
Fleet Admiral
Posts: 2391
Joined: Tue Aug 26, 2008 12:02 am

TheLoneWolf wrote:For AI, i vote Python. Its used in robotics, why not here? But how to get AI which evolves with the player?
(goes in deep thinking)
(time passes)
(goes in hibernation)
Python is not an AI. It's a language. George already has a language. A compiled language at that since the engine needs to run scores of AIs thirty times a second on a single thread. The problem is the lack of a good algorithm. Python does nothing to make constructing a good AI algorithm easier.

To get an AI which evolves use a neural net. Which will be written in C++ like the rest of the game engine and pull weights from XML like the rest of the game media. Real Time evolving AI may one day be possible using the multiverse to collect data and push out new weights, but that would be a long distant extension of the neural net/genetic algorithm solution JohnBWatson and I are discussing using as a batch process to get a better static AI.

This is already a pie in the sky idea. When we have a concrete proposal we can move it to the ideas forum, but unless something changed that I wasn't aware of Transcendence is nearly impossible to compile due to dependency on a directX library only available with a very old version of MSVC. AFAIK no one other than George that is still active in the community has ever succeeded in compiling Transcendence. I took C++ in high school. I might barely be able to implement a neural net with a language reference in my lap and a lot of help from google. I might even be able to turn the intro screen into a thin simulator for neural net competition if I was very optimistic. There's no way I could get around the compiler issues. I'm too ADD to learn something like directX at this point in life.
Literally is the new Figuratively
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

Python is a programming language. That i know. It is used in robotics for AI. My friend's brother programmed a simple line following robot's AI using python and said that python is the easiest language to program AI with. I was thinking of a possibility of scripting AI in python, if the transcendence engine accepts it. Im learning C++. Lets see what i can do then. I have heard that programming AI is really tough.
Isnt George's language called transLISP?
User avatar
sun1404
Militia Captain
Militia Captain
Posts: 527
Joined: Thu Nov 03, 2011 10:32 am
Location: Heretic. (Finally!)

Python is easy for small-scale scripts. For complex programs, object-oriented languages like C++ are better. Transcendence engine was written in C++, so any addition would be most easily made in C++. Writing something in C++ isn't really much harder than in Python, provided you're already familiar with the language.

TransLISP is a language george written for use in scripting Transcendence. It's used everywhere except in the core engine, intermingled with XML. The engine itself compiles TransLISP, I believe.
Yes, look at my avatar, I have a wyvera type ship.
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

I want to mod transcendence and for that i need to learn transLISP right? Where can i learn it?
User avatar
AssumedPseudonym
Fleet Officer
Fleet Officer
Posts: 1190
Joined: Thu Aug 29, 2013 5:18 am
Location: On the other side of the screen.

 There’s no tutorial for it, unfortunately. Your best bet is to decompile Transcendence.tdb and go source-diving through mods, and go through the function list posted in the Modding Reference subforum here to see what functions require what arguments. There’s a list on Xelerus, too. It’s a bit outdated, but it has examples for a lot of functions that can be invaluable for learning the language. If you get stumped on something, you can always ask someone here on the forums or drop by IRC and talk to us over there. We’ll try to get you pointed in the right direction.
Image

Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)

My mods on Xelerus: Click here!

Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)
User avatar
TheLoneWolf
Militia Captain
Militia Captain
Posts: 802
Joined: Thu Nov 28, 2013 5:03 pm
Location: Aboard the CSS Radiant

Ok! Thanks for help mate! Will try getting on IRC next month. Internet troubles. Sigh.,
Post Reply