EggPlant AI ramblings

For AI and campaign script related discussions and questions
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: EggPlant AI ramblings

Post by NoQ »

* Borgs (cyborgs)
* Vehicle (stuff that relates to anything built at a normal or vtol factory)
This means alloys and thermal armor and nothing else, right?

P.S. Bombs are separated into two paths: regular bombs (Cluster and HEAP) and incendiary bombs (Phosphor, Thermite and Plasmite). Phosphor bombs require Cluster bombs and Flamers, Thermite and Plasmite require Phosphor and more late/expensive flamer upgrades. Also, Bomb upgrades require Cluster bombs and a couple of Mortar damage upgrades and apply to all sorts of bombs; first bomb upgrade leads to HEAP bombs.
User avatar
aubergine
Professional
Professional
Posts: 3462
Joined: 10 Oct 2010, 00:58

Re: EggPlant AI ramblings

Post by aubergine »

Re: Borgs/Vehicle - yes, primarily kinetic/thermal amour. But there are some interesting scenarios such as engines (affect all droids) and type of repair station, etc. I'm literally having to wade through every single piece of data about every tech, structure, droid, component and anything else to gather a full picture and work out the correct categories.

I've put the cluster bombs in the VTOL path, heap bombs in MORTAR path, and the incediary bombs in the FLAMER path based on their pre-requisites. I'm not yet sure if this is the right approach and might change it as my spreadsheet nears completion. I initially started out with a dedicated BOMB path but quickly realised that that was too simple a classification. With my current approach I will probably need some way to define what turrets (I treat bombs, sensors, etc., as turrets) can go on which propulsions - something similar to what's being discussed here: viewtopic.php?f=32&t=8927&start=15#p96058

I really wish I could get this spreadsheet finished faster so I could show everyone, but it's turned in to yet another mammoth task!
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
aubergine
Professional
Professional
Posts: 3462
Joined: 10 Oct 2010, 00:58

Re: EggPlant AI ramblings

Post by aubergine »

I've decided to upload an early preview of my spreadsheet: https://warzone.atlassian.net/wiki/disp ... preadsheet
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
JDW
Regular
Regular
Posts: 1669
Joined: 18 May 2010, 20:44

Re: EggPlant AI ramblings

Post by JDW »

How's the progress going? I used to enjoy reading this thread.
"Speak when you are angry and you will make the best speech you will ever regret."
-- Ambrose Bierce
User avatar
aubergine
Professional
Professional
Posts: 3462
Joined: 10 Oct 2010, 00:58

Re: EggPlant AI ramblings

Post by aubergine »

I'm fleshing out foundations prior to starting on the main AI project.

Currently that involves:

* Making sure I understand 100% of the JS API: https://warzone.atlassian.net/wiki/display/jsapi
* Ensuring that I can code consistently across API versions: https://warzone.atlassian.net/wiki/display/backportjs
* Trying to find a way to deal with the tech tree: https://warzone.atlassian.net/wiki/display/TechTree

The tech tree is giving me some grief at the moment. A fundamental part of EggPlant's ability to adapt is to research the right things at the right time. Currently, that's a decidedly non-trivial task:

* The findResearch() function won't be available until Warzone 3.2, and it's very difficult to backport
* There is no data structure that I can readily access to traverse the tech tree in a semantic manner (although I'm working on one)

I've tried doing my own diagram of the tech tree just to gain a better understanding of it, however I think my diagram contains a lot of incorrect dependency link between techs (or the linear tech tree is telling lies). This particular issue is a bit of a road block right now and I'm not sure how best to resolve it.

Assuming I can get my tech tree diagram accurate (based on how the tech tree works in-game) I can then resume the major project of creating an all-encompassing spreadsheet about the tech.

The plan behind this spreadsheet is that it will tell me everything I need to know in order to make dynamic decisions about what to research next.

It's based in part on some way to categorise droids and structures, currently based on propulsion (but might be better based on body). Again, there are some issues here in that .body and .propulsion properties aren't available for structures, and they are only being exposed on droid objects in Warzone 3.2 (as far as I can tell). I might be able to make a backport to mimic the properties, both for droids and structures, however that is in itself quite an intricate project (which involves tardis'ing event handlers & hooking backports in to them as well as overriding loads of native API functions with versions that inject required properties on to objects).

So, that's where things are currently up to. :)
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland

Re: EggPlant AI ramblings

Post by Emdek »

I like this approach, as such ones lead to better planned things, better design.
Of course if eventually completed. ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.
User avatar
aubergine
Professional
Professional
Posts: 3462
Joined: 10 Oct 2010, 00:58

Re: EggPlant AI ramblings

Post by aubergine »

Indeed. If it doesn't get completed then at least I will have created lots of useful things for other people to use. But I do plan on completing it, although I didn't realise at the start just how big a project this would turn in to heh.
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
Rman Virgil
Professional
Professional
Posts: 3812
Joined: 25 Sep 2006, 01:06
Location: USA

Re: EggPlant AI ramblings

Post by Rman Virgil »

Emdek wrote:I like this approach, as such ones lead to better planned things, better design.
Of course if eventually completed. ;-)
+1

Plus in the end you can more readily take risks in experimenting with alternate prototyping. The little bets, so dubbed within the creative dev culture of the hugely successful Pixar - not just their anim masterpieces but ALL the concurently engineered software and hardware.

- RV :hmm:
.
User avatar
dak180
Trained
Trained
Posts: 288
Joined: 01 Nov 2009, 23:58
Location: Keeper of the Mac Builds

Re: EggPlant AI ramblings

Post by dak180 »

aubergine wrote:I've tried doing my own diagram of the tech tree just to gain a better understanding of it, however I think my diagram contains a lot of incorrect dependency link between techs (or the linear tech tree is telling lies). This particular issue is a bit of a road block right now and I'm not sure how best to resolve it.
The guide tech tree is likely to be telling lies as it (and the rest of the guide) are several versions out of date.
User:dak180
Keeper of the Mac Builds
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: EggPlant AI ramblings

Post by NoQ »

Seriously? I think it's just up to date for 2.3.9. The latest change i remember is introduction of Sunburst, which is present.
3.1 adds gates and ... anything else?
Reg312
Regular
Regular
Posts: 681
Joined: 25 Mar 2011, 18:36

Re: EggPlant AI ramblings

Post by Reg312 »

NoQ wrote: 3.1 adds gates and ... anything else?
1. incorrect HP of structures
#3270
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: EggPlant AI ramblings

Post by NoQ »

That's not the tech tree =/
User avatar
dak180
Trained
Trained
Posts: 288
Joined: 01 Nov 2009, 23:58
Location: Keeper of the Mac Builds

Re: EggPlant AI ramblings

Post by dak180 »

NoQ wrote:Seriously? I think it's just up to date for 2.3.9. The latest change i remember is introduction of Sunburst, which is present.
3.1 adds gates and ... anything else?
Given how long ago the 2.3 and master branches diverged I make no assumptions.
User:dak180
Keeper of the Mac Builds
User avatar
aubergine
Professional
Professional
Posts: 3462
Joined: 10 Oct 2010, 00:58

Re: EggPlant AI ramblings

Post by aubergine »

Would it be possible to get a representation of the tech tree in JSON format? This would be massively useful as then simple Javascript can be used to do all kinds of processing on it.

Ideally I'd like a JSON file that not only defines the techs and their dependencies, but also details such as money/research points required, id and name of the tech, what effects it has (eg. what structure/turret/etc does it enable or what boost does it give to existing stuff).

This would remove numerous major road blocks for me, and also once we have something that can export the tech tree to JSON it will be much easier to create web guides for different versions of the game because everything can be rendered in browser, or easily processed via JS and converted to other formats.
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO
User avatar
effigy
Regular
Regular
Posts: 1217
Joined: 22 Jan 2010, 03:21

Re: EggPlant AI ramblings

Post by effigy »

NoQ wrote:Seriously? I think it's just up to date for 2.3.9. The latest change i remember is introduction of Sunburst, which is present.
3.1 adds gates and ... anything else?
I heard v2.3.6 was the last update to the guide.
This is why some features aren't implemented: http://forums.wz2100.net/viewtopic.php?f=30&t=7490&view=unread#p87241