Git Product home page Git Product logo

amrtd's People

Contributors

raphik12 avatar

Watchers

 avatar  avatar

amrtd's Issues

Animate blood cells in all levels

  • red blood cells
    • red blood cells flowing
    • red blood cells flowing, spawned continuously
    • red blood cells flowing, with randomness on appearance
    • red blood cells flowing, spatially spaced
    • red blood cells flowing with wobble
  • white blood cells
    • white blood cells spawning, regularly spaced in time
    • white blood cells chasing the enemies
    • white blood cells self-destroying the enemies on impact, accounted for in the life score
    • white blood cells chasing the enemies one-on-one
    • white blood cells wobbling during chase
    • white blood cells avoiding collision with each other
    • white blood cells succeeding in chasing the enemies 100% of the time

Game credits

  • dev team
  • other resources used: textures, models, tutorials - Brackeys'
  • links to other resources: MOOCs, YouTube, papers, ...

Translation system

  • local feature with json files
  • WebGL StreamingAssets management
  • languages
    • French
    • English
    • Russian
      • draft
      • need localizer
    • Hindi
      • draft
      • need localizer
    • Chinese
      • draft
      • need localizer
  • Flags buttons

Towers/antibiotic dispensers abilities

Towers/antibiotic dispensers should have special abilities coupled with their attacks:

  • slow down the enemy/pathogen
  • prevent the enemy/pathogen from reproducing/dividing
  • prevent the enemy/pathogen from healing/repairing
  • slow down the enemy/pathogen overall speed/metabolism (includes movement, reproduction, repair)
  • pierce the enemy skin/pathogen cell wall ie direct damage/damage per second
  • deal damage on division
  • insta kill on division
  • deal damage on movement
  • ...

// active

  • _damageWhenFirstHit
  • _damageWhenHit
  • _damagePerSecondActive
  • [o] _slowDownDivisionActive kills
  • _slowDownHealingActive
  • [o] _slowDownMovementActive kills
  • _blockDivisionActive
  • [o] _blockHealingActive health goes down
  • [o] _blockMovementActive nothing
  • _killAtDivisionActive

// passive

  • _damagePerSecondPassive
  • [o] _slowDownDivisionPassive kills
  • _slowDownHealingPassive
  • [o] _slowDownMovementPassive
  • _blockDivisionPassive
  • _blockHealingPassive
  • [o] _blockMovementPassive
  • [o] _killAtDivisionPassive

Set up a perennial online test version

Currently, testers have to enter the number of a version to test it. This makes it painful to test out the last one - they have to go through increasing numbers in the urls until the 404.

New interface

  • wave indicator - issue #43
  • integrate resistance bar - issue #39
  • remove life bar - issue #39
    • remove new mechanic where resistance AND lives are defeat conditions
    • remove life bar UI
  • level indicator
  • new menu button & menu
  • new pause button & menu
  • new retry button & menu

Resistance / Life bar

Aim : demonstrate that too many ABs damage the human body, instead of using game mechanics (simulated evolution of pathogens = duplication, mutation, selection).

Life bar: gets reduced every time a pathogen slips through the defences, and for every excess AB. Life bar at 0 = immediate defeat. Life bar low due to AB: resistant enemies on next level / wave.

Resistance bar: the more excess AB is given, the more numerous resistant pathogens will appear in the next level / wave

Towers' lifetime

  • Towers should vanish after some time, to introduce the notion of using an antibiotic during the prescribed duration.
  • Towers should have an operating cost in addition to the building cost.
  • Removal cost should be zero.
  • Removal should be worded along the line of "stop generating the tower" or "stop inflating the tower", in a way that shows removal is passive, keeping the tower running is active.

Pedagogical-objectives-oriented tutorial scenario

  • Tutorial chapters, divided in a yet-to-be-determined number of levels and waves:
    • 1. Game elements
    • 2. Optimality
    • 3. Resistance
  • Use new system to display messages to the player - issue #42
    • Gameplay-unrelated but theme-related info: pathogens, diseases, treatments, ...
    • Gameplay-related, eg "too much ABs", explaining the game mechanics, ...
  • Use intro animation / illustrations / game art - issue #41
  • Only advise the player in case of failure
  • Use new health / resistance bar - issue #39

Analytics

Connect the game to an analytics tool, eg RedMetrics

  • create event types
  • create event static parameters
  • create event custom parameters
  • integrate RedMetrics
  • insert all calls
  • document in wiki

Sound effects

To fix:

  • looping sounds keep playing during pause by default.

Tips:

  • use particle effects?

To do:

  • add RM and sounds on sound control events - on slider release
  • modulate sound on some events
    • deflection sound volume should depend on percentage of damage deflected
    • pathogen spawn sound pitch should depend on pathogen health points
  • background music
    • play music in background
    • allow 1 track per level
    • don't restart if using same music
    • loop
    • pitch increases when fast-forward is used
    • background music starts during fake loading screen, should start after
  • in-game menu
    • click
    • back
    • victory, defeat
  • UI
    • click
  • enemies
    • damaged
    • die
    • divide
    • escape
    • move
    • spawn
    • adjust pitch according to life points/size/...?
  • turrets
    • shoot bullet
    • shoot laser
    • blast attack
    • build
    • sell
    • upgrade
    • adjust pitch according to cost/size/...?

Enemies' colliders are too small

Inner models have a scale > 1.0 which are not applied to the colliders

  • Enemy with scale = 1.0
    • SphereCollider component with Radius = 1.0
    • Inner model with scale > 1.0

Top buttons' location

Buttons menu, pause, retry are not distributed well on the top right corner.

  • buttons are equally distributed horizontally
  • distribution is conserved across localizations statically
  • distribution is conserved across localizations dynamically

