Coder Social home page Coder Social logo

depths's Issues

Use more domain-specific type than Maybe

https://github.com/seagreen/fpg-depths/blob/master/src/Building.elm#L10

Using Maybe can sometimes hide the domain meaning. Perhaps what you really have is something along the lines of

type BuildingCombatType
    = NotCombat
    | Combat { firepower : Int, sensors : Int }

(those names are bad, but perhaps better than using Maybe)

Or even move this up a ways, so you have a type alias for building stats, one for combat stats, then each building is something like

type Building
    = NonCombat BuildingData
    | Combat BuildingData CombatStats

Just a thought.

Game changes

  • Reduce the initial games choices to (1) attack, (2), defend, (3) expand. Currently we have "expand" broken up into two paths expand outward with colony subs and expand inward with a Factory. This is really hard to balance and shouldn't be an initial option.

  • Cap the amount of buildings at each habitat, probably at 3 (not counting the PrefabHabitat which will probably be removed).

  • Rework both units and buildings.

  • Add hull to ships and give weapons two stats, one for chance of hitting and one for damage.

  • Allow having multiple weapons and sensors on the same ship.

  • Change stealth to evasion and have it rolled each time a ship is hit to try to dodge it (we might bring back stealth later).

  • Show the location of all enemy habitats.

  • If you have a ship at an enemy habitat, show all buildings there.

Get client up to date with the latest server

The flow should now be:

  • On startup, send a subscribe message.
    { "type": "subscribe", "topic": <room> }
    
  • Continue as before with payload messages.
    { "type": "message", "topic": <room>, "payload": <payload> }
    
    The server will forward payload messages whose topic exactly matches any previously subscribed string, without the type tag. They look like:
    { "topic": <room>, "payload": <payload> }
    

Fill out mechanics

  • Building descriptions
  • Describe what population does
  • Scrollable map
  • Switch to 'Left click selects' / 'Right click moves'
  • Vary what enemies appear, increase them in strength over time.

Design principles

  • You should be able to reflect on your decisions without respect to your opponent. -- @mitchellwrosen

    (This is in the context of making it beginner friendly, so you don't lose if you don't tech up at the exact right time.)

  • Beginners, if they don't know what the opponent's doing, will always turtle. -- @mitchellwrosen

Observer mode

Players who join after the first two should be treated as observers

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.