Skip to content

Commit e43b0f6

Browse files
author
GauravDe-git
committed
Update Readme.md
1 parent c92e071 commit e43b0f6

File tree

1 file changed

+49
-20
lines changed

1 file changed

+49
-20
lines changed

README.md

Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,62 @@
1-
# C++ for Games
1+
# Mini Assailants
22

3-
This is a template project for the **C++ for Games** course. It contains a simple 2D game framework.
3+
This is my intake assignment for the BUAS intake 2024 - Programming. Initially conceived as a project for the C++ for Games Microcredentials Course at BUAS, the project's scope posed a considerable challenge for me as a beginner in C++. Regrettably, I fell short of my expectations by the end of the microcredentials course, only managing to create a rudimentary game in about a month and a half. The initial outcome featured a basic player moving forward and defeating a single enemy with a punch. Although I was far from proud of my initial work, I persevered and continued refining the project. After investing an additional month and a half, I was finally able to bring the game to a somewhat presentable state, aligning with my initial game design vision. Throughout this journey, I received invaluable assistance from various individuals, particularly Jeremiah and Beret during the microcredentials course. Subsequently, I garnered further feedback in the 3dgep server CPP Fast Track Discord events. Without their support, creating the game would have been an insurmountable task for me.
44

5-
## Features
5+
## Game Overview
6+
Mini Assailant's is a 2D Beat'em Up fighting game that draws inspiration from childhood favorites like Hero Fighter and Little Fighter 2, both still beloved indie games with a strong fanbase. In this game, players command a formidable fighter with special abilities such as a fire punch and uppercut. Engaging in intense button-mashing, players confront incoming enemies. Special attacks consume 'Mana Points' (MP), and defeating enemies offers a chance to obtain health (hp) or mana (mp) potions, along with collectible coins. The game spans three levels: the first set in a cyberpunk city with goblins and skeletons, leading to a powerful golem boss; the second in an abandoned industry site featuring harpies and centaurs, concluding with a formidable gargoyle boss; and the final level in an experimental lab where agile cerberus creatures culminate in a showdown with the ultimate boss, the Flying Eye. Players can select their desired level from the menu.
67

7-
* 2D software rasterizer in the [Image](graphics/inc/Graphics/Image.hpp) class.
8-
* Support for gamepads (currently using [XInput](https://learn.microsoft.com/en-us/windows/win32/xinput/getting-started-with-xinput) on Windows)
9-
* Spatialized [audio](audio) library with support for wav, mp3, ogg, flac audio file sources.
10-
* Create your own waveforms for your game using the [Waveform](audio/include/Audio/Waveform.hpp) class.
11-
* A few math helpers in the [math](math) library ([AABB](math/inc/Math/AABB.hpp), [Camera2D](math/inc/Math/Camera2D.hpp), [Transform2D](math/inc/Math/Transform2D.hpp), etc...)
8+
## Controls
129

13-
## Quick Start
10+
- Movement: WASD/Arrow keys
11+
- Light Attack: H (double tap for light attack 2)
12+
- Heavy Attack: J (double tap for heavy attack 2)
13+
- Special Attack 1: Y
14+
- Special Attack 2: U
15+
- Pause Game: P
16+
- Toggle VSync: V
17+
- Toggle Fullscreen/Windowed: F11
18+
- Quit Game: Escape
1419

15-
Make sure you have the latest version of Visual Studio 2022 installed. Make sure you have the "Desktop Development with C++" workload checked in the Visual Studio Installer.
20+
## Built With
1621

17-
To get started with your own project, click the big green "Use this template" button in GitHub to create a copy of this repo in your own GitHub workspace.
22+
The game is built using the C++ For Games Framework created by Jeremiah Van Oosten (@JPVanOosten).
1823

19-
> **Optional**: The [game-vsix/bin](game-vsix/bin) folder contains a Visual Studio extension installer that adds a new C++ project template to the `Add New Project` dialog box in Visual Studio. This extension contains a project template for creating new games that use the **C++ for Games** game framework. Run the `.vsix` file in that folder to install the extension.
24+
The framework includes:
2025

21-
Open [CppForGames.sln](CppForGames.sln) in Visual Studio 2022 and run the `sample` project. You should see a bouncing ball on the screen. You should also hear a sound when the ball bounces off the edges of the screen:
26+
- 2D software rasterizer in the Image class.
27+
- Support for gamepads (currently using XInput on Windows)
28+
- Spatialized audio library with support for wav, mp3, ogg, flac audio file sources.
29+
- Waveform class for creating custom waveforms.
30+
- Math helpers in the math library (AABB, Camera2D, Transform2D, etc...)
2231

23-
![Sample game](docs/images/sample.png)
32+
Check out the framework [here](https://github.com/jpvanoosten/SoftwareRasterizer).
2433

25-
You can use the `sample` project as a basis for your own games:
34+
## Credits
2635

27-
1. Copy the [sample](sample) folder and rename new folder to the name of your game.
28-
2. Rename `sample.vcxproj`, `sample.vcxproj.filters`, and `sample.vcxproj.user` to the name of your game. For example, if the name of your game is MyGame, then rename these files to `MyGame.vcxproj`, `MyGame.vcxproj.filters`, and `MyGame.vcxproj.user` respectively.
29-
3. Add the new project to the existing `CppForGames` solution in Visual Studio.
30-
4. Rename the new project in Visual Studio to the name of your game.
36+
### Sprites
3137

32-
> **Optional**: If you installed the Visual Studio extension in the [game-vsix/bin](game-vsix/bin) folder, then you can use the "Add new project" command to create a new game project that uses the C++ for Games framework.
38+
- **Player Sprites:** [Sagak Art Pururu](https://sagak-art-pururu.itch.io/)
39+
- **Enemy Sprites:** [MattzArt](https://xzany.itch.io/)
40+
- **Background Sprites:** [Ansimuz](https://ansimuz.itch.io/)
41+
- **Potion Sprites:** [ProjectTea](https://projecttea.itch.io/potion-icons-volume-1)
42+
- **Coin Sprites:** [Totus Lotus](https://totuslotus.itch.io/pixel-coins)
43+
- **Button Sprites:** [Hio Respace](https://hiorespace.itch.io/buttonsanimationpack)
3344

45+
### Sounds
46+
47+
- [Punch Sound](https://mixkit.co/free-sound-effects/punch/)
48+
- [Sword Sound](https://mixkit.co/free-sound-effects/sword/)
49+
- [RPG Sound Pack](https://opengameart.org/content/rpg-sound-pack)
50+
- [Coin Sound](https://pixabay.com/sound-effects/search/game-coin/)
51+
- [Hits/Punches Sound](https://opengameart.org/content/37-hitspunches)
52+
53+
### Fonts
54+
55+
- [Tafel Sans Pro Bold](https://en.bestfonts.pro/font/tafel-sans-pro)
56+
- [Symtext Font](https://www.dafont.com/symtext.font)
57+
58+
### Exe Icon
59+
60+
- [Portable Icon](https://www.freepik.com/icon/portable_1707147#fromView=keyword&term=2d+Game&page=1&position=36&uuid=f16f4fda-a231-41fe-981d-a54735e83ee3)
61+
62+
Feel free to explore the game, contribute, or provide feedback!

0 commit comments

Comments
 (0)