User Stories - wits-bezos/witsiemon GitHub Wiki

Sprint 1

  1. As a player when I download the Tuxemon game I can play it on my android mobile device.

    Acceptance Test: Given I am the player, when I click on the Tuxemon game app, Then the game screen should be triggered.

    Tasks:

  2. As a player I can navigate a map in the game.

    Acceptance Test: Given that I am a player, when a push the direction arrows, my avatar should move round

    Tasks:

    • Download Tuxemon source code
    • Design custom map
    • Edit code and import custom map
  3. As a player, I change my location on the game map by moving around in real life.

    Acceptance Test: Given that I'm a player, when I move around in real life, my avatar's location in the game is also updated

    Tasks:

    • Setup Google Maps API
    • Get current location of player from device GPS sensor
    • Calculate the player's displacement in real life by looking at change in location.
    • Update avatar location accordingly

Sprint 2

  1. As a player, I can navigate a map that resembles Wits Campus.

    Acceptance Test: Given that I'm a player, I should be able to recognise some of the buildings in the game map.

    Tasks:

    • Visit iconic buildings on campus
    • Design map that resembles Wits campus
    • Import map into game

Sprint 3

  1. As a player, I can run the game on my PC.

    Acceptance Test: Given that I'm a player, When I click on the executable, it should run the game.

    Tasks:

    • Compile the game for Windows
    • Export into .exe
  2. As a player I can log into the game to track my progress.

    Acceptance Test: Given that I'm a player, when I correctly enter my credentials I am logged into the game.

    Tasks:

    • Create Database to store user login credentials and points
    • Write back end code (PHP) that interacts with the database
    • Integrate back end code with game
    • Design UI from logging in
    • write front end code that gets login credentials from the UI and parses it into the appropriate fields and then checks it against data that is stored in the database

At this point we had completely restarted the project from scratch as we were running into countless errors with the Tuxemon source code, it would not compile and some of the libraries used to write Tuxemon had been deprecated; Tuxemon as a project had been deprecated and they were very little resources that could be salvaged online to help us complete this project. We had completely switched environments, we went from GitLab to GitHub and from Python to Java, the version we currently have is a complete overhaul of what we previously had.

  1. As a player I can navigate my avatar on the map

    Acceptance Test: Given that I'm a player, When I push the directional arrows my avatar should move around.

    Tasks:

    • Download and setup LibGDx into our project
    • Download a suitable Sprite to use as an avatar
    • Program the Actor and PlayerController classes that handle the avatar

Sprint 4

  1. As a player I can interact with NPCs and creatures in the game.

    Acceptance Test: Given that I'm a player, when I navigate the map I should see NPCs and creatures in the game.

    Tasks:

    • Download appropriate Sprites for the NPC/creatures
    • Make instances of the class Actor for each NPC/creature
    • Code custom properties and animations for each NPC/Creature
    • Assign each NPC a Tile on the map.
  2. As a player I can battle against other Pokemon.

    Acceptance Test: Given that I'm a player, when I push a button, the battle mode should be triggered and I should be able to deal and take damage from attacks.

    Tasks:

    • Program BattleScreen class
    • Package all resources needed for battle scene into atlas
    • Write methods for dealing and taking damage
    • Write intent to switch from GameScreen to BattleScreen when battle mode is triggered, and intent to switch back to GameScreen from BattleScreen when battle is over.