Giter Club home page Giter Club logo

Comments (10)

malytomas avatar malytomas commented on June 8, 2024 1

As for the movement:
moving ships is the first thing to process and will therefore always happen even if some targeted ships are destroyed afterwards.

from space-tycoon.

malytomas avatar malytomas commented on June 8, 2024 1

removing the ship from the database is not possible as that would violate foreign keys in some other tables (eg. combat reports).

i will probably add wrecks, even if they will not be used for any game mechanics.

from space-tycoon.

curusarn avatar curusarn commented on June 8, 2024

I would prefer avoiding having wrecks because then bots have to differentiate wrecks from ships that are alive. I see this as added complexity without added value.

I think it's okay when my ship stops because the target was destroyed. But it should not happen in the middle of the tick - i.e. all movements valid at the start of the tick should be evaluated even if the target dies during the tick. (Is this how the evaluation order works already in the DB?) At the end of the tick, the invalid commands should be cleared from the DB so that bots can easily see that the ship has nothing to do.

Imho cargo on destroyed ships should be lost. Being able to steal cargo would be too much motivation for attacking others and it adds more complexity to the game. Destroying the cargo is simple and it works imho.

from space-tycoon.

malytomas avatar malytomas commented on June 8, 2024

I am not sure I understand your first paragraph.

Currently, when a ship is destroyed, it is kept in the database as actual ship with zero life. Any assigned command is always removed. Its cargo is preserved and other ships (same player) can take it.
I do not like that bots have to check if their ship is alive or not, hence the question.

What I meant by wrecks is to have another type of objects (planets, ships, wrecks). Therefore bots would not have to differentiate their ships from wrecks.

In summary, I see these options:

  • keep the ship (with zero life) and its cargo (current behavior) - allows the original owner to recover the goods, but the bot has to differentiate between alive and dead ships.
  • completely remove the ship - its cargo is permanently lost and affected commands have to be addressed.
  • change the ship into a wreck, preserving ownership - cargo is preserved and can be recovered by the same player only. some commands become invalid, some are ok.
  • change ship into a wreck, removing ownership - cargo may or may not be preserved, but it would be recoverable by anybody. some commands become invalid.

from space-tycoon.

curusarn avatar curusarn commented on June 8, 2024

I am not sure I follow your first paragraph.
I didn't realize how it's currently implemented. I though that ships are currently not sent to players once destroyed so having the concept of wrecks at seemed like added complexity. Now I see that having separate wreck objects is "simpler" (for bots) than what we currently have.

I do not like that bots have to check if their ship is alive or not, hence the question.
Yeah, agreed.

completely remove the ship - its cargo is permanently lost and affected commands have to be addressed.

I think I prefer this one because it's very simple. No complexity for bots, no complexity in visualization, etc.

change ship into a wreck, removing ownership - cargo may or may not be preserved, but it would be recoverable by anybody. some commands become invalid.

I fear that this will give people too much motivation for aggressive strategies. I think that damaging others is enough reason for aggression since destroying ships (and cargo) lowers net worth of players.

change the ship into a wreck, preserving ownership - cargo is preserved and can be recovered by the same player only. some commands become invalid, some are ok.

This is also okay imho. But honestly I think I would prefer the players to spend their time writing attack/defense/trading logic instead of logic of when it is safe enough to go back and pick up cargo. But maybe the wrecks would make the game less punishing and they would add something extra. I can imagine some fun situations where wrecks would work as traps - you leave a strong ship to guard the wrecks and you kill the ships that come to pick up the cargo. Now I'm thinking that maybe having wrecks would be fun.

from space-tycoon.

malytomas avatar malytomas commented on June 8, 2024

Maybe original owners could recover wrecks with shipyards and restore them into new ships of the same class at reduced price?

from space-tycoon.

curusarn avatar curusarn commented on June 8, 2024

The more I think about this the more I like the simple solution - i.e. completely remove the ship.

If we find out that the game is too simple during testing we can add this feature later.

from space-tycoon.

malytomas avatar malytomas commented on June 8, 2024

Suggestion: add ship class 'Rogue' that can steal cargo from other ships.

from space-tycoon.

malytomas avatar malytomas commented on June 8, 2024

Further idea: leave cargo with some probability or ratio of life.

from space-tycoon.

malytomas avatar malytomas commented on June 8, 2024

Accepted solution: ships are fully destroyed. Cargo is lost.

from space-tycoon.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.