[Android x64 Support + SDL 2] SFML Game Engine for Web (HTML), Android & PC

Discussion in 'Game Development (Technical)' started by Is Daouda, Aug 13, 2020.

  1. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    [​IMG]

    Hello everyone, :)
    I present to you is::Engine a 2D C++ game engine (open source) based on SFML library that allow you to easily develop your games on Web (HTML 5 - CSS 3), Android and PC (Windows, Linux). Here are some features :

    • Run SFML games with SDL 2
    • Language Manager (English and French by default)
    • Automatic management of SFML window
    • Box 2D library
    • Web Push Notification
    • TMXLite
    • TMXLoader
    • SDM (Step and Draw Manager)
    • GSM (Game Sound Manager)
    • GRM (Graphics Resources Manager)
    • CFF (CMake Files Fusion)
    • Basic Collision Engine
    • Game Scene
    • Button System
    • Background System
    • Object Event System
    • Config System
    • Game Save System
    • RPG-style dialog box
    • Virtual Game Pad for Android
    • Keyboard manager
    • Admob
    • Tiny File Dialogs
    • And many other features…
    It already integrates everything you need (GUI, Example, ...) to create a game.

    It is also accompanied by a very detailed user guide and tutorial that allows you to use it to create your game.

    Game Engine Link (Github)

    Game Engine Demo Link (Github)

    Web Game Link
    Here is a screenshot of web game :

    [​IMG]

    Youtube Tutorial:





    Your feedback will be welcome !
     

    Attached Files:

    #1 Is Daouda, Aug 13, 2020
    Last edited: Aug 7, 2021
  2. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    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 editor with the engine.
    Official supported version is TMXLite but you can use another engine version with TMXLoader.

    [​IMG]

    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 and Code::Blocks with the same project.

    Event system for object: allows to use SFML events in objects (Was used in the TMXLoader example).

    Button System: Allows you to create customizable buttons and use them in your games (Was used in the TMXLoader example).

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

    This time the 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!

    [​IMG]

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

    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! :rolleyes:


     
  3. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all, :)
    The Demo level editor has been improved to allow you to create your own level and easily integrate it into the game.

    Github link

    [​IMG]

    Have nice day ! ;)
     
  4. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi everyone, I hope you are doing well! :)
    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.

    [​IMG]

    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 ! ;)
     
  5. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi, everyone, I hope you’re all okay.
    The web demo of is::Engine is available here:
    is::Engine Web Demo
     
    #5 Is Daouda, Oct 27, 2020
    Last edited: Oct 28, 2020
  6. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi everyone, hope you are doing well! :)

    A new update of is::Engine is available but this time it comes with a web game that was created with the engine.
    This is a special version of the game (Complete game overhaul) I Can Transform (released on Android) created to celebrate these 2 years.
    The game was created with SFML except the physics engine that I had coded myself.

    Here are the new features of version 3.1.1:
    IS_ENGINE_RENDER: allows you to optimize your games so that they can run on old computers (mine for example ^^).
    Game Slider: allows you to do sliding actions (like on Smartphones) to manipulate your menus.
    Transition Effect: allows you to make Fade Out and Fade In type transition effects.
    Improved web support: many bugs have been fixed.
    Support of Render Texture in web development.

    Game Engine link:Here

    [​IMG]

    Here is web game link:Here
    (It's a web game so it's playable on PC and mobile)
    A tip to start the game well, note that the environment is your best ally in this game.

    Here is the trailer:



    The development of the game and the engine update were done during this week (at my free time of course)
    so I didn’t have time to create many levels. But believe me, there’s enough for you to have a good time. :)

    Your questions are welcome.

    Have a good day :)
     
  7. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi everyone, :)
    Hope you are well and ready for the holiday season. ;)
    is::Engine 3.2 is released and it comes with a lot of new features that you will have a good time with during the holidays.

    Without further ado here they are:
    - Qt Creator 5.12.9+ support: now you can develop with the game engine without configuring the IDE.
    - A Youtube Tutorial that shows you how to import an SFML project into is::Engine in order to benefit from the engine's features such as exporting to the Web (HTML), Android, etc.



    - Another Youtube Tutorial that shows you how to make a game (Arkanoid) with the game engine.



    - A pack of examples that shows you how to use the different features (Box 2D, Virtual Game Pad, Animation, etc.) of the engine.
    Github Link

    - A new C++ Web game: Arkanoid.
    Game Link

    [​IMG]

    Here is! This is what I have to offer you for the holiday season. :)

    Your questions and feedback are welcome.

    Thanks for reading and happy New Year's Eve everyone!
     
  8. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all, :)
    is::Engine 3.2.1 is available. This time it comes with features that allow you to be in contact with your users and be able to easily monetize your games / applications on mobile.

    Without further ado here are the new features:
    Web Push Notification Support: Very useful for contacting your users when you update your web game (this is just one example among many, it's up to you to adapt it according to your needs ;)).
    Github link
    The Firebase file is available and the Admob sample has been updated.
    Github link
    Tip for easily updating an is::Engine project.
    Github link

    Thanks for reading and have a nice day!
     
  9. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all,
    A new update has been made to the is::Engine project on Github.
    This addition shows you how to activate Admob in order to use it to monetize your games.

    Happy Valentine's Day to all programming and video game lovers!
     
  10. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi everyone, hope you are doing well!

    You can now run SFML C++ games with the SDL 2 library, export your SFML games to Android 64-bit, use multiple game libraries at the same time, and easily send your C++ data to JavaScripts with is::Engine 3.3.

    Game Engine Link

    Details of new features:
    - The is::LibConnect function: Allows you to develop with several game libraries at the same time (SFML, SDL 2, SMK (Emscripten)) in one and the same project!

    - Possibility to develop C++ SFML games with SDL 2 (Your SFML games will run on the SDL 2 library! Yes, yes it is possible!)

    - Support for Android x64 architectures: Now you can export your C++ games to several Android architectures (armeabi-v7a, arm64-v8a, x86, x64,…).
    Which means that you can now publish your C++ games on Google Play! (Yeaaah !!!)

    - The OpenURL function now allows you to open web links on many system: PC (Windows / Linux), Web (HTML 5), Android.

    - A new function to manipulate dates.

    - Very practical data sending system for sending C++ data to javascript (Emscripten).

    Example code to display C++ data in Javascript:

    std::vector<std::string> vectorArray;
    vectorArray.push_back("is::Engine is really great!");
    vectorArray.push_back("With this tool everything is possible!");
    vectorArray.push_back("I'm sure you'll love it!");

    // The javascripts part
    EM_ASM_ARGS({
    var vectorArray = new Module.VectorString($0);
    console.log(vectorArray.get(0));
    console.log(vectorArray.get(1));
    console.log(vectorArray.get(2));
    }, &vectorArray);


    Output in the browser console:
    is::Engine is really great!
    With this tool everything is possible!
    I'm sure you'll love it!

    Have good day!
     
  11. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi everyone, I hope you are all doing well! :)
    is::Engine 3.3.1 is available! Here are the new features:

    - Fixed the bug that distorted images when using rotation.
    - Optimization of the rendering part of the engine that uses SDL. Games are now smoother!
    - Integration of a file saving system for the Web (HTML 5). No need to re-implement yours anymore!
    - The OpenURL function now allows making phone calls (on Android) and contacting by email.

    Hava a good day ! ;)
     
  12. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi everyone, I hope you’re okay!

    Version 3.3.2 of is::Engine is available! This version focuses more on improving engine resource management:
    1. Fixed bug that prevented permanent deletion of files on the Web (HTML 5) (see removeFile function).
    2. Delete unused resources and permissions on Android.
    2. Optimizing the part of the engine that loads resources.
    You can notice it with this new version of I Can Transform Web. Now the levels load faster than before!

    Good week start !
     
  13. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi everyone, hope you are doing well!

    is::Engine 3.3.3 is available! Here are the new features:
    Now your SFML games will run on the Web (HTML 5) with SDL 2!
    - The advantage is that most of the engine functions will be able to run on the web, your games will be compatible with several web browsers and more fluid!
    - You can see for yourself the improvements that are made to the engine with this new version of the game I Can Transform Web (HTML 5).

    Engine demo (Super Mario Bros NES) is now web compatible!

    [​IMG]

    Good weekend to all ! :)
     
  14. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all,
    I hope you are doing well and starting the new school year well!
    is::Engine 3.3.4 is released! Now your texts and geometric figures will become more beautiful with these new features:

    1. Now you can put texts and geometric forms (Rectangle, Circle) in Outline (Support of SFML functions setOutlineColor and setOutlineThickness) on Web and Android.
    2. Use text styles (Underline, Bold, Italic, ...) on Web et Android.
    3. Correction of bugs. (That was well hidden!)
    4. Improved engine resource management (possibility of making your resources permanent and global).

    Sample code :
    class HelloScene : public is::GameDisplay
    {
    public:

    HelloScene(is::GameSystemExtended &gameSysExt):
    GameDisplay(gameSysExt, sf::Color::Black /* => scene color*/) {}

    void loadResources()

    {
    // Load font and texture of the engine
    // Allows to load system resource (very important never forgot to call him)
    // Also allows the scene to use permanent resources (loaded before this line)
    GameDisplay::loadParentResources();

    // We load a sound that will be global and permanent in all scenes (Throughout the engine)
    m_gameSysExt.GRMaddSound("is_engine_is_cool", is::GameConfig::SFX_DIR + "is_engine_is_cool.wav");

    // We load these textures (that will only be used in this scene)
    GRMaddTexture("sfml", is::GameConfig::SPRITES_DIR + "sfml.png");
    GRMaddTexture("sdl_2", is::GameConfig::SPRITES_DIR + "sdl_2.png");

    // We load this font (that will only be used in this scene)
    GRMaddFont("yeah", is::GameConfig::FONT_DIR + "yeah.ttf");

    // Allows the scene to use sound permanent resources ("is_engine_is_cool.wav" and others)
    GRMuseGameSystemSound();

    GRMdeleteFont("yeah"); // Manual font Removal
    }
    };


    Have a nice day !
     
  15. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all,
    I hope you are doing well!
    Now you can run SFML games / applications with SDL 2 on Linux with the is::Engine 3.3.5 !

    - Here is a tutorial video that shows you how to integrate your SFML project in the Game Engine:


    - Here is a video trailer of a game created with the Game Engine:
     
  16. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all,
    I hope you are well and that you are preparing well for the holiday season!

    is::Engine 3.3.6 released!
    Here are the improvements to the engine:
    - Support for sf::Music class on Android by SDL 2 library.
    - Bug fixed.

    Happy New Year's Eve everyone and take care of yourself!
     
  17. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all,
    Hope you are doing well and starting this new year well!

    is::Engine 3.3.7 is available. Here are the new features:

    - Adding GRMuseGameSystemResources() function.
    - Possibility to change the color of Virtual Game Pad on Android.
    - Finger motion bug fixed.
     
  18. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi all,
    Hope you are doing well!

    is::Engine 3.3.8 is available. Here are the new features:

    - [Android] Now you can enable / disable the FINGER MOTION event thanks to the IS_ENGINE_SDL_enableFINGERMOTION variable.
    - Possibility to define the size of the texts of the Message Box, RPG Dialog Box and that of the buttons.
    - Compilation time has been optimized when you change the game engine language.
    - Now the lengthDirX() and lengthDirY() functions take into account the screen scale during calculations.

    Have a nice day !
     
  19. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi,
    I hope you are doing well!

    A new update (v3.3.9) has been made to the is::Engine Game Engine to complete the year in style.
    It makes the engine more flexible and adds interesting new features!

    More information here.

    Happy end of year party to all!
     
  20. Is Daouda

    Is Daouda New Member

    Joined:
    Jul 17, 2020
    Messages:
    73
    Likes Received:
    0
    Hi,
    I hope you are doing well!

    is::Engine 3.3.10 is available!

    This new version now allows you to use all the functions (Virtual Gamepads, Multi-touch, ...) of touch devices on the Web (HTML5) and also other functions that simplify game development for you!

    Click here to see the other novelties.

    Have a nice day and a good weekend!
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer