Skip to content

marcoklein/eagerlearner

Repository files navigation

Eager Learner

Game submission for a rogue-like game jam: https://marcoklein.itch.io/eager-learner.

Development

npm install
npm start

Learnings

What would I do differently?

  • handle "flipped" globally
    • eg handle only right side but flip everything through an abstraction layer
  • dont throw components on everything.. its good but just let it evolve man
  • Logging.. log high level methods at least.. something like restarting the game - that makes debugging much easier
  • GameScene IS my LevelController, it makes no sense separating them.. would merge them next time

What woul I keep doing next time?

  • "natural evolvement" of code.. build in things when you need them, dont spend too much time thinking about architecture initally
    • however, refactor as code base grows to strucutre codebase with patterns
  • start with graphics and think about a story
  • Store global variables for fast configuration somwhere - also to avoid single values within code
    • could be better next time though

TODOs

For MVP

  • add a "DEAD" screen / message
  • adjust physics parameters
  • add particles on destroy - srsly .. without it justs looks really boring
  • level generator
    • generate random platforms
    • generate random monsters
  • add intro screen (with instructions on blackboard)
  • add some more enemies / generate them
  • more weapons = more fun :) .. not sure .. its like already fun - maybe give gun later
  • hands of player hit every object and only left/or right hand currently has an effect
    • just add a rectangle to check what it hits
  • bullet shooting limit - loose weapon when you shoot everything
  • add a highscore
  • adjust level generator
    • first level should be smaller

Small

  • bullets should destroy each other; this satisfying feeling when you prevent the bullet from hitting you
  • monsters should not kill each other.. then you cant count :O => added the option that monsters only move if player has been in sight
  • sometimes you get killed while walking on a platform - maybe falldown y reached?
  • destroy particles on level change
  • player falls through door and then level
  • dont let bullets kill yourself

After first playing experience

  • BUG: answer boxes can be destroyed by bullets
  • add modulare level design for one long running level
  • make levels more interesting .. e.g create jumping monsters or other logics .. yes you could add much more color and stuff now !
  • highscore should relate to monster kills

For more

  • lobby music (probably easiest)
  • sounds
  • kill monster if player jumps on it / move it downward
  • BUG: Sometimes you get stuck on a monster instead of killing it -> change collision check for monster jump kill
  • mute music button
  • pick weapon instead of question
  • add a death message reason
  • add some background elements / decoration
  • make teacher interactable / spawn as monster class with ai
  • refactor item stuff

To Change till v1.3.0

  • highscore should also relate to monster kills

  • monsters should not kill each other!

  • Add a wall to learning level

  • Are questions necessary? => just pick one weapon ..

    • plus weapon is really hard to control
  • either make a mechanic to change weapon

  • or choose the weapon (two boxes explicitly)

  • explode on wrong answer?

  • each monster should have a dedicated skill!

  • those can be randomly generated or set

  • e.g. 1 can only hit, 2 has gun and moves etc... :)

  • spawn multiple monsters on a platform with a certain level; then the + is a useful weapon

Future

  • but maybe keep question system.. lets try

  • coins and stuff:

  • coins or stuff to level up weapons or second life etc..

  • upgrades

  • make learning system within level / dont change level! => one large side scroller

  • highscore

Idea log

  • cycle through weapons that you already picked up or make choose dialog after quetions.. then you can choose
  • add different question types (e.g. count enemies)
  • add something to bottom as ground so player knows whats happening
  • add a timer to questions
  • add a "closed door" where the player spawns in a new level - there you can also reset physics and stuff

Music created with Beepbox

About

Roguelike game for game jam My little Roguelike 1

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published