Alex0vSky / BattleCityEos

BattleCity, EOS multiplayer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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).

About

BattleCity, EOS multiplayer

License:MIT License


Languages

Language:C 88.3%Language:C++ 11.4%Language:Slice 0.2%Language:C# 0.0%