Skip to content

Alex0vSky/BattleCityEos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpp-logo

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"

Features

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

Requirements

SDL2. SDL2_ttf.dll SDL2_mixer.dll SDL2_image.dll SDL2.dll

Install

The application consists of one file and resource directory. Does not require installation.

Usage

Player 1 controlls: arrows for movement, fire on [left Alt]

Player 2 controlls(HotSeat): WASD for movement, fire on [right Alt]

Tests

Build

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.

Contributing

Can ask questions. PRs are accepted. No requirements for contributing.

Thanks

License

See the LICENSE file for license rights and limitations (MIT).