tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
114 stars 17 forks source link

[New build - DEFAULT] 22w03c: Space Battle Editor #4500

Open tsunamayo opened 2 years ago

tsunamayo commented 2 years ago

The "spawn NPC" F8 menu evolved in a full blown Space Battle editor. This is mainly to help me improve, balance and optimize space combat, but also to design larger battles to be added with faction encounters.

You will need to be flying a ship for it to work correctly.

Hotfixes:

4488 #3416 Decals are not mirrored correctly on some orientations.

4491 Rotor preview incorrect at various grid-size.

4495 #4496 Children entity can appears at the wrong place after a blueprint deletion.

Uncle-Ulty commented 2 years ago

OMG! this sounds so cool!

tsunamayo commented 2 years ago

Build is up! There is a lot of work to do to make compelling battles, but honestly it was not that bad. I already start to see some interesting variety depending on the situation, for example the Sangine Rose dont have a lot of HP, but if you get close to her and take a volley you are pretty much dead. Likewise, in case of a battle with two enemies, you can still manage well until you get trapped between both in which case you are dead.

Uncle-Ulty commented 2 years ago

I spawned 4 big ships. It's running smoothly! I'm uploading it!

Uncle-Ulty commented 2 years ago

spawning 4 ships.

When the game is loading all the ships, the CPU reaches 100%. After that everything runs ok.

https://www.youtube.com/watch?v=_pqaMuoIF9I

tsunamayo commented 2 years ago

well to be honest optimization is not really good, I have a lot of work left on beam / laser optimization, particles effect, turret tracking...

tsunamayo commented 2 years ago

Nice I will watch it. I can see already that my nb item on the list for big ship battle is the targeting system that dumbly shoot at the ship center. I should do something smarter. Could you post screenshot of the ship once destroyed? I want to improve the damage model, I am still not convinced by the current approach.

Uncle-Ulty commented 2 years ago

When the cpu runs at 100%, it stops recording...

I spawned this battle:

image 20220120225009_1

some destroyed ships:

20220120225314_1 20220120225335_1 20220120230047_1

20220120225508_1 20220120230107_1

Xerma commented 2 years ago

now we just need some epic sound effects 😄 (and maybe more audible from further away)

Horkas commented 2 years ago

Seems like the shields are not rendering in those battles if you are too far away. That is an issue, as the shields are feedback for the player that damage is being blocked/done at all. They should be fairly simple and very very low impact, so there's no reason to have the render distance so low on them.

If you can see the ship, you should be able to see the shield if shot at. (Just having the shield appear when shot at a distance is fine, but having it pulse or ripple when shot at while close would provide better player feedback.)

Rocinantus commented 2 years ago

Real shit? cant wait to try this out

SabreMania commented 2 years ago

This update is actually huge, I am not sure why there isn't already tens of dozens of replies here.

Combat editor? Work on factions and faction battles? This is what many of us, myself included, have been waiting for. There is a lot to comment about, but here are my main take-aways of this update.

Ship AIs and battles: This is getting pretty developped. Honestly? The way the ships move in the youtube video posted earlier looks like they're straight out of early Starmade. Considering the game's current state, you might think this is bad, but no, this is really good! As bad a game as it was, early Starmade was still pretty enjoyable, and it was still a game. I am really looking forward to testing this out!

Balance tests and optimization: Another huge thing we have all been looking for. Personally, I will be happy to help out with both. From previous tests alone, I have gotten several ideas to improve the balance of the game, and I can't wait to share them in different posts. Though, Ihave not had the occasion to test the game in a while, so I absolutely want to do that before anything else.

To keep it short. The game is actually starting to bloom really well. I hope we will see a basic faction system in the near future, and a basic mining system so that we can start seeing how hard it is to build a given ship. The latter is a big part of balance, and I do not think it can be ignored. It's pointless to waste countless hours balancing the game, then introducing mining values that end up making ships much harder to build than anticipated, which would shift the meta significantly.

In any case, cheers up Tsuna! You're doing great! Ignore the steam haters, the faithful community is behind you! We support you!

tsunamayo commented 2 years ago

Seems like the shields are not rendering in those battles if you are too far away. That is an issue, as the shields are feedback for the player that damage is being blocked/done at all. They should be fairly simple and very very low impact, so there's no reason to have the render distance so low on them.

If you can see the ship, you should be able to see the shield if shot at. (Just having the shield appear when shot at a distance is fine, but having it pulse or ripple when shot at while close would provide better player feedback.)

Seems like a bug indeed, I will check these out.

tsunamayo commented 2 years ago

