GithubHelp home page GithubHelp logo

trymnilsen / kingdomarchitect Goto Github PK

View Code? Open in Web Editor NEW
11.0 2.0 3.0 3.28 MB

Medieval simulation/city builder game for the browser.

Home Page: https://kingdomarchitect.netlify.app

License: MIT License

HTML 0.19% JavaScript 0.26% TypeScript 99.55%
html5 city-builder crafting typescript game medieval tower-defense canvas-game entity-component-system game-development

kingdomarchitect's People

Contributors

dependabot[bot] avatar trymnilsen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

dev-awesome

kingdomarchitect's Issues

Persist state

The state of components and the world should be persistent in-case of accidentally closing the tab. This changes the goals of the project slightly, but I think the user experience is better and there game would still only be local and singular.

Add a findView function to UIView

To search for child view and allow updating them there should be some sort of findView function. It should accept both looking for the first hit on an id or type.

Grow farm

The farm "building" should slowly grow and produce food if harvested, an action that should be available if the food is finished grown.

Night and day

Finish the night and day system. Spawn mobs at night.

Layout actionbar

During layout the action bar should check for available space and collapse the right items first then the left items if there is still not enough space for all the item. The collapsed items should be positioned out vertically.

Create roads

It should be possible to build roads, these will cost less energy to use and also look nice

Responsive book UI

The UIBookLayout should support smaller screens. There should be space for optional tabs and the first page. Once something selected on the first tab it should be translated to show the second details page.

Create a scroll view

Gives unlimited contrains in the scroll direction. Will support scrolling with up and down buttons and translates the content half a viewport for each scroll action.

Spawn animals from forrests

The amount of adjacent trees defines a volume/forrest. Animals will be spawned from groups of trees.

  • Fox
  • Goat
  • Frog
  • Duck
  • Racoon
  • Rat

Build navigation graph lazily

Change the graph used for pathfinding to be built lazily. Should improve performance to avoid creating and iterating over the whole world if the result is very localised.

Animate windmill

The windmill should have an animated spinning. The animation is present in the spritesheet

Skills state

Finish the skill system and generate a random skill tree for each actor

Actor stats

Implement stats for actors and a state for showing it

  • Base stats (Strength, Agility, Mind, Happiness, Hunger)
  • Secondary stats derived from items and base stats
  • Attack
  • Defense
  • Arcana
  • Productivity

Actor energy

all actors have energy that is used for movement and working. Energy can be regained by consuming food from a baker, goat or farm

rename workers to actors

The entities that are used for npc's (Mage, Knight, worker and Archer) should be renamed to actors to avoid confusion on the entitiy itself and the skill category a.k.a productivity.

Attack mobs

Add the ability for actors to attack mobs and for mobs to be agressive against actors.

Keyboard navigation

Complete the implementation of navigating the ui with a keyboard

  • Actionbar should use number and e-r-t-y buttons?
  • Arrow buttons should just to the adjacent views based on the current navigation logic
  • Enter should tap/trigger an focused view

wrap text provided to uiText

if the text to be shown in a uIText does not fit and the requested uiSize is not wrapUiSize we should attempt to wrap the text.
Based on the total measured size and available size split the string across lines.

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.