View Issue Details

IDProjectCategoryLast Update
0019443AI War 2Bug - GameplayJul 8, 2019 10:50 am
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Severityminor 
Status assignedResolutionopen 
Product Version0.707 
Summary0019443: Poor collision detection for Golems
DescriptionSo I have a Golem. I can fly a bunch of ships inside it, like it's not bothering to do collision detection at all. Here's a test chamber you can use to replicate it.

I had the same issue with the original Dyson Sphere, so this is not a new issue.
TagsNo tags attached.

Relationships

related to 0021035 resolvedChris_McElligottPark Bug: ships are sitting inside the armored golem. 
related to 0021240 resolvedChris_McElligottPark Decollision planning weirdness 
related to 0021318 resolvedChris_McElligottPark To Fix: AI ships (and possibly your own ships) pushing around fleet leaders. (Help wanted) 

Activities

Chris_McElligottPark

Feb 18, 2018 12:41 pm

administrator   ~0047001

Are you referring to them flying through it, or referring to them stopping inside it? The game doesn't do any collision detection for movement; neither did the first game.

BadgerBadger

Feb 18, 2018 12:43 pm

manager   ~0047002

Things can fly through the golem like it's not there. which is okay for smaller things but looks really weird for large things. Also the Golem is large enough that you can fit a dozen squads in it, so you can look at your force and think "Oh, there's the golem but where's everything else?!"

Chris_McElligottPark

Feb 18, 2018 12:48 pm

administrator   ~0047003

Keith, I think that we're going to have to add forcefield-style collision detection that can be turned on on a per-squad-type basis, based on what he's saying there. I suppose this would apply to king units, Golems, and spire units.

I had at one point been thinking of having these units drop a bit lower down as a way of preventing this from looking strange, but these are just too large for that to work, and it would cause other problems. Golems and spire and king units are rare enough that this shouldn't eat the CPU too much in the sim I assume, but I'm not thrilled if we have to go to starships and guardians of course. I guess it still wouldn't be the absolute worst thing in the world considering some of the past savegames I've seen with tons of forcefields on one planet working fine, but hopefully we can avoid going there.

BadgerBadger

Feb 18, 2018 1:03 pm

manager  

Example.xml (1,054 bytes)   
<?xml version="1.0" encoding="utf-8"?>
<root>
	<chamber name="Example">
		<!-- Note: the game will run without a Controller on the planet, but it will throw errors in various places -->
		<spawn entity="Controller" faction="AI" x="100" y="100" />
		
		<!-- Note: the game will run without an Ark on the planet, but the view will start on the galaxy map -->
		<spawn entity="HumanArk" faction="Player" x="-4000" y="100" />
		<spawn entity="Fighter_Mark1" faction="Player" x="-1400" y="100" />
                <spawn entity="Bomber_Mark1" faction="Player" x="-1400" y="100" />
                <spawn entity="ShieldGuardian_Mark1" faction="Player" x="-1400" y="100" />
		<spawn entity="ArmoredGolem" faction="Player" x="-1500" y="100" />
                <spawn entity="SpireLostFrigate" faction="Player" x="-1500" y="100" />
		<spawn entity="Fighter_Mark1" faction="AI" x="1400" y="100" />
		<spawn entity="LaserTurret_Mark1" faction="AI" x="1300" y="100" />
		<spawn entity="WarpGate" faction="AI" x="1800" y="100" />
	</chamber>
</root>
Example.xml (1,054 bytes)   

Dune

Feb 19, 2018 10:03 am

administrator   ~0047007

Added Trello card.

Chris_McElligottPark

Aug 29, 2018 8:05 pm

administrator   ~0048559

This is low priority compared to the AI behaviors and the performance stuff, Keith, but in general the third thing I'd like you to focus on is some manner of getting ships to spread out more. I don't know if we should maybe treat the biggest ships as if they are forcefields-to-everything in terms of blocking ships from running through them. That could get messy, expensive, and could lead to exploits like parking big ships on wormholes.

So something softer would be nice, but we don't have the CPU available for "graph untangling" types of spring logic that pushes and pulls ships away (not to mention that would look strange). I'm at a loss, presently, on good algorithms for handling this in an unorganized way. My main thought is that potentially a background thread could run through, process things that are moving in a similar direction in a similar area, and temporarily divert them to make them not stacked up so much. If things pass through each other, that's fine, but avoiding that bunching-up-while-moving thing would be the big winner here.

That's a whole complicated thing on its own, but it's at least theoretically tractable on the CPU.

Chris_McElligottPark

Jul 8, 2019 10:50 am

administrator   ~0052075

This will at least partly help:

* Fixed a bug that was letting small ships sit inside large ones. Mainly affecting things like Golems and Arks having other ships sitting inside them.
** The current fix is untested but should probably work.

Issue History

Date Modified Username Field Change
Feb 17, 2018 11:43 pm BadgerBadger New Issue
Feb 18, 2018 12:41 pm Chris_McElligottPark Note Added: 0047001
Feb 18, 2018 12:43 pm BadgerBadger Note Added: 0047002
Feb 18, 2018 12:44 pm Chris_McElligottPark Assigned To => keith.lamothe
Feb 18, 2018 12:44 pm Chris_McElligottPark Status new => assigned
Feb 18, 2018 12:48 pm Chris_McElligottPark Note Added: 0047003
Feb 18, 2018 1:03 pm BadgerBadger File Added: Example.xml
Feb 19, 2018 10:03 am Dune Note Added: 0047007
Aug 29, 2018 8:05 pm Chris_McElligottPark Note Added: 0048559
Apr 18, 2019 12:58 pm BadgerBadger Relationship added related to 0021035
Jul 8, 2019 10:47 am Chris_McElligottPark Assigned To keith.lamothe => Chris_McElligottPark
Jul 8, 2019 10:47 am Chris_McElligottPark Relationship added related to 0021240
Jul 8, 2019 10:47 am Chris_McElligottPark Relationship added related to 0021318
Jul 8, 2019 10:50 am Chris_McElligottPark Note Added: 0052075