Vertical carousel-like picker of route-of-administration for turrets

  • vertical carousel
  • route of administration - issue #15
  • change appearance of next and previous turret (top and bottom neighbours in list)
  • smooth movement and transitions
  • Android
  • computer
  • manage the fact that not all antibiotics have all routes of administration
  • differentiate n different antibiotics x p different routes

Tutorial system

  • fix issue of UI elements being on top of the focus system
  • arrow to show UI elements
  • black screen with hole to show UI elements
  • speech bubble
  • advisor head
  • system to show in a sequence the association [text, UI element, action by user to complete step, action by game when step is completed]
  • scalable focus zone

Complete microbiota

  • pathogenic
  • symbiotic - provide resources
  • commensal (would)

All bacteria may mutate and HGT their resistance.

Version for 2019-11-22 Playtest

  • fix the play area
    • made the Nodes visible again
    • use bigger Nodes
      • use bigger Turrets
  • remove dev features
    • remove Enemy's Attack indicators using DEVMODE
    • comment out #define DEVMODE
    • remove resistance indicators using DEVMODE
  • remove features in development
    • remove towers' lifetime
      Put Infinity as their default lifetime in GenericTurretPrefab
    • remove NodeUI +10s button
    • remove towers' upkeep
  • balance
    • balance costs and attacks and abilities
      • create a WeakEnemy that's slower and weaker
    • balance pathogenic waves
      • fix WaveSpawner's waves program
      • fix WaveSpawner's countdown
        • add a "Ready" button
    • prepare more than one level?
      • fix what the next level will be
      • fix the Level selector
    • set time before next wave
  • deploy online
  • create a .exe

"Evolution" of pathogens

Pathogens:

  • reproduce

  • are selected with antibiotics having different effects - issue #5 "Towers/antibiotic dispensers abilities"

  • mutate

  • one constant number for all attributes

  • one random number for all attributes

  • one random number per attribute

  • mutation induces more resistance

  • mutation induces more or less resistance, randomly

  • mutate only:

    • cell daughter after cell mother has been wounded
    • after HGT
  • the more it is mutated, the more it will mutate

  • visual effects

    • resistance effect (continuous)
    • mutate effect (discrete)
    • HGT effect (discrete)

Simplified resistance mechanic

  • UI resistance bar (gauge) - issue #39 "Resistance / Life bar": Resistance bar: the more excess AB is given, the more numerous resistant pathogens will appear in the next level / wave
  • computation of resistance score taking into account...
    • step 1: the number of towers
    • step 2: the cumulative sum of towers resistance cost
    • step 3: times at which the towers have been built - points increase and decay over time
  • take improved turrets into account
  • implementation of consequences of resistance: wave n+1...
    • has more frequent resistant pathogens
    • has more extreme resistant pathogens
  • visual effect on resistant pathogens
    • chained shaders - FAIL
    • simple UI Image + shader
    • particle systems
      • Mobile/Particles/Alpha Blended
      • FX/Flare
    • color change white -> red

Bugs:

  • issue with the resistance effect emission rate setting: seems random, uncorrelated to pathogen resistance

Help button

The user can click o the help button then on game elements to get a 1-step tutorial explaining the game element.

  • UI
  • pathogens
  • turrets
  • NodeUI (turret UI) - always works but displays the Tutorials UI in the wrong location
  • translations of all help texts

Leads to explain bugs:

  • Game Objects: click event may be captured by other script (esp. turret because NodeUI appears)
  • GameObjects: interface IPointerDownHandler was used instead of MonoBehaviour's OnMouseDown system. Also: overlapping Colliders intercept the clicks and isTrigger must be true.
  • NodeUI: it is uniquely a World Space Canvas

Enemies are stuck on some waypoints

May be linked to Time.deltaTime being too big on Android. Will require bigger tolerance on distance from waypoint to trigger movement to next one.

Map: Lungs

  • background by Radhika
  • background integration
  • lungs game mode
    • no blood vessel
    • objectives are captured sequentially
    • objectives are captured again if freed
    • objectives have sub-objectives called Slots
    • enemy appearance, mutation rate
    • waves
      • next wave even if previous one has surviving enemies
      • constant timing between waves
      • win if no enemy alive AND all waves have occurred
      • loss if enemies alive AND (all objectives are captured OR time elapsed)
    • tiles
      • location
      • bug on interaction with top tiles
        • check whether it's linked to top buttons and text
    • score display
      • localization
    • balancing
  • check that other game modes are not damaged

Cell duplication

  • waypoint: inherits the waypoint index
  • reward: halved from mother cell
  • life: inherited from mother cell
  • set a maximum enemy count, otherwise it forkbombs
  • make it possible to prevent duplication when wounded

Towers' building/deployment time

Towers should have a building/deployment time linked to the route of administration:

  • topical treatment like skin creams and inhalable antibiotics have almost instant effect, and therefore should be built/deployed very quickly.
  • injections have a quick effect.
  • edible antibiotics have a slow effect.

Transfer exploratory developments

  • enemy appearance
  • enemy wobbly movements
  • fix the lifebar by restructuring the prefabs
  • credit the bacteria textures in the README.md
  • instead of parameter minimumDistance, use a ratio of horizontalShift

Message display system

Uses:

  • Gameplay-unrelated but theme-related info: pathogens, diseases, treatments, ...
  • Gameplay-related, eg "too much ABs", explaining the game mechanics, ...

Kind of like a simplified issue #30.

Game intro

For scenarization and immersion's sake, add animation / game art to set the background of the game.

Wave progression bar

Indicator of advancement through the wave schedule

  • 1: discrete increases (jumps)
  • 2: discrete increases with smooth transitions

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.