tuomount / Open-Realms-of-Stars

4X Strategy game
GNU General Public License v2.0
134 stars 32 forks source link

Armed freighters mechanic design #726

Closed BottledByte closed 6 months ago

BottledByte commented 10 months ago

"Smaugirians" SpaceRace has special "smuggling" mechanic, where freighter Ships can be armed - without being reported as armed.

It seems to me that "smuggling" game mechanic is not based on race's physique and thus it cannot be a RaceTrait. It feels more like it is a Government thing and should be relocated there.

Maybe the Government is fine with such "low" tactics, arming civilian ships (i.e. Syndicate, Regime, Pirates, etc.)? Or the Government allows (rich) civilians/individuals to have access to ship-grade weaponry (i.e. Guild, Enterprise, etc.)?

In any case, such change would technically render whole "Smaugirians" race obsolete in terms of unique gameplay, as having secretly armed freighters is it's only "unusual property". And thus, the SpaceRace could be deleted - similar situation like with Alonians without a special start.

Also, the mechanic could use a better name :smile:

tuomount commented 10 months ago

Smaugirians got inspiration from Firefly(TV series) and Star War's Han Solo. Han Solo in many RPGs has class called Scoundrel, but that is also adjective. I would think that scoundrel could describe armed freighters mechanic a bit similarly as stealthy for built-in cloaking device. What do you think?

tuomount commented 10 months ago

That armed freighters sounds actually good description for mechanic. Currently Smaugirians also have ability to add privateer modules, but I would drop that. But adding privateer modules any ships could fit on other hand Pirates/Syndicate/Regime government.

BottledByte commented 10 months ago

I would think that scoundrel could describe armed freighters mechanic a bit similarly as stealthy for built-in cloaking device. What do you think?

I don't see an argument that would justify "Scoundrel" RaceTrait. After all, you describe that the mechanic is inspired by humans, so that means the trait would have to be shared with Humans, not only Smaugirians. Additionally, the mechanic alters ship design greatly.

Ship design should be tied to SpaceRace as loosely as possible. And it should be considered a Realm-thing (in code -> PlayerInfo).

The "Stealthy" RaceTrait mostly represents behavior of Ship's crew (like flying the ship in "low-power" mode most of the time) and should be considered edge-case/hack. Unique stealth Tech would be better solution, that is just not implemented.

"Massive size" is similar case, that is very, very "hacky", but it also maintains basic explanation tied to race's physique. Race just cannot have normal-sized Ship to travel through space. But also here, it should be better implemented with Tech system connected with RaceTraits, where "Massive size" races:

So no, I don't see "Scoundrel" RaceTrait as good idea long-term. It could be a hack until proper design is implemented, so it does not block SpaceRace dehardcoding.

Currently Smaugirians also have ability to add privateer modules, but I would drop that.

Like always, as a player, I had no idea this exists :upside_down_face: . As a programmer, who saw it in code, I agree it should be dropped. One thing less to maintain during code refactors.

But adding privateer modules any ships could fit on other hand Pirates/Syndicate/Regime government.

Agreed. But I don't see how that is different from "secret" weapons in freighters. :slightly_smiling_face:

tuomount commented 10 months ago

I don't see an argument that would justify "Scoundrel" RaceTrait. After all, you describe that the mechanic is inspired by humans, so that means the trait would have to be shared with Humans, not only Smaugirians. Additionally, the mechanic alters ship design greatly.

True, all my examples where from Humans.

Ship design should be tied to SpaceRace as loosely as possible. And it should be considered a Realm-thing (in code -> PlayerInfo).

At some point we could have biological race which would grow their own ships a bit like space monster at the moment in game. But this would be quite big change, since most of the technology needs to be changed. But this could be quite interesting.

So no, I don't see "Scoundrel" RaceTrait as good idea long-term. It could be a hack until proper design is implemented, so it does not block SpaceRace dehardcoding.

Maybe go with hack. Make RaceTrait called Armed freighters or something obvious that it needs to be changed. I would like to keep space races like this still in game.

But adding privateer modules any ships could fit on other hand Pirates/Syndicate/Regime government.

Agreed. But I don't see how that is different from "secret" weapons in freighters. 🙂

After sleeping over night, armed freighters is government thing, or maybe even ruler perk thing. So that under certain ruler, "rules" could be bend. :smile: At some point also government should have government traits so those could be also easy to edit/modify.

But for now I would go with some hack, so that Smaugirians would still be in game.

BottledByte commented 10 months ago

At some point we could have biological race which would grow their own ships a bit like space monster at the moment in game. But this would be quite big change, since most of the technology needs to be changed. But this could be quite interesting.

Again, unrelated to SpaceRace. As you wrote yourself "technology needs to be changed" - and Tech (lists) are a Realm thing. There can be a constraints for Tech based on SpaceRace, but nonetheless, Tech-related stuff is Realm stuff.

Maybe go with hack. Make RaceTrait called Armed freighters or something obvious that it needs to be changed.

OK, as there is no system to cover armed freighters mechanic design-wise as of now, let's use a "Armed Freighters" RaceTrait hack. I am not happy with that solution, though, but it at least removes one blocker for SpaceRace dehardcoding.

@tuomount I will add said "Armed Freighters" RaceTrait and submit a PR. :+1:

After sleeping over night, armed freighters is government thing, or maybe even ruler perk thing. So that under certain ruler, "rules" could be bend. 😄 At some point also government should have government traits so those could be also easy to edit/modify.

I had the similar idea for Ruler-based mechanics (like unique Ships/Buildings "in honor of Ruler"), but that would require a lot of changes code-wise as of now. Regarding "government traits", I also thought of something, that would be even dynamic during game-play. But those are out of scope of this issue. As always :smile:

tuomount commented 9 months ago

I found actually pretty easy solution for this. That armed freighter trait check was done only few places and trick was just change the ship design limitation based on government. Now ships may have weapons in freighter and if so they are technically always smuggler ships. This is allowed only if government has armed freighters flag.

tuomount commented 6 months ago

Works. Closing.