Battle City game, from NES 1985 Namco, for Epic EOS multiplayer, C++17, SDL2, sound.
@todo
- Release vanilla version with sounds in single Windows *.exe
- UnrealEngine UObject-s Serialize/Deserialize, replication
- refactoring "krystiankaluzny/Tanks"
- get rid of "new/delete" using smart pointers
- get rid of the statics of all functionality and any singletons from the remnants of the parent project
- try "Eigen" to reduce the collision code from "src\app_state\game.*"
- replication via POD or protobuf or zeroc.ice or cista
- try boost/safe_numerics for arithmetic
- to use my HelloEOS and BenchEosP2p
- everything will be done for building via "cmake"
The source code of the OOP model is obtained from KrystianKaluzny.
- refactoring:
- removed branching of definitions for "Mac/iOS";
- removed "using namespace std;";
- removed ".." descents from include paths;
- removed unnecessary SDL includes from headers, like "#include <SDL2/SDL_events.h>", PCH;
- moved the *.cpp part to the header, left the .cpp/.h pairs for “Ue UHT” for classes for which sending over the network is possible;
- "#pragma once";
- translation from Polish into English;
- code reduction due to: direct use of POD/Aggregate, in-class member initializers;
- improvements: introduced constants as much as possible where possible.
- correct minor errors;
- added audio logic;
- added audio resources.
The audio solution is obtained from RippeR37. Extra "*.ogg" obtained from sounds-resource.com
SDL2.
SDL2_ttf.dll
SDL2_mixer.dll
SDL2_image.dll
SDL2.dll
The application consists of one file and resource directory. Does not require installation.
Player 1 controlls: arrows for movement, fire on [left Alt]
Player 2 controlls(HotSeat): WASD for movement, fire on [right Alt]
Building the project and tests from the source code requires the presence of the Microsoft Visual Studio 2019 Community, and using *.sln and *.vcxproj project files.
Can ask questions. PRs are accepted. No requirements for contributing.
See the LICENSE file for license rights and limitations (MIT).