- Group Members
- Project Task List
- UML Graph
- Coverage Report & Statistics
- Demo
- Tutorials
- Moreover
- CopyRight
- License
- ๐ง Xueyi Cheng (xc187)
- ๐ฆ Yadong Hu (yh342)
- ๐ฆ Yu Wu (yw541)
-
Evo.1: Click here to visit Excel document.
-
Evo.2: Click here to visit Excel document.
-
๐ Evo.3: Document not required!
-
Evo.1: Click here to view the full picture.
-
Evo.2: Not required!
-
๐ Evo.3: Not required!
-
๐ Evo.3: Click here for the CI/CD coverage reports.
-
๐ Evo.3: Click (Project, Java1, Java2, Java3, Xml) for the project code statistics.
Login Page | |
---|---|
For more login pages, please refer to here.
House Page | |
---|---|
Buff & Skill & Horcrux Page | |
---|---|
World Technology Page | |
---|---|
For more world technology pages, please refer to here.
Unit & Move & Attack Page | |
---|---|
For more unit upgrade pages, please refer to here.
Action Page | |
---|---|
For more territory property pages, please refer to here.
Game Over Page | |
---|---|
Other Page | |
---|---|
For more waiting pages, please refer to here.
Game Supports 2~4 Players | |
---|---|
๐ก For this Evolution 3 (final version), you need to run 1 server and 2~4 clients. Each client will be assigned to one house according to the Harry Potter world setting: Gryffindor, Hufflepuff, Ravenclaw or Slytherin.
โ Run the server by command:
./gradlew :server:run
Wait for players to connect to the server.
โ
Start the Andoird application by running the ClientUI
Configuration:
If you want to change the virtual machine address, go to ClientAdapter.java
and change the Host
field:
// Change this IP address to your own virtual machine address
private static final String HOST = "114.514.0.0";
โ If it runs smoothly, you will see one of the waiting page like this:
โ
Next, you can choose to play with your other friends (let them run the Android application as well), or play with AI
by running the command:
# Change "vcm-xxxxx.vm.duke.edu" in "client_mock.sh"
# to your own virtual machine host name, and add or
# delete some clients if you need.
./client_mock.sh
๐ฑ 5.3.1. When all 2~4 players have joined the game, it switches to the login page.
๐ท Note: We didn't actually implement the functions of login pages, so users can input whatever they want in it. But the Username
you entered should be unique, and it will be your player name during the game.
๐ฑ 5.3.2. After all others have logged in, you will then automatically be assigned with your house, and whose color is aligned with the territory color. After clicking the "I'm pleased to accept my offer", user goes into next stage.
๐ฑ 5.4.1. After accepted the offer, you can allocate units according to your requirements. Use the sliding bar and place exactly 24 units, then back to the map, and click End
button on the right side.
๐ฑ 5.5.1. The server sends maps to all the players and the game begins!
All players can see the current turn number, and after the first turn, they can see each player's unit in their territories.
๐ฑ 5.5.2. The user can click one territory, and there are three choices: Units
, Order
and Property
.
-
Units
allows user to upgrade units. -
Order
allows user to make a Move/Attack actions. -
Property
allows user to check this territory's type and descriptions.
Each player can choose to attack or move or upgrade, and they can do as many orders as they want in one turn as long as they have enough units or resources. After all are done, click the End
button on the right to commit this turn.
๐ฑ 5.5.3. The following screenshots are for Unit
upgrades. The green or red numbers appending at the end indicate the change of that creature in this turn.
If you successfully upgrade units, you will see the following prompt:
๐ฑ 5.5.4. The following screenshots are for Territory
Type descriptions:
๐ฑ 5.5.5. The Order
action is complicated. It shows you every territory that you may want to move or attack. If you click any your own territory, you then go to the Move
page; and if you click any adjacent enemy's territory, then you go to the Attack
page.
๐ฑ 5.5.6. By clicking the Tech
button on the right, the user can also upgrade the world technology level using unicron horns, as the following screenshots shown:
๐ฑ 5.5.7. Players can also use Horcrux
as of Evolution 3. This will be covered in the following sections.
After all players have finished commiting orders, this turn ends, and in the next turn all battles results will shown on the map, and the corresponding resources will be added to users based on the territories they have.
๐ฑ 5.6.1. Horcrux
: Every two turns, a Horcrux
will be randomly assigned to one of the players. The Horcrux is obtained at the beginning of the turn, and can be utilized in this current turn or furture turns.
There are six types of Horcuxes:
-
๐ Riddle's Diary: Randomly disable one opponent's actions for his/her next turn.
-
๐ Gaunt's Ring: Instantly revive the 10 Gnome units.
-
๐ Slytherin's Locket: Destroy all the Dwarf troops for a random opponent in their next turn.
-
๐ Hufflepuff's Cup: Instantly increase the number of gold coins by 300.
-
๐ Ravenclaw's Diadem: Immediately increase the number of unicorn horns by 150.
-
๐ Nagini: Immediately randomly capture an adjacent enemy territory (troops on the territory become yours).
๐ฑ 5.6.2. Buff
: At the beginning of this game, each player is assigned one Buff
according to their House. The Buff will automatically take effect through the whole game process.
-
๐ซ Heart of a Warrior (Gryffindor): 50% chance of 1 bonus of creature counting as 1.5 bonus (rounded down) during an attack.
-
๐ซ Crown of Wisdom (Ravenclaw): An additional 15 of unicorn horns each turn.
-
๐ซ Shield of Loyalty (Hufflepuff): 20% chance of turning a failed defense into a success, and eliminating all attacking forces.
-
๐ซ Cunning Claw (Slytherin): Resource consumption (move and attack) reduced by 20%.
๐ฑ 5.6.3. Skill
: At the beginning of the game, each player will also be assigned one special Skill
according to their House. The special Skill can only be used once.
-
๐ฎ Lion's Courage (Gryffindor): In the next turn, 30 units of Gnome soldiers will be granted to thee in a random territory.
-
๐ฎ Wings of Wisdom (Ravenclaw): In the next turn, the unicorn horns required for upgrading all units will be halved.
-
๐ฎ Steadfast Roots (Hufflepuff): In the next turn, thou shalt be immune to attacks (attacking forces will be repelled).
-
๐ฎ Serpent's Strategy (Slytherin): In the next turn, all the werewolf creatures of all enemies will be destroyed.
๐ฐ 4.7.1. If one player has lost all her territories, then she lost. If she hasn't lost, they can also click the "player" on the upper left and chose to surrender.
๐ฐ 4.7.2. If then, there is only one player left, she is the Winner, and the following picture (according to her House
) will be shown to give her the Triwizard Cup
!
๐ฆ This game has launched its final version.
If you have any suggestions, please feel free to contact us.
This project is open sourced on GitHub to help later Duke students better learn the course.
ยฉ Most of the assets used in this project came from the official Harry Potter: The Wizarding Awakening website and mobile games. This project is for personal study only, please do not use the materials for commercial purposes.
โ๏ธ This project is under the Apache License 2.0.