Author Topic: AI War II: Design Document First Unveiling Is Now!  (Read 38669 times)

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #15 on: September 03, 2016, 01:07:04 am »
The difference is that there's no player UI to do that stuff manually.  Yes, a riot control starship can still have a shield and it can still get destroyed and rebuilt, but you don't get to choose whether or not it has one: that's defined by the XML (which you could edit, but not at runtime).

Offline kasnavada

  • Hero Member Mark II
  • *****
  • Posts: 986
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #16 on: September 03, 2016, 01:24:34 am »
So, if I've got a Multipart ship, and I destroy one of its guns and add a shield generator feature to it during gameplay
If I follow correctly, the difference is that you can't do that!

The text I quoted seems to say that you can; hence my confusion.

From what I've seen and what the document says, it seems to be a technical limitation of AI war.  The "object", or "model" that handles "ships" in AI war can only handle one type of "attack". When they made modular ship, in game, it was "modelled" as one ship that moved... and one ships for all "turrets". And basically all things in the game, from buildings to turrets to shields to ships themselves, was a "ship" as far as the game model was concerned.

Now, a single object will be able to handle subsystems on its own.
That single object will be modifiable from mods, not in-game.

That would therefore enable the player to create any modular ship "set-up" he wants, in a mod.

@About squads... another thing that isn't considered in the document is that moving in formation, collision, having formations collide in realistic ways would also require a lot of work. The code to handle thousands of ships already exist in AI war I. The code to handle squads ?
« Last Edit: September 03, 2016, 01:27:05 am by kasnavada »

Offline Elestan

  • Full Member Mark II
  • ***
  • Posts: 158
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #17 on: September 03, 2016, 01:45:28 am »
The difference is that there's no player UI to do that stuff manually.  Yes, a riot control starship can still have a shield and it can still get destroyed and rebuilt, but you don't get to choose whether or not it has one: that's defined by the XML (which you could edit, but not at runtime).

I'm trying to figure out what "during gameplay" means here:

Quote
Thanks to the EntitySystem infrastructure, any ship can have any number of guns, abilities, or other features on them.  These can be destroyed or added during gameplay if required, and disabled temporarily.

Does that mean that if you edit the XML, the game will pick up the changes live?

In any case, it's sounding like I and my friends are going to be losing one of my favorite features; the modular ships are our favorite ones to use, precisely because of their runtime reconfigurability.  Essentially, we're direct counterexamples to this statement:

Quote
Modular ships themselves are not desirable, because configuring them is a pain.

We like configuring the modular ships, tinkering and rebuilding them to optimize them for whatever our current situation is.  Yes, the UI is fiddly, but that's an issue with the UI implementation, not with the underlying concept.  Designing ships outside the game doesn't scratch this itch, because it's the in-game adaptability itself that we like.

I will say that upon reflection, I probably wouldn't want every ship to be reconfigurable.  But we really like having the Champion ships and at least a handful of others.  Perhaps we're just in the minority on this, though opinion on the topic seemed split to me.  I could also readily believe that implementing an AI that can design and use modular ships effectively is not a small task, and perhaps that's also a factor here.  That's easily solved, though:  Make the modular ships Human-exclusive.  :-)

Offline Cinth

  • Core Member Mark II
  • *****
  • Posts: 2,527
  • Resident Zombie
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #18 on: September 03, 2016, 01:51:28 am »
Think more in terms of how Starward Rogue handles weapons.  That system can be further modified (in code) to allow us to pick and choose what weapons go in those slots.  Modular ships in a sense aren't going away.  How the game displays that to us is.

Of course, this is how I interpreted that section of the design doc.
Quote from: keith.lamothe
Opened your save. My computer wept. Switched to the ST planet and ship icons filled my screen, so I zoomed out. Game told me that it _was_ totally zoomed out. You could seriously walk from one end of the inner grav well to the other without getting your feet cold.

Offline PokerChen

  • Hero Member Mark III
  • *****
  • Posts: 1,088
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #19 on: September 03, 2016, 02:41:07 am »
Responses to some sections:
1.a.iv. Matchmaking and/or NAT Punchthrough
The scope and length of AI War really makes the playing community behave not like RTSes but like online ARPGs, where most people are doing their own thing in their own instances, but would still like to socialise and have the opportunity to get together. Therefore, I suggest you should consider making something analogous and call it a Lobby or Global Chat, to sit apart from Steam Overlay - essentially IRC global/party channels that players currently playing can choose to join, as well as players who are not currently playing. Forcing a matchmaking model is too high-risk, and more importantly removes the engagement of people who are currently playing.

