Skip to content

Commit

Permalink
finishing up initial construction logic, fixing planes
Browse files Browse the repository at this point in the history
finishing up initial platform and base game logic for construction and
map placement, including initial events and stage transition

also fixing up plane rendering and few other bugs
  • Loading branch information
rwampler committed Jan 13, 2019
1 parent 21926c8 commit 004e5df
Show file tree
Hide file tree
Showing 28 changed files with 430 additions and 3,150 deletions.
47 changes: 47 additions & 0 deletions RELEASE-archive.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,51 @@

## v0.3.0 - updated 2019-01-13
### platform
* [done] improved building rendering around edges [v0.2.1]
* [done] improved z-order rendering across layers [v0.2.2]
* [done] fix broken z-order rendering for buildings, trees, tree concrete, and platforms [v0.2.7]
* [done] sprite layer render refactor and fixes, caching optimizations [v0.2.7]
* [done] initial dynamic layout support (desktop, mobile) [v0.2.8]
* [done] input interaction support for buildings (selection, rendering) [v0.2.10]
* [done] internal options simplification and refactoring [v0.2.12]
* [done] improve client UI grid layout and game menu components [v0.2.12]
* [done] improve game state workflow and initial API integration (mock) [v0.2.12]
* [done] major internal refactor and reorganization of state handling (metadata, game data, player data) [v0.2.12]

### assets
* [done] improved gameplay documentation [v0.2.4]
* [done] improved asset versioning [v0.2.4]
* [done] plane assets [v0.2.4]
* [done] effects assets and building metadata [v0.2.5]
* [done] concrete and platform assets [v0.2.6]
* [done] road and bridge assets [v0.2.7]
* [done] game background music [v0.2.8]
* [done] formal asset versioning [v0.2.9]
* [done] building asset interaction hitboxes [v0.2.10]
* [done] refactor seal asset organization, integrate more game metadata [v0.2.12]
* [done] invention metadata and taxonomy [v0.2.12]
* [done] initial language translation support [v0.2.12]
* [done] client static news and updates info widget [v0.2.12]
* [done] initial building construction metadata (industry, warehouse) [v0.3.0]

### gameplay
* [done] persist client options in localStorage [v0.2.3]
* [done] improve building animation tying render frame to game clock [v0.2.3]
* [done] plane rendering [v0.2.4]
* [done] rendering options support [v0.2.5]
* [done] building footprint layer rendering [v0.2.5]
* [done] building effect layer rendering [v0.2.5]
* [done] improve tree layer rendering [v0.2.6]
* [done] concrete and platform rendering [v0.2.6]
* [done] road rendering [v0.2.7]
* [done] game music controls [v0.2.8]
* [done] bridge rendering [v0.2.9]
* [done] improve concrete rendering (edges, roads) [v0.2.9]
* [done] mini-map rendering [v0.2.11]
* [done] basic map favorites integration [v0.2.12]
* [done] basic research and development UI and menu support [v0.2.12]
* [done] building construction menu and interaction support [v0.3.0]

## v0.2.0 - 2018-07-06
### platform
* [done] build and package framework migrating to nuxtjs
Expand Down
73 changes: 32 additions & 41 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,38 @@

## v0.3 - in progress - updated 2019-01-05
## v0.4 - in progress - updated 2019-01-13
### platform
* [done] improved building rendering around edges [v0.2.1]
* [done] improved z-order rendering across layers [v0.2.2]
* [done] fix broken z-order rendering for buildings, trees, tree concrete, and platforms [v0.2.7]
* [done] sprite layer render refactor and fixes, caching optimizations [v0.2.7]
* [done] initial dynamic layout support (desktop, mobile) [v0.2.8]
* [done] input interaction support for buildings (selection, rendering) [v0.2.10]
* [done] internal options simplification and refactoring [v0.2.12]
* [done] improve client UI grid layout and game menu components [v0.2.12]
* [done] improve game state workflow and initial API integration (mock) [v0.2.12]
* [done] major internal refactor and reorganization of state handling (metadata, game data, player data) [v0.2.12]
* [pending] document metadata and gameplay resources
* [pending] document API integration (tycoon info, building data and construction, events, inventions, mail)
* [pending] manage corporation and company mock API's
* [pending] manage mail API integration (mock)
* [pending] search and rankings API integration (mock)
* [pending] system messages and basic error messages

### assets
* [done] improved gameplay documentation [v0.2.4]
* [done] improved asset versioning [v0.2.4]
* [done] plane assets [v0.2.4]
* [done] effects assets and building metadata [v0.2.5]
* [done] concrete and platform assets [v0.2.6]
* [done] road and bridge assets [v0.2.7]
* [done] game background music [v0.2.8]
* [done] formal asset versioning [v0.2.9]
* [done] building asset interaction hitboxes [v0.2.10]
* [done] refactor seal asset organization, integrate more game metadata [v0.2.12]
* [done] invention metadata and taxonomy [v0.2.12]
* [done] initial language translation support [v0.2.12]
* [done] client static news and updates info widget [v0.2.12]
* [done] initial building construction metadata (industry, warehouse) [v0.3.0]
* [pending] initial building construction metadata (commerce, civics, headquarters, government)
* [pending] formal building stage metadata (timber, movies, farms)
* [pending] building requirements for research per seal
* [pending] finish language translation for assets
* [pending] car assets
* [pending] street light and intersection lamp assets

