Skip to content

Commit

Permalink
sector work.
Browse files Browse the repository at this point in the history
  • Loading branch information
nearwood committed Apr 10, 2016
1 parent c441e75 commit dfdb030
Show file tree
Hide file tree
Showing 22 changed files with 251 additions and 265 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build/*
20 changes: 8 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,18 @@ INCLUDE_DIRECTORIES(${JSONCPP_INCLUDE_DIRS})

#SET(INCLUDES src/.h)
SET(SOURCES src/main.cpp
src/Action.cpp
src/GameState.cpp
src/galacticcenter.cpp
src/planet.cpp
src/ring1.cpp
src/sector.cpp
src/ship.cpp
#src/Action.cpp
src/game.cpp
src/PlayerBoard.cpp
src/ring2.cpp
src/sectorlink.cpp
src/startingsector.cpp
src/GameState.cpp
src/map.cpp
#src/mainwindow.cpp
#src/planet.cpp
src/PlayerBoard.cpp
src/race.cpp
src/resource.cpp
src/ring3.cpp
src/sector.cpp
src/sectorlink.cpp
src/ship.cpp
src/shipblueprint.cpp
src/tech.cpp)

Expand Down
63 changes: 31 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,35 +5,20 @@ C++11-ish

## Overall goals
1. Game simulation 2-6 players
2. Gather statistics on best races, strategies for each race, etc.
1. Gather statistics on best races, strategies for each race, etc.

## Data Model/Flow:
JSON Races, Ships, etc.? Will better allow for add-ons
JSON Game initial state

### Search Cost
All possible player actions:
* build up to 6 or so things limited by m
* upgrade 2/6 or 3/6 ships with x number of upgrades available
* research R techs with s science
* exp 1/3 rings, with various placement around the map
* move 2/3 units anywhere possible on map
* influence x number of colones for I influence
* colonize 1-3 (decolonize as well)
* form diplomacy with x players (as boards permit)

1st approx. at 270,000,000 possible moves per action
Looks like you aren't going to be able to simulate more than a few moves, space limited?

## TODO
-1: Assigning value to actions before a round ends (where actual VP might be earned) to distinguish good actions from bad ones.
I'm guessing all actions are equal until the round ends.
0. All heap allocated stuff leaks, no deletes.
1. Assigning value to actions before a round ends (where actual VP might be earned) to distinguish good actions from bad ones. I'm guessing all actions are equal until the round ends.
1. All heap allocated stuff leaks, no deletes.
1. Limit players to one race from each side of player board
2. Alpha–beta pruning -- going to need this as there are many really stupid moves in this game
3. AI Players min/max, humanize to min/max +/- 10%, etc.
4. Adjustable AI look-ahead
5. Giant hashmap of gamestates to avoid dupes? (Dynamic programming)
1. Alpha–beta pruning -- going to need this as there are many really stupid moves in this game
1. AI Players min/max, humanize to min/max +/- 10%, etc.
1. Adjustable AI look-ahead
1. Giant hashmap of gamestates to avoid dupes? (Dynamic programming)

## Notes
* Mitigating Horizon Effect? What are important moves? System capture, player death, etc.?
Expand All @@ -47,6 +32,20 @@ Looks like you aren't going to be able to simulate more than a few moves, space
* 2-5 starting locations
* We'll say 36 more-or-less random hexes

### Search Cost
All possible player actions:
* build up to 6 or so things limited by m
* upgrade 2/6 or 3/6 ships with x number of upgrades available
* research R techs with s science
* exp 1/3 rings, with various placement around the map
* move 2/3 units anywhere possible on map
* influence x number of colones for I influence
* colonize 1-3 (decolonize as well)
* form diplomacy with x players (as boards permit)

1st approx. at 270,000,000 possible moves per action
Looks like you aren't going to be able to simulate more than a few moves, space limited?

### each player can do actions:
* build, upgrade, research, explore, move, influence, colonize, diplomacy
* can build as minerals allow, 5 types of ships, orbital, monolith (if available)
Expand All @@ -58,16 +57,16 @@ Looks like you aren't going to be able to simulate more than a few moves, space
* pass, then do limited reactions (upgrade, build, move)

## Plan of Attack
- Do nothing and pass
- Upkeep
- Colonize home system, do upkeep (no vp)
- Explore action, choose sector (ship/disc adjacent), choose location, and orientation (wormholes must align) tiles (no vp)
- Colonize non-combat discovered sectors (first vp)
- Build ships/orbitals/monoliths
- Combat (huge)
- Research tech (huge)
- Upgrade (huge)
- etc.
1. Do nothing and pass
1. Upkeep
1. Colonize home system, do upkeep (no vp)
1. Explore action, choose sector (ship/disc adjacent), choose location, and orientation (wormholes must align) tiles (no vp)
1. Colonize non-combat discovered sectors (first vp)
1. Build ships/orbitals/monoliths
1. Combat (huge)
1. Research tech (huge)
1. Upgrade (huge)
1. etc.

http://doc.qt.io/qt-5/cmake-manual.html

Expand Down
1 change: 1 addition & 0 deletions data/races.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,5 @@
"trade": 3,
"storage": [3, 3, 3],
"sector": 230
}
]}
Loading

0 comments on commit dfdb030

Please sign in to comment.