1.d.vi. Animation
Yes please, especially with squad-based implementations and multi-part ships. Not demanding for bloom when battleships fire their beams per se, but you'll need lively units to draw in the broader crowds.

1.e.iii. Specific Areas Of Moddability
I believe the phrases "modders can create new AI-Types" and "modders cannot create completely new AI-Logic" are fundamentally contradictory. Classic's definition of AI-Types is incorrect here and easily leads to wrong assumptions as you've tried to clarify. What we were changing in Classic is the assets and materiel that the AIs have, and how much they prefer pursuing precoded tactic X. Suggest more neutral terms like "AI Personalities" to frame them in the same league as the "Human leaders" feature.

2.c. Multi-Part, But Not Modular, Ships
 There are definitely still many people who like changing their ship loadouts in-game. In particular, flag-ship units like Battleships and Neinzul Combat Carriers can be made to specialise their loadout, which would strongly benefit players having flexibility.
 Are you willing to consider making an interface pre-1.0, if we can successfuly "lobby" this issue? Whether this interface sits within the game or as a separate executable entitled "Ship Editor", is less of an immediate issue. However, I would clearly like a way to make, share and download designs efficiently, in a way that I switch between vanilla, my stuff, and arbitra mod. This touches on the ability to make mod-packs.

 Using this, we can at least pre-generate major variants before the game, if not within the game itself.

2.a. Squads of Units
Homeworld 2, and Dawn of War. Easy. Note that meaningful squad numbers here range between 3 (HW2 scouts) and 12 (Orks). Advise try not to go beyond this unless it's drone warms (24, Homeworld 1 Drone frigate).


Offline Cinth

  • Core Member Mark II
  • *****
  • Posts: 2,527
  • Resident Zombie
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #20 on: September 03, 2016, 03:29:08 am »
Responses to some sections:

1.e.iii. Specific Areas Of Moddability
I believe the phrases "modders can create new AI-Types" and "modders cannot create completely new AI-Logic" are fundamentally contradictory. Classic's definition of AI-Types is incorrect here and easily leads to wrong assumptions as you've tried to clarify. What we were changing in Classic is the assets and materiel that the AIs have, and how much they prefer pursuing precoded tactic X. Suggest more neutral terms like "AI Personalities" to frame them in the same league as the "Human leaders" feature.

2.c. Multi-Part, But Not Modular, Ships
 There are definitely still many people who like changing their ship loadouts in-game. In particular, flag-ship units like Battleships and Neinzul Combat Carriers can be made to specialise their loadout, which would strongly benefit players having flexibility.
 Are you willing to consider making an interface pre-1.0, if we can successfuly "lobby" this issue? Whether this interface sits within the game or as a separate executable entitled "Ship Editor", is less of an immediate issue. However, I would clearly like a way to make, share and download designs efficiently, in a way that I switch between vanilla, my stuff, and arbitra mod. This touches on the ability to make mod-packs.

 Using this, we can at least pre-generate major variants before the game, if not within the game itself.

2.a. Squads of Units
Homeworld 2, and Dawn of War. Easy. Note that meaningful squad numbers here range between 3 (HW2 scouts) and 12 (Orks). Advise try not to go beyond this unless it's drone warms (24, Homeworld 1 Drone frigate).

Going to give my take.

1.  As far as AI Type and AI Logic, think more like assigning a behavior to an enemy unit in Starward Rogue.  There are lots of behaviors to choose from, but you can't create more.  You can mix and match to create new Types of AI.

2.  I'd be willing to bet it would be a simple in game way to assign stuff to multipart ships from the main view.  I'd almost think like putting modules on a champ from the main screen rather than the design window.

2.a.  That's probably a safe guess on the squads.  I'd assume here that this will be a second way to abstract unit caps.
Quote from: keith.lamothe
Opened your save. My computer wept. Switched to the ST planet and ship icons filled my screen, so I zoomed out. Game told me that it _was_ totally zoomed out. You could seriously walk from one end of the inner grav well to the other without getting your feet cold.

