Skip to content

Latest commit

 

History

History
175 lines (135 loc) · 8.61 KB

README.md

File metadata and controls

175 lines (135 loc) · 8.61 KB

is::Engine 3.0 TMX Loader

This project shows you how to use the TMX Loader library with the game engine. It incorporates the seven (7) examples that can be found on the official library website. In this project you will also discover:

  • The new object event management system
  • How to use SDM with TMX Loader Objects

Image

Prerequisites


How to use is::Engine with the different development tools:

cmake CMake

1. Prerequisites

  • CMake (3.1 +)

2. Installation

Windows

  1. Compile SFML with CMake to have static libraries and put on C:/ (C:/SFML).
  2. Move the is-Engine-TMXLoader project to your C:/ (C:/is-Engine-TMXLoader).
  3. Execute this command :
cmake -S "C:/is-Engine-TMXLoader" -B "C:/build"
cd build
make

Linux

  1. Install SFML 2.5.1 on your machine.
  2. Move the is-Engine-TMXLoader project to /home/user/ (/home/user/is-Engine-TMXLoader).
  3. Execute this command :
sudo cmake -S "is-Engine-TMXLoader" -B "build"
cd build
sudo make

3. After installation

  • You will have a bin folder in which the engine demo is located.

5. Adding Source Files


vs Visual Studio Code

This project uses the template of andrew-r-king. For more information on this template click here.

1. Prerequisites

Windows

Linux

  • Get SFML 2.5.1 from your distro if it has it, or compile from source.

2. Installation

Windows

  1. Download & Extract SFML 2.5.1 to C:/SFML/ where the bin/lib/include folders are contained within.
  2. Download & Extract MinGW to C:/mingw32/ where the bin/lib/include folders are contained within.

Linux

  1. Ensure the GCC Toolchain is installed (sudo apt install build-essential).
  2. Run sudo apt install libsfml-dev. The SFML version you got will vary depending on the distro. 2.5.1 is included in Ubuntu 19.04 Disco Dingo for example.

3. Opening the project with the IDE:

Windows

  1. Run the file open_vscode.bat in the main directory.

Linux

  1. Execute this command in the main directory:
code -n "./app/src/main"

All

  1. Or open the is-Engine-TMXLoader/app/src/main folder with Solution Explorer.

4. Executable location

  • The compiler files can be found in is-Engine-TMXLoader/app/src/main/bin-vscode.

cb Code::Blocks

1. Prerequisites

Windows

Linux

  • Code::Blocks 20.03

2. Installation

Windows

  1. Compile SFML and put on C:/ (C:/SFML_MinGW). The folder must have an include subfolder and a lib subfolder which contains the static (.a) and Dynamic Link Library (.dll) files.

Linux

  1. Ensure the GCC Toolchain is installed (sudo apt install build-essential).
  2. Run sudo apt install libsfml-dev. The SFML version you got will vary depending on the distro. 2.5.1 is included in Ubuntu 19.04 Disco Dingo for example.

3. Opening the project with the IDE:

Windows

  1. Run the file open_codeblocks.bat in the main directory.
  2. Or open the file is-Engine-windows.cbp in the location is-Engine-TMXLoader/app/src/main

Linux

  1. Execute this command in the main directory:
codeblocks "./app/src/main/is-Engine-linux.cbp"
  1. Or open the file is-Engine-linux.cbp in the location is-Engine-TMXLoader/app/src/main.

3. Executable location

  • The compiler files can be found in is-Engine-TMXLoader/app/src/main/bin-codeblocks.

icon Change application icon:

Windows

Linux


Description of the project structure:

header

1. main.cpp file

Contains the entry point of the program, inside there are two instructions :

  • game.play(): Launches the engine rendering loop which allows to manage the introduction screen, main menu, level and game over.
  • game.basicSFMLmain() (disabled by default): Launches the display of a classic SFML window. The implementation is in the basicSFMLmain.cpp file. Very useful if you already have a project under development and you want to associate it with the engine. You can also use it to implement your own components to the engine.

2. app_src folder

Contains the source code of the game. Description of these sub-directories:

  • activity : Contains the Activity class which allows the interaction of the different scenes of the game.
  • config : Contains the GameConfig.h file which allows to define the general parameters of the game.
  • gamesystem_ext : Contains GameSystemExtended a class derived from GameSystem which allows to manipulate game data (save, load, ...).
  • language : Contains the GameLanguage.h file which allows to manage everything related to game languages.
  • levels : Contains game levels and the Level.h file which allows to integrate them into the game.
  • objects : Contains the objects that will be used in the different scenes.
  • scenes : Contains the different scenes of the game (Introduction, Main menu, ...).

3. assets folder

Contains game resource files (music, sound sfx, image, ...)


4. isEngine folder

Contains the source code of the game engine


How to contribute?

Here are some examples of how to contribute:

  • Have you developed a module and want it to be part of the engine? You are welcome!
  • Have you thought of a feature and you want it to be integrated into the engine? Do not hesitate to submit it to us with your name of course!
  • You want to participate in the development of the engine? Well! welcome to the team!
  • You have developed a game or application with the engine? We gladly accept it to publish it!
  • You noticed a bug? Well done! Let us know Mr. Hacker!

Contacts