Code Monkey home page Code Monkey logo

fogofwar's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fogofwar's Issues

Player (extending Resources issue)

  • After launching the game, a Player object is created (create Player initialization class)
  • Starting dynamic resources: 100 Wood, 100 Health
  • Starting static resources: Player Colour, Player Name

Improve fog of war

  • Create a function that finds out if a point is foggy
  • Make mouse targeting precise
  • Make mouse targeting even more precise
  • Do not render static objects that are in fog of war
  • Do not render units that are in fog of war
  • Improve object rendering/unrendering precision
  • Test dynamic rendering of static objects
  • Optimise fog of war performance, so that there's no slowdown when removing it
  • Implement fog of war creation
  • Fix bug where new fog is unremovable. (tip: look at color values at old fog and new fog.)
  • Make the code clean, elegant and easy to understand.
  • Merge FogOfWar2 and FogManager classes.

Help for Blue player

The prototype needs to be more engaging. We need to help the blue somehow. I suggest removing his fog every so often.

  • Remove fog around blue castle, every X seconds, with an increasing radius.
  • think of other means to help Blue

Draw an app screen plan

Use draw.io to make the outlay of the site. This will show us what screens we need to implement.

Create basic fog of war

  • Should be displayed to each player separately
  • Should be cleared in an area around each castle
  • Should be removable by dragging from clear area to a foggy area
  • Should be created when dragging from foggy area to a clear area

Unit death

A unit should die if his hitpoints fall below 1.

Soldier

Create a new unit "Soldier", which would:

  • Should have an Attack function
  • Should have a Move behavior (blocked by lack of fog status function in 'Fog of war' issue)
  • Should have a behavior tree - should move to and attack visible enemies, wander around if no enemy is visible.
  • Would have health, attack damage, attack speed, move speed as attributes
  • Should be destroyed if health <= 0

Camera

  • Find the best view angle
  • Ensure that camera controls work smoothly
  • Add zoom-in and zoom-out functions with boundaries
  • Do not render objects covered by fog of war

Castles

  • Should have health and be destroyed when health reaches 0
  • Should not spawn units when destroyed

Unit types

Differentiate units into two classes:

  1. Gatherer
  2. Soldier

Color scheme

It is slightly dull now. Can it be improved?

  • Moar color?

Clicks must ignore objects and target ground.

If you click at the top of the tree, click is registered at the tree position and fog is removed around its trunk. Since we are only interacting with the fog and not objects, the clicks should only target the ground/fog layer.

  • fixed dis

Unit costs

Units shouldn't be free. We need to think of some rational costs and spawning policies for them.

  • fixed cost?
  • No cost, but depends on gathered lumber?
  • Same as previous, but with costs on unit death?
  • Will fog have another resource cost?

Gather resource

A gatherer should be able to gather a resource when standing next to its source.

Attack unit

Implement a function that orders unit to move next to another unit and then attack it.

Gatherer

Make a new unit, called "Gatherer", which would:

  • Should have a Gather function to after wood up to a capacity y
  • Should have a Move behavior (blocked by lack of fog status function in 'Fog of war' issue)
  • Should have a function to sense the nearest visible tree
  • Should bring the wood to the castle
  • Should have a behavior tree - should move to and gather the nearest visible tree, wander around if no tree is visible visible.
  • Would have health, gather damage, attack speed, as attributes
  • Should be destroyed if health <= 0

A*

Upon seeing a target, units forget the fog and valiantly charge forward. While it is useful in some situations, and will probably be used in special circumstances, it should not be the default behavior. The only way I see to deal with the situation is to use A* to use A* to make paths in uncovered areas. I would also suggest using dynamic flood fill to detect unreachable areas.

We have some options here:

  • Implement our own A*
  • Fix movement speed
  • Bug: Characters no longer turn when moving.
  • Check if there are any obvious bugs
  • other suggestions?
  • Add different speeds to different movement types Will not implement now.

Basic SFX

Having a mute game is dull. We should add some sounds.

  • Soldier attack sound
  • Soldier death sound
  • Gatherer tree hit sound
  • Gatherer death sound
  • Think about more sounds

bonus points for:

  • Sounds are centered on an object and less audible when camera is farther away

Unit death

Units are just disappearing now. Lets fix that. Also, for now, lets not keep corpses.

  • Soldier death animation
  • Gatherer death animation

Gameplay GUI

  • Scalable text, indicating player resources
  • Graphical GUI (frame around camera)
  • Buttons to:
  • Save and go back to menu
  • Go back to menu
  • Exit the game
  • Open gameplay management
  • Open settings

Tree death

Trees just disappear now. I think we could do something about it. Lets generate some ideas.

  • Sounds?
  • Stumps? Maybe later.
  • Death animation (proper one, or just shaking and falling)?

Fighting soldier orientation

At the moment, upon spotting an enemy unit, soldiers run to the spot and start smacking air a lot. We need to make fighting animation fluid.

  • Add rescanning to soldier behavior tree, to change running target mid run.
  • Make / require a soldier to face his target if attacking
  • Introduce delay after an attack

End screen

I'd like to be told when to cry. Lets add some ending screen. I'm thinking about about black background with white letters on it, but don't restrain yourself from getting creative!

  • End screen

"Look rotation viewing vector is zero"

This message is logged sometimes when playing. I suspect it has something to do with units getting destroyed. Check the internet, check the soldiers, check the gatherers, check the trees.

Find out how character models work

  • Create a 3D model of a character later.
  • Rig the character with a skeleton later.
  • Import the character into unity
  • Find an animation and apply it to a character
  • Apply the character model to the in-game prefab
  • Ensure that Unit functions work
  • Recolor some features of the characters to distinguish factions. PSD textures for that are already in their corresponding Model/Materials folders.

Music

We โค๏ธ music, don't we? We should have some.

  • ๐ŸŽถ ๐ŸŽต ๐Ÿ’ƒ ๐ŸŽน ๐Ÿ„ ๐ŸŽต ๐ŸŽผ

Resources

  • Player should start with 100 wood.
  • Player should have his remaining wood displayed to him
  • Trees should have x lumber and should be destroyed when none remains
  • Gatherers should remove wood from trees by gathering

Move unit

Implement a function that orders a unit to move to:

  1. A location
  2. A structure / resource
  3. Another unit

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.