SFML community forums

General => SFML projects => Topic started by: IsDaouda on November 12, 2019, 02:09:40 pm

Title: SFML Game Engine for Web (HTML 5 - CSS 3), Android and PC
Post by: IsDaouda on November 12, 2019, 02:09:40 pm
(https://i48.servimg.com/u/f48/20/16/75/27/logo_m11.png)

Hello everyone,

I present to you is::Engine a 2D game engine created with SFML. It offers you tools (Language Manager, Game Scene, TMXLite, TMXLoader, Box 2D, Config System, Virtual Game Pad for Android, Swoosh, Admob, Tiny File Dialogs, ...) that allow you to easily develop your games on Web (HTML 5 - CSS 3), PC (Windows, Linux) and Android.
Game Engine Github Link (https://github.com/Is-Daouda/is-Engine)

It is also accompanied by a level editor which allows you to create your own level and integrate it into the game engine :
Level Editor Github Link (https://github.com/Is-Daouda/is-Engine-Level-Editor)

In this post I will show you how to use it to develop on Android :
It is necessary to know the basics of SFML and OOP in C++ before you can use this engine.
This tutorial is for Windows users. Let's go !
If all goes well you will have a Hello World Screen on your Android emulator.

(https://i48.servimg.com/u/f48/20/16/75/27/demo_s11.png)

Demo screenshot

(https://i48.servimg.com/u/f48/20/16/75/27/is_eng20.png) (https://github.com/Is-Daouda/is-Engine-Demo)

Enjoy!

All comments are welcome.
Title: Re: SFML Game Engine for Android
Post by: aisman on November 19, 2019, 07:44:45 am
Can you please provide a githup link for your engine and the other stuff.
Thanks a lot.
Title: Re: SFML Game Engine for Android
Post by: IsDaouda on November 19, 2019, 02:10:06 pm
Hi,
Thank you for your comment.
Here you have the project github link : https://github.com/Is-Daouda/is-Engine
Title: Re: SFML Game Engine for Android
Post by: IsDaouda on December 07, 2019, 04:31:52 pm
Hello everyone,
An update was made to the project.
- Added the project_cache.zip file which contains the project's caches, this allows you to easily compile the project.

The contents of the zip file are invisible because they are hidden folders. Download the file and unzip the content and they will be visible.
Title: Re: SFML Game Engine for Android
Post by: IsDaouda on January 10, 2020, 06:33:21 pm
Hi,
New update for is::Engine (Android version) :
- Support for the Box 2D engine

To use it, you must add the directory ext_lib/Box2D in app_modules of your project :
https://github.com/Is-Daouda/is-Engine/tree/master/SFML_AndroidStudio-master/app/src/main/cpp/app_modules

Add the sources of Box2D thanks to CMakeLists.txt :
https://github.com/Is-Daouda/is-Engine/tree/master/SFML_AndroidStudio-master/app/CMakeLists.txt

The sources are already included in the Github CMakeLists.txt.
Title: Re: SFML Game Engine for Android
Post by: Cryostriker on January 12, 2020, 12:14:23 pm
It's interesting that it seems based on what  I'm ready that SFML needs the ndk android-ndk-r12b-windows-x86_64, which is marked as obsolete and unsupported by the Android developers. Is there a reason for this? It would be preferable to use the current as quite a lot has changed, but the use of a 4 year old version indicates there is a strong reason.
Title: Re: SFML Game Engine for Android
Post by: IsDaouda on January 12, 2020, 01:59:18 pm
Yes indeed I had been using the recent versions of NDK some time ago and I had noticed stability problems with SFML. So I preferred to advise the user to choose the most stable version. But note that this may change over time.
Title: Re: SFML Game Engine for Android
Post by: IsDaouda on January 12, 2020, 03:27:58 pm
Hi,
The example which shows how to use is::Engine and Box 2D for your games : Link (https://drive.google.com/open?id=1bAMSsYvN0xLp_lxoB4F-RaxXGZDbAgRM)
Title: Re: SFML Game Engine for Android and PC
Post by: IsDaouda on February 10, 2020, 09:08:26 pm
Hi everyone,
You can now use is::Engine with Visual Studio Code to develop your games on Windows or Linux.
Link: https://github.com/Is-Daouda/is-Engine/tree/master/SFML_VSCode
Title: Re: SFML Game Engine for Android and PC
Post by: IsDaouda on March 10, 2020, 12:13:46 am
Hi everyone,
New update for is::Engine

- Addition of the basicSFMLMain() function implemented in core/basicSFMLMain.cpp and usable in main.cpp

This function launches an SFML window without necessarily going through the main rendering of the engine. It allows you to use your own rendering loop with the engine.

This is intended to allow beginners to easily use the engine and those who want to use the engine to export their existing projects to other OS (Android, Linux, Windows).
Title: Re: SFML Game Engine for Android and PC
Post by: IsDaouda on March 20, 2020, 04:55:03 pm
Hi everyone,
You can download the full project (already compiled) for Android Studio here (https://drive.google.com/file/d/1Un2EldpcrBtLuogcyjqbkhKVq6kwIJ29/view).
Useful when you have compilation problems or if you no longer want to recompile the project.
Title: Re: SFML Game Engine for Android and PC
Post by: IsDaouda on April 07, 2020, 08:38:26 pm
Hi all,
is::Engine 2.0 is available.
This version brings a lot of new features such as:
And many other things...
Game Engine Github Link (https://github.com/Is-Daouda/is-Engine/tree/2.0.x)

This time he is accompanied by a level editor.
Level Editor Github Link (https://github.com/Is-Daouda/is-Level-Editor)
Title: Re: SFML Game Engine for Android and PC ☆☆☆ New Version ☆☆☆
Post by: IsDaouda on May 07, 2020, 09:08:24 pm
Greetings to all,

The is::Engine user guide is available here (https://github.com/Is-Daouda/is-Engine/tree/2.0.x/doc)
In the guide there is a part that shows you how to use the engine to develop a game.
Title: Re: SFML Game Engine for Android and PC ☆☆☆ New Version ☆☆☆
Post by: IsDaouda on June 17, 2020, 09:30:19 pm
Hi,
A new update for is::Engine v2.0 is available.
You can now define the FPS and the window styles in the project configuration file (GameConfig.h).
Title: Re: SFML Game Engine for Android and PC ☆☆☆ New Version ☆☆☆
Post by: IsDaouda on July 07, 2020, 08:35:22 pm
Hi all,
is::Engine 2.1 is available and brings a lot of new features:
- Support for recent development tools : C++ 17, SFML 2.5.1, Android NDK 20

- The SDM (Step and Draw Manager) system : allows you to automatically update and display the objects of a scene (e.g. Level).
All you need to do is create a Class that inherits from MainObject (the engine base class), then implemented the step() (update) method and draw() (this is optional because is::Engine does it for you), then add the object in the list of SDM objects to manage and that's it!
SDM also allows you to manage the display depth of each object (very useful for making 3D effects in a 2D game).

Note that you have the choice to decide when the SDM will automatically update or display the objects.

With SDM the source code of your game is better structured!

- The GSM (Game Sound Manager) system : allows you to play a sound or a music without using an sf::Sound, sf::SoundBuffer and sf::Music object.

- The SDM and the GSM were used in the example that accompanies the version 2.1 of the engine.
SDM was used to manage objects of the GameLevel class, and GSM in all parts of the engine.
Please see the example (https://github.com/Is-Daouda/is-Engine) to see how these two (2) systems work.

Creating games with is::Engine has never been so Fun!  :)
Title: Re: SFML Game Engine for Android and PC ☆☆☆ New Version ☆☆☆
Post by: IsDaouda on July 14, 2020, 08:40:36 pm
Hi all,
- is::Engine for CMake is available here (https://github.com/Is-Daouda/is-Engine/tree/2.1.x/CMake).
This time there is a surprise waiting for you in the Demo!
- SDM now allows you to give names (yes real names ^^) to objects so that you can better control them.

Here is an example of code that makes the player jump :
// We add the player object
SDMaddSceneObject(std::shared_ptr<Player>(new Player()), true, true, "Player One");

// Use the player object
if (auto player = SDMgetObject("Player One"); player != nullptr) player.jump();
 
Title: Re: SFML Game Engine for Android and PC ☆☆☆ v2.2 Available ☆☆☆
Post by: IsDaouda on August 07, 2020, 09:11:31 pm
Hello,  :)
is::Engine 2.2 is available! New features :

Now the SDM can fully manage an SFML window, i.e. it automatically manages:
- Close, focus and keyboard / touch events (on Android)
- Update and display of SFML Sprites
- The display of a confirmation dialog when you try to close the application with the CANCEL key (Configurable key in GameConfig.h)

Note that you can change the way is::Engine handles events and dialog box answers (YES, OK, NO), by simply overriding the SDMmanageSceneEvents() and SDMmanageSceneMsgAnswers() methods.

A Background system that allows you to easily create backgrounds in a scene.

Improved Basic Collision Engine:
- Added Circle collision mask
- Possibility to draw (in a scene) the collision masks of each object (the engine automatically determines the type of mask used)

The purpose of the Basic Collision Engine is not to replace Box 2D but to allow you to easily do simple collision tests. Believe me, a lot can be done with Basic collisions (Rectangle and Circle) proof the first game of the engine I Can Transform (https://play.google.com/store/apps/details?id=com.isdaouda.icantransform&hl=En) was created only with Rectangle collision masks.

The user guide is now available in a web version (HTML).

Improved Level Editor (https://github.com/Is-Daouda/is-Engine-Level-Editor)

(https://i48.servimg.com/u/f48/20/16/75/27/is_eng18.png)

The Demo project (https://github.com/Is-Daouda/is-Engine-Demo) which is on Git hub has been replaced by an is::Engine-style Hello World Project (https://github.com/Is-Daouda/is-Engine) in order to get you started quickly with the engine.

In less than 50 lines of code the Hello World project scene does these things:
- Load resources (music, texture, font)
- Manage SFML window events (focus, close, key)
- Displays a confirmation box when you press ESCAPE (represents the Back key on Android)
- Set a background color for the scene
- Change the game language (English / French)
- Communicate with you through an RPG-style dialog box
- Automatically display an SFML Sprite
- Automatically displays a background that fills the scene and scrolls vertically and horizontally (with speed)
- Updates and draws an object that animates (Of course a Class has been created for this object ^^)
- Play good music

You can take a look at the project to see it yourself!

The goal of is::Engine is to allow you to create everything you want easily and simply!  ;)
Title: Re: SFML Game Engine for Android and PC ☆☆☆ v2.2 Available ☆☆☆
Post by: IsDaouda on September 07, 2020, 08:06:13 pm
Hi everyone, hope you are doing well!  :)
is::Engine 3.0 is available and brings huge new features:

Support for TMXLite and TMXLoader library: which allows you to use the Tiled (https://www.mapeditor.org/) level editor with the engine.
Official supported version is TMXLite link (https://github.com/Is-Daouda/is-Engine-TMXLite). You can use another engine version with TMXLoader link (https://github.com/Is-Daouda/is-Engine-TMXLoader).

(https://i48.servimg.com/u/f48/20/16/75/27/tmx_im11.png)

Multiplatform engine: You can now use a single project to develop on Android, Windows and Linux (To compile on different OS, just change the IDE).

Support of several development tools: You can use Android Studio, CMake, Visual Studio Code and Code::Blocks with the same project.

Event system for object: allows to use SFML events in objects (Was used in the TMXLoader example (https://github.com/Is-Daouda/is-Engine-TMXLoader)).

Button System: Allows you to create customizable buttons and use them in your games (Was used in the TMXLoader example (https://github.com/Is-Daouda/is-Engine-TMXLoader)).

Engine optimization: The games are two (2) times faster.

This time the Engine Demo (https://github.com/Is-Daouda/is-Engine-Demo) is about an iconic game that marked a whole generation and which celebrates its 35th anniversary this year:
It's Super Mario Bros!

(https://i48.servimg.com/u/f48/20/16/75/27/is_eng20.png)

As a bonus some small additions have been made to this version to make it even more Fun!  ;D

Happy Birthday Super Mario Bros!

Here is the video of the demo:
Sorry for the quality of the video and the slowing down of the game. Apparently my Graphics Card doesn't want me to play a game and do video capture at the same time!  ::)

Youtube (https://youtu.be/XXkLc3TgCyc)
Title: Re: SFML Game Engine for Web (HTML 5 - CSS 3), Android and PC
Post by: IsDaouda on October 07, 2020, 08:31:31 pm
Hi everyone, I hope you are doing well! :D
is::Engine 3.1 is available, here are the new features:

Web support (HTML 5 - CSS 3): you can now run your C/C++ games in a Web Browser.

(https://i48.servimg.com/u/f48/20/16/75/27/web_lo10.png) (https://github.com/Is-Daouda/is-Engine)

GRM (Graphics Resources Manager) system: allows you to use Textures and fonts without using (instantiating) an SFML object in the code.

CFF (CMake Files Fusion) system: Now all the CMakeLists.txt files that allow you to compile your games on Android, PC and Web are all linked to the same include file (app_src.cmake / isengine.cmake).
Explanation:
When you fill in a source file (.cpp) in the app_src.cmake or isengine.cmake include file, it is automatically detected in all CMakeLists.txt files which allows you to compile on different platform (Web, Windows, Linux & Android).
Note that:
You can decide how the file will be included (eg: prevent C++ files which are intended only for the PC from being supported when compiling on Android / Web)!

Have nice day ! ;)