Giter VIP home page Giter VIP logo

7drl2017's People

Contributors

break-the-silence avatar v4nz666 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

7drl2017's Issues

UI / Map Display

Layout the general look of the game window.

World is visible within line of sight in main window.
Map view shows all visited areas statically.

Pause

Escape should bring up the pause menu

Q - Quit
ESC - Back to game

Pause

Escape should bring up the pause menu

Q - Quit
ESC - Back to game

Battle

Do damage to crew, hull, and sails
Approach a ship to board / battle the captain (take the ship if you win)
Get far enough away to exit battle

Sound Effects

At least for battle mode, but ideally all throughout
Sailing:

  • Set / weigh anchor [anchor.wav]

Main City:

  • Brothel [brothel.wav]
  • Cast off from city [castoff.wav]
  • Get Gossip [gossip.wav]

Tavern:

  • hire crew [hire.wav]
  • buy a round of drinks [drinks.wav]

General store:

  • buy / sell goods [buysell.wav
  • buy / sell fail (not enough money, can't fit on ship... keep it really simple.. just like, a "Brmp" will use this throughout for failed actions) [buyfail.wav]

Shipyard:

  • Repair ship [repair.wav]
  • Buy new ship [buyship.wav]
  • Buy ammo [ammo.wav]

Battle

  • Fire cannons [cannon.wav]
  • Cannon hit [hit.wav]
  • Cannon miss [miss.wav]
  • Board ship [board.wav]
  • Sink ship [sink.wav]

Flip the ship

When bearing < 90 or > 270, the ship should face right.

News

Randomly generate News at cities.

Learn of news from captains leaving cities, or in taverns

Intro

Make the player choose a starting port.

Drop some story.

News propogation

News should spread to neighbour cities. Captains must also carry news around.

World Generation

Generate interesting landmasses surrounded by water.
Distribute Cities(#), Towns(%), and Villages(^) along coastlines.

Firing check bug

When a ship has a heading of 270, the firing cone off the port side gets truncated at 0.

City Message scroller

Lots happens in the cities, I should really add a message scroller to tell when buying/selling/hiring/repairing fails/succeeds.

Could use one in the main window, too (and likely the battle view... Might as well just extend the screen size down a ways, and use the bottom real estate.

Captain class

Player / Pirates / Passing ships

  • name
  • faction
  • skills{}:
    -- navigation
    -- gunnery
    -- charisma
    -- sword
  • x
  • y
  • morale
  • ships[]
  • flagship

Map display bug

There's a buggy section of the map (present in the log book view, unconfirmed in game view), bottom-right corner. A variable number of cells appear to be False.

Fiddly bits

Little things.

  • Show your ship's value in the Shipyard
  • Show ship type in main window

Unreachable cities

Some cities get stuck on diagonal waterways, and are inescapable/unreachable.

when path finding for city placement, leave out diagonals

Music

Get some swashbucklin music rockin:

  • Sailing theme [sailing.wav]
  • City theme (or one for each of 4 sizes of cities) [city.wav] or [city1.wav, city2.wav, city3.wav, city4.wav]
  • Battle theme [battle.wav]

Skill increase

Skills, and rep must increase.

Nav - captain's days at sea
Gun - successful battles
Charisma - maybe scrap, for rep...

Movement

Wind Speed / Direction
Ship heading control
Ship sail level control

Enter cities when reaching a port tile

Shops

Dock(exit city)
General Store (buy provisions)
Tavern (Hire crew, Buy drinks)
Consolate (Get contracts)
Shipyard (Repair ship, Buy Ammo/new ships)
Brothel (Increase morale)

TODOs

Address all TODOs

Line of Sight

Only show entities withing the player's line of sight (based on their navigation skill).

Apply fog of war over game map.

Ship Class

Properties:

  • armor
  • hull_damage
  • sail_damage
  • type
  • heading
  • anchored

Ship Types:

Type Speed Turn Guns Min Crew Max Crew Size Price
Ship o'th' Line 50 60 50 30 200 750 20000
Galleon 50 50 40 30 200 650 15000
Brig 90 70 32 25 150 550 10000
Brigantine 120 80 16 25 125 500 8000
Frigate 90 85 24 20 50 300 5000
Clipper 160 90 16 20 45 250 3000
Schooner 150 100 12 15 30 150 1000
Sloop 100 100 10 5 20 150 500
Caravel 80 100 8 5 15 100 450

Time passage

Model the passage of time.

Display current date/time.

Factions

Create Factions:

  • English
  • Dutch
  • Portuguese
  • Spanish
  • Pirate

Properties

  • name
  • cities[]
  • opinion[]

Heading reset bug

Heading and sail values are reset when leaving a port, but the ui is not refreshed.

Map Info

Show cursor (mapX, mapY) in map view. Display info about cities under cursor

Cities

Properties:

  • name
  • faction
  • type['city', 'town', 'village', 'outpost']
  • shops[] (# based on type)
  • playerRep
  • news[]

Credits

Add a credits screen at end of game, loop back to splash state

Uh... Pirates

Probably should've had a ticket for this all along. :/

Buy Ships

Player must buy a ship to start off.
If player has a ship, sell it for what it's worth.

Flow

Splash -> Menu -> generate -> play -> death/retire -> High Score -> Menu

so, need:

  • Menu
  • Death
  • Retire

Other Ship generation

Periodically generate other ships for each faction.

Regular ships start at a given city and navigate to a target city (or die along the way).
Pirates meander around a given city

Morale Decrease

Crew must eat
Crew must drink rum
Morale decreases slowly based on time at sea

AI

Other ships must have goals

  • Sail to a given city
  • Harass a given city
  • Close on a given ship

News

Periodically, generate news at each city

Captains leaving a given city, leave with the news of that city, meet them at sea to learn it, or gather it in taverns.

Engage

Pirates, when they see the player, should start pathing to the player

High Score

Create a simple REST server to store/retrieve high scores from.

Score will just be a name: score pair.

Score will be a captain's "value" at their death. Gold + value of ship + all goods + some value per crew member

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.