This update is actually huge, I am not sure why there isn't already tens of dozens of replies here.

Combat editor? Work on factions and faction battles? This is what many of us, myself included, have been waiting for. There is a lot to comment about, but here are my main take-aways of this update.

Ship AIs and battles: This is getting pretty developped. Honestly? The way the ships move in the youtube video posted earlier looks like they're straight out of early Starmade. Considering the game's current state, you might think this is bad, but no, this is really good! As bad a game as it was, early Starmade was still pretty enjoyable, and it was still a game. I am really looking forward to testing this out!

Balance tests and optimization: Another huge thing we have all been looking for. Personally, I will be happy to help out with both. From previous tests alone, I have gotten several ideas to improve the balance of the game, and I can't wait to share them in different posts. Though, Ihave not had the occasion to test the game in a while, so I absolutely want to do that before anything else.

To keep it short. The game is actually starting to bloom really well. I hope we will see a basic faction system in the near future, and a basic mining system so that we can start seeing how hard it is to build a given ship. The latter is a big part of balance, and I do not think it can be ignored. It's pointless to waste countless hours balancing the game, then introducing mining values that end up making ships much harder to build than anticipated, which would shift the meta significantly.

In any case, cheers up Tsuna! You're doing great! Ignore the steam haters, the faithful community is behind you! We support you!

Thanks a lot! Yep it is not that bad given I havent spend any time at all on large ships, they will simply do the same stuff as the fighters. I need to add the collision avoidance I already did for the orbit behavior, compute a better tactical understanding of the ship turret / hardpoint so they can face their "turret side" to the enemy. I will also add more suited behavior. Do you know what other game seems to do with regard to large ship movement pattern? Lastly the goal of that tool was also to work on team mechanic, from formation flight (more for smaller ship) to potentially smarter stuff.

SabreMania commented 2 years ago

@tsunamayo "Do you know what other game seems to do that with regard to large ship movement pattern?"

I know very few. If we are talking about voxel-type builders, even less. I don't recall a single one that handles AI movement for larger starships well, but others might be able to name one.

If we expand horizons a little, then it might not be a bad idea to think outside of the box and look at non-builder space games, as long as they possess collision boxes and 3D movement.

The biggest example I have in mind is Nebulous: Fleet Command. The game isn't out yet, but the alpha testers have already released plenty of videos featuring AIs in control of larger ships. It will be in public early access next month, so you can keep a look out for it and the examples it can provide.

Unfortunately, that's about it for me. There's surely more that I simply missed. A way to do this AI behavior however might be to simply implement a statement check on a ship, to verify the category when it finishes loading the first time, and if it's above a certain class, or within a certain category range, it switches the behavior of the ship to that of a 'large ship'.

Then it's just a matter of adding a state machine that checks the distance to the nearest hostile vessel, and then makes a comparison between that distance and the range of the highest range weapons it is equipped with, with another statement calculating the effective firing range and causes the ship to stay in that given range, with say, +-50/100m. That would be very crude, but it would at least prevent 100+ meter long AI controlled vessels to not try ramming each other like they are nimble fighters.

Hope that helps!

Kaiser-Indrasil commented 2 years ago

@tsunamayo I have an idea on how you could do this. There used to be a UI element on turrets where you could check a dome of turret's movement range. Using that data, the ship could approximate the angle at which most turrets can shoot. It would be computed at the moment of saving the blueprint and hard-baked.

Then, like in Eve Online, the ship could orbit its target at an optimal range, facing it at an angle computed in the previous paragraph.

In the Homeworld games, small ships like fighters and bombers behave like their counterparts in Star Wars. They can fly forward and turn around, making attack runs in an 8-pattern. Bigger ships faced their target and stayed at an optimal range but I think Eve's orbiting works better.

In Stellaris you can pick the given ship class's attack range (ship-of-the-line / artillery / spacecraft carrier) and I think that's a cool idea if you wanted to consider adding something like this.

Uncle-Ulty commented 2 years ago

I don't know any game with huge capital spaceships, but I played the World of warships, a sea battle game. Some strategies can be applied in space... One example is the battleship movement. You always put your ship's central axis inclined to the enemy's, never on parallel. Thus, you allow all your turrets to fire, but you reduce your hittable area. And sometimes you can ricochet the bullet due to the angle between the bullet trajectory and hull's surface (this could be a good idea to reflect some shoots in Starship EVO if you hit a shield close to its tangent angle)

If it's too time-consuming to make a code to identify which starboard / larboard /dorsal/ ventral is the "attacker surface", you could add a settable configuration, so the player can indicate which one is the attack board, and what is the weak spot, that you want to protect.

image