Offline Pumpkin

  • Hero Member Mark III
  • *****
  • Posts: 1,201
  • Neinzul Gardener Enclave
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #21 on: September 03, 2016, 03:38:46 am »
Woa. So we're far from "just remake the engine, don't touche the design". Faaar-far-far.

 ???
 :-\
 :D :D :D
Nice.
Please excuse my english: I'm not a native speaker. Don't hesitate to correct me.

Offline Tridus

  • Master Member
  • *****
  • Posts: 1,305
  • I'm going to do what I do best: lecture her!
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #22 on: September 03, 2016, 09:49:07 am »
At the moment, everything in here sounds good. I'm pretty excited about the huge performance gains from squads, given some of my games get wildly out of hand with ship counts (and Dyson Gatlings, and Botnet Zombies, and anti-FS exos, and the AI going nuts from the SuperTerminal...) and the lag becomes noticable.

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #23 on: September 03, 2016, 11:34:43 am »
Quote
Thanks to the EntitySystem infrastructure, any ship can have any number of guns, abilities, or other features on them.  These can be destroyed or added during gameplay if required, and disabled temporarily.

Does that mean that if you edit the XML, the game will pick up the changes live?

No:

(which you could edit, but not at runtime).

Offline Cyborg

  • Master Member Mark III
  • *****
  • Posts: 1,957
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #24 on: September 03, 2016, 12:55:34 pm »
It's getting hard to keep up with this forum! There are so many threads, and I do work all day, so I'm trying to keep up with everything that's going on. It is moving fast, lots of excitement, lots of ideas being thrown around.

I read the complete design document (so far).

I am so excited for this game. I can't think of another game I would rather play or that is more exciting than the design document I just read. We are getting AI War but.. I don't think we have ever seen a war like this. It's strategy, it's action, it's written to be a smart game but with all the exploding space sugar on top.

I have some questions if you have time. Some of them are just curiosity and some are "passionate AI war questions."

#1 Why is 3-D faster than 2-D?
I don't understand how it's faster to compute polygons than position a sprite. Not saying I don't believe you, just wanting to know why.

Passionate AI war questions using the numbers from the design document:

1.F.iii. What happens during a corrupted status file?

During AI war classic, you could fix a files when there was a bug or for other reasons. How do we fix problems here? Maybe a post release question and not for 1.0.

Your statement of purpose:
1) Great. Perfect. We like smart games.
2) Also great.
3) Hopefully the planet cracker stays? Spire? Hybrids? And I like the neinzul. Golems. The trader. Devourer. And the avenger. And showtime. And cross planet attacks. Where do we write all of the things we care about? I thought there was a thread for that… looking…

2.a. Squads of units
I'm on board. I think this is smart. You will need to fiddle with the animations or the graphics to give them a unique look in the squads so they all don't look like the same triangle rubberstamped side-by-side.

2.a.ii. The animation data for the squads would be better if it was randomized or if you computed a random pattern and used it later. Anything that is player recognizable as a pattern is not as desirable.


2.h. Replacement of AI progress
I'm on board. I think your reasoning is sound. You're not talking about removing consequences, or fun AI reactions to how we play, so I don't think we should be worried. I think this sounds like we could get more intelligent, nuanced AI.

Some of your math, it feels very informal because you change the numbers, for example some example 9999 or something. It doesn't really matter, I think you have the general math correct, but for a reader following along, if you want us to understand the math more easily, sticking with one set of numbers and going in order is great.

Kahuna strategy guide:
http://www.arcengames.com/forums/index.php/topic,13369.0.html

Suggestions, bugs? Don't be lazy, give back:
http://www.arcengames.com/mantisbt/

Planetcracker. Believe it.

The stigma of hunger. http://wayw.re/Vi12BK

Offline Cyborg

  • Master Member Mark III
  • *****
  • Posts: 1,957
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #25 on: September 03, 2016, 01:10:36 pm »
Would someone please point me to the "stuff I care about" document?
Kahuna strategy guide:
http://www.arcengames.com/forums/index.php/topic,13369.0.html

Suggestions, bugs? Don't be lazy, give back:
http://www.arcengames.com/mantisbt/

Planetcracker. Believe it.

The stigma of hunger. http://wayw.re/Vi12BK

Offline Aklyon

  • Core Member
  • *****
  • Posts: 2,089
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #26 on: September 03, 2016, 01:15:00 pm »
I haven't finished reading the whole thing yet. But from what I understand of what I've read of the technical bits, ti sounds like we might not have inevitably-slower-as-it-progresses multiplayer games anymore? Cool.

