Protect your castle from your enemies who wants to destroy it!
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Table of Contents
castle-defense is an game that you can play to defence a castle with your archer from the invasion of enemies.
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
- Windows
- .NET core 3.1 or above
- Clone the repo
git clone https://github.com/junseo-yang/castle-defense.git
- Change Directory to
OneClickInstaller
cd OneClickInstaller
- Execute
setup.exe
to get dependenciessetup.exe
- Run the Application
CastleDefense.exe
- Clone the repo
git clone https://github.com/junseo-yang/castle-defense.git
- Open the project with Visual Studio
cd CastleDefense open CastleDefense.sln
- Run the Application
You need to defense a Castle with your archer from the invasion of enemies.
In the beginning of the game, you need to enter a unique player name that you are going to use for the high score record.
After you enter a player name, the background music Eldon - Pink cheeks will be played and continuously repeated. Each time you shoot an arrow or use a bomb, the sound effect of arrow shooting sound and bomb explosion sound will be played.
In a game you have 5 screens, Start screen with menu, Game screen, Help, High Score, and Credit. You can select menu by using keyboard arrow keys and hit enter. In the help scene, you can see the description how to play the game. In the Credit Scene
While you are playing game, you can control your archer to aim and shoot arrows by mouse and use bombs by keyboard button B. You can pause while you are playing game with keyboard button P. You can go back to the start screen by ESC
key from Game, Help, High Score, Credit Screen. You can quit the game by select Quit menu and hit enter.
Your level start with level 1. Each time you kill an enemy by shooting an arrow, your score increases by one. If you collect 20 points at each level, you can clear a level and move on to the next level.
Player name, level, and score are saved automatically to the file CastleDefenseSave.txt
. You will start with Level 1 and Score 0, and you can check on the high score screen if you are the first player. You can stop playing game anytime you want with press ESC. But, if you want to keep playing with your saved level and score, you need to hit enter on the load game. If you hit the enter on the start new game or lose a game and start a new game, then the saved level and score will be initialized and overridden. If you lost the previous game, you can’t load game and a new game will start.
You can see the top 5 high scores in the High Score Screen. If game save file is contaminated, it will be deleted and exit the game.
You can see the game creator of castle defense.
Archer’s shooting speed and arrow speed will be increased according to the level.
In each level, enemies are generated randomly according to the level you are in. In level 1, an enemy ‘red bat’ will come out. In level 2, an enemy ‘Samurai’ will be added. In level 3, an enemy ‘Normal Zombie’ will be added. In level 4, an enemy ‘Mad Zombie’ will be added. Enemies moving speed will be increased randomly according to the level you are in.
Red Bat | Samurai | Normal Zombie | Mad Zombie |
---|---|---|---|
The number of Bomb you can use depends on the level. In the level 1~4, you can’t use bomb. If you clear 5 levels or more levels, you can get certain chance of using bomb so that you can clear the enemies on the field, but the score will not be increased.
Open GameDesignDocument
- Implement Starting Game feature
- Implement Play Sound and Music feature
- Implement Screens feature
- Implement Game Control feature
- Implement Save Game & Load Game feature
- Implement High Score Screen feature
- Implement Credit Screen feature
- Implement Archer & Arrow feature
- Implement Enemies feature
- Implement Special Feature – Bomb feature
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Junseo Yang
- 💼 LinkedIn: https://linkedin.com/in/junseo-yang
- 🎒 Website: https://junseo-yang.github.io
- 📫 [email protected]
Project Link: https://github.com/junseo-yang/castle-defense