Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 1.98 KB

README.md

File metadata and controls

44 lines (34 loc) · 1.98 KB

What is this game about?

You're a hunter in a post-apocalyptic world that was taken over by the AI. Use your machine bow to kill robots and clean your tribe's territory.

How I worked on this project

My goal for this project was to apply concepts learned in a JavaScript tutorial in my first larger personal project.

  • First I built a very simple prototype - the player could shoot squares at a target in 3D space with a fixed camera.
  • When that worked, I playtested the game, fixed bugs, added a scoring system.
  • I decided the game was worth polishing, so I started to think about art direction and created moodboards.
  • I've drawn pixel-art game elements in Photoshop.
  • Added crude animations to improve User Experience.
  • Programmed 3 different game modes.

Interesting features

  • No libraries used: it's all organic, homegrown, dirty junior code.
  • I built a series of complex functions to transform user input into 3D space and back.
  • I built a simple physics calculation that simulates arrow flight.
  • All assets (excluding sound) were hand-crafted by me.

Challenges I was faced with

  • Loops, scope - JavaScript 101.
  • Testing.
  • Dealing with a large codebase.
  • DOM manipulation.

Why I built the project this way

This was my first personal project in vanilla JavaScript (I'm not counting tutorial projects). I learnt a lot while working on this project, but overall structure could be much cleaner if I were to write it once again.

If I had more time, I'd do this:

  • Separate JS code into a few modules, do a major refactoring.
  • Create animations.
  • Add a few levels with increasing difficulty.
  • Add a shop with upgrades to create progression.
  • Add a leaderboard to increase player engagement.
  • Optimize performance.