It's getting hard to keep up with this forum! There are so many threads, so I'm trying to keep up with everything that's going on. It is moving fast, lots of excitement, lots of ideas being thrown around.
It really is quite busy!

Therefore, I suggest you should consider making something analogous and call it a Lobby or Global Chat, to sit apart from Steam Overlay - essentially IRC global/party channels that players currently playing can choose to join, as well as players who are not currently playing. Forcing a matchmaking model is too high-risk, and more importantly removes the engagement of people who are currently playing.
Star Ruler 2 does this with an IRC channel, if chris wants an example of this. You can open it up and it'll connect, and you can hide it in its own little tab-button-thing on a side of the screen when you aren't looking at it. Entirely ingame.

Editborg: http://www.arcengames.com/forums/index.php/topic,18997.0.html Here you go.

Offline Draco18s

  • Resident Velociraptor
  • Core Member Mark V
  • *****
  • Posts: 4,251
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #27 on: September 03, 2016, 01:19:01 pm »
Quote
#1 Why is 3-D faster than 2-D?
I don't understand how it's faster to compute polygons than position a sprite. Not saying I don't believe you, just wanting to know why.

Unity is weird in some places, and it has to do with--in this case--sending textures from RAM to VRAM across the bus.  What Chris is talking about is removing textures entirely (using only "flat" colored polygons) which involves sending only a handful of floats from RAM to VRAM--(x, y, z, r, g, b)--which would have to get sent anyway, plus a texture.

The slowdown comes from having to switch textures. Aka what is also referred to as "batching" or "draw call" (the three things are all related: one draw call is the best because it means everything is drawn on screen all at once, batching "groups" objects to reduce the number of draw calls, and "unique texture" causes more draw calls).*

Ostensibly it sounds like this would create much more basic looking units (there's only "so much" you can do without a texture) but I look forward to seeing what he plans on doing so that the visual fidelity we're used to doesn't disappear.

*Extra details:
Spoiler for Hiden:
For point of reference, for mobile games you want as close to 1 call as you can get, ideally under 5: "skybox, opaque, transparent, UI" whereas PC games tend to be fine until you get past about 200 draw calls plus or minus based on how powerful the computer is and what your "goal" is.

There's two kinds of batching: static and dynamic.

Static is defined before compiling.  These objects are "merged" to create one massive, unchanging, static object that is very fast to draw and compute hidden geometry (occlusion).

Dynamic is done at runtime, finding all objects that share the same properties that can all be rendered in one go.  For a sprite based game, this is "every unit with the same texture."  For a sprite sheet game, this is "all objects using the same sprite sheet."  There's a few other things that break batching, as well, but general case, think of it as "anything that has a different texture file applied to it."

This is why "realtime dynamic shadows" are such a hot thing to see in games: every dynamic light creates a texture at runtime that is then applied to geometry, called a Lightmap.  Every additional dynamic light doubles the number of lightmaps and the number of draw calls.  That's why most dynamic shadows are very low quality (keeps the resulting texture size small and speeds up the additional draw calls) and only so many dynamic lights are rendered at a given time (capping out usually at about 4).

Offline Tridus

  • Master Member
  • *****
  • Posts: 1,305
  • I'm going to do what I do best: lecture her!
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #28 on: September 03, 2016, 01:22:07 pm »

Offline tadrinth

  • Hero Member
  • *****
  • Posts: 507
Re: AI War II: Design Document First Unveiling Is Now!
« Reply #29 on: September 03, 2016, 01:40:44 pm »
On modules:

Currently, when you kit out a champion, you do it in the game. If I read the design doc correctly, with the multipart ship system, the plan is to allow a particular ship to have different variants, like the preset Riot Control loadouts, or like the different Champion racial hull types. You can design as many variants as you want in the XML.  Then, in game, you can build whichever variant you want, and presumably there will be a way to switch to a different variant without having to scrap and rebuild.

That does mean you can't encounter a situation, and immediately in-game go come up with the perfect combination of modules for that situation and swap to it. I think you'd have to save, exit, make a new variant in XML, then load your save and switch to the new variant.  You could even rebuild the current module editor interface as a standalone app to make it easy to make new balanced variants by appending them to the existing definitions in the XML.