### gameplay
* [done] persist client options in localStorage [v0.2.3]
* [done] improve building animation tying render frame to game clock [v0.2.3]
* [done] plane rendering [v0.2.4]
* [done] rendering options support [v0.2.5]
* [done] building footprint layer rendering [v0.2.5]
* [done] building effect layer rendering [v0.2.5]
* [done] improve tree layer rendering [v0.2.6]
* [done] concrete and platform rendering [v0.2.6]
* [done] road rendering [v0.2.7]
* [done] game music controls [v0.2.8]
* [done] bridge rendering [v0.2.9]
* [done] improve concrete rendering (edges, roads) [v0.2.9]
* [done] mini-map rendering [v0.2.11]
* [done] basic map favorites integration [v0.2.12]
* [done] basic research and development UI and menu support [v0.2.12]
* [in progress] building construction menu and interaction support [v0.3.0]
* [pending] update UI and menus for better concept of galaxies
* [pending] tycoon search menu
* [pending] tycoon and industry rankings menu
* [pending] corporation and company formation menus
* [pending] client language translations and menu option
* [pending] car rendering
* [pending] street light and intersection lamp rendering
* [pending] road construction, improved orientation metadata
* [pending] road proximity building construction rules
* [pending] waterquest and water building construction rules
* [pending] onscreen building text rendering on selection
* [pending] building selection rendering effects (container box, negative-income tinting)
* [pending] building stage support (timber, movies, farms)
* [pending] limit research unless constructed required buildings
* [pending] footer menu company support (add, scroll)
* [pending] city detection from current camera
* [pending] city-specific ribbon ticker updates
* [pending] world events and news ticker integration
* [pending] menu filter widget (bookmarks, research, construction)
36 changes: 0 additions & 36 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,6 @@
# Future Roadmap
Some of the tentative future features and rough planned version are outlined below:

## v0.4
### platform
* [pending] document metadata and gameplay resources
* [pending] document API integration (tycoon info, building data and construction, events, inventions, mail)
* [pending] manage corporation and company mock API's
* [pending] manage mail API integration (mock)
* [pending] search and rankings API integration (mock)

### assets
* [pending] initial building construction metadata (commerce, civics, headquarters, government)
* [pending] formal building stage metadata (timber, movies, farms)
* [pending] finish language translation for assets
* [pending] car assets
* [pending] street light and intersection lamp assets

### gameplay
* [pending] update UI and menus for better concept of galaxies
* [pending] tycoon search menu
* [pending] tycoon and industry rankings menu
* [pending] corporation and company formation menus
* [pending] client language translations and menu option
* [pending] car rendering
* [pending] street light and intersection lamp rendering
* [pending] road construction, improved orientation metadata
* [pending] road proximity building construction rules
* [pending] waterquest and water building construction rules
* [pending] onscreen building text rendering on selection
* [pending] building selection rendering effects (container box, negative-income tinting)
* [pending] building stage support (timber, movies, farms)
* [pending] footer menu company support (add, scroll)
* [pending] city detection from current camera
* [pending] city-specific ribbon ticker updates
* [pending] world events and news ticker integration
* [pending] menu filter widget (bookmarks, research, construction)


## v0.5
### platform
* [pending] API authentication
Expand Down
2 changes: 1 addition & 1 deletion components/footer/toolbar-corporation.vue
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ export default
corporation_cashflow: -> if @is_ready && @corporation_metadata?.cashflow? then @corporation_metadata.cashflow else 0
methods:
building_count_for_company_id: (company_id) -> (@client_state.corporation.buildings_metadata_by_company_id?[company_id] || []).length
building_count_for_company_id: (company_id) -> (@client_state.corporation.buildings_ids_by_company_id?[company_id] || []).length
is_selected: (company_id) -> @client_state.player.company_id == company_id
select_company: (company_id) -> @client_state.player.company_id = company_id
Expand Down
13 changes: 10 additions & 3 deletions components/menu/bookmarks/main-menu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ export default
poi_items_by_id: ->
items_by_id = {}
if @is_ready && @menu_visible
if @is_ready
if @show_towns && @client_state.bookmarks.town_items?.length
items_by_id[item.id] = item for item in @client_state.bookmarks.town_items
Expand All @@ -94,8 +94,15 @@ export default
corporation_items_by_id: ->
by_id = {}
if @is_ready && @menu_visible
by_id[item.id] = item for item in @client_state.bookmarks.corporation_items
if @is_ready
for company_id,company_items of @client_state.bookmarks.company_folders_by_id
by_id[company_items.root.id] = company_items.root if company_items.root?
for industry_type,industry_items of company_items.by_industry_type
by_id[industry_items.root.id] = industry_items.root if industry_items.root?
for building_id,building_item of industry_items.items_by_id
by_id[building_item.id] = building_item
by_id
bookmark_items_by_id: -> if @is_ready then @client_state?.bookmarks.bookmarks_by_id else {}
Expand Down
34 changes: 34 additions & 0 deletions plugins/starpeace-client/api/api-client.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,40 @@ export default class APIClient
else
done(result.buildings)
)
building_metadata: (session_token, building_id) ->
new Promise (done, error) =>
request
.get("#{@root_url}/buildings/metadata")
.query({ session_token: session_token, building_id: building_id })
.set('accept', 'json')
.end((request_error, result) =>
if request_error
@client_state.handle_authorization_error() if result.status == 401
error(request_error)
else
done(if result.buildings.length then result.buildings[0] else null)
)
construct_building: (session_token, company_id, definition_id, name, map_x, map_y) ->
new Promise (done, error) =>
request
.post("#{@root_url}/buildings/construct")
.send({
session_token: session_token
company_id: company_id
definition_id: definition_id
name: name
map_x: map_x
map_y: map_y
})
.set('accept', 'json')
.end((request_error, result) =>
if request_error
@client_state.handle_authorization_error() if result.status == 401
error(request_error)
else
done(result.building)
)


inventions_metadata: (session_token, company_id) ->
new Promise (done, error) =>
Expand Down
Loading

0 comments on commit 004e5df

Please sign in to comment.