Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Nero Game Engine  (Read 132201 times)

0 Members and 2 Guests are viewing this topic.

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #90 on: January 30, 2021, 09:32:31 pm »
Nero Game Engine SDK v1.0.6 Released

Hi everyone ! How do you do ?  ;D Happy new year  ;D ;D

The Engine SDK v1.0.6 has been released, you can download it here. I made a few bugs fixes and some improvement

Here are the major changes

1- No more Default_Scene
The Engine/Editor will not create a Default Scene if you add at least one Scene

2- nero::Editor alias
The nero::DevEngine can now be referred as nero::Editor by including the header <Nero/engine/Editor.h>. It's just an alias, both classes are exactly the same.
#include <Nero/engine/Editor.h>

int main()
{    
    nero::Editor editor(1305);
    editor.run();

    return 0;
}

3- Linking Glew in the SDK
The SDK now comes with Glew autommtically linked. This allows you to create OpenGL projects without any configuration. If you want to learn OpenGL you can use the Engine SDK to do so.

4- New Info Tab
On the Editor left, along with the tabs Sprite, Animation, etc. there is a new tab called Info that shows the transform of a selected Object



5- Bug : Engine modes and Screen View
In Screen View, switching between the Editor modes (Object, Mesh, Play) was making the Editor crash. To fix that, I added the following rules
- Rule 1 : Activating the Screen View (pressing on Screen_View Button) is only possible when the Editor is in Object Mode.
- Rule 2 : When in Screen View it becomes impossible to change the Editor Mode. Pressing the Spacebar will have no effect. Checking the Checkboxes will be impossible (nothing happens if pressed  :P)

Here is the full Releases Notes
Release 1.0.6 [Engine Update]

- [Bug Fix]
        - fix crash when changing mode (object to mesh) in screen_view
        - fix switching to play_mode with ctrl + spacebar not working
        - fix random bomb spawn position does not follow camera
- [Enhancement]
        - remove editor default_scene when a scene is added
        - add alias nero::Editor for nero::DevEngine
        - add editor render_window icon
        - link Glew in SDK to allow the creation of openGL projects
        - add new finders in nero::ObjectManager (find [Text, Animation, SolidAnimation])
        - add InfoTab (display selected object transforms)
        - prevent mode switching in screen_view
        - screen_view activation only work in object_mode
        - add doxygen documentation generation in CMakelists.txt
        - add Doxygen and Graphviz (dot) binaries in SDK
 
« Last Edit: May 06, 2022, 04:31:44 pm by NeroGames »

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #91 on: March 13, 2021, 07:35:42 pm »
Build a Multiplayer Game Server for the Engine

Yes, it's decided, the Nero Game Engine 2 will support online multiplayer games at launch 8). I've spent the last couple of weeks doing researches on how to create multiplayer games. I found this GitHub repo https://github.com/MFatihMAR/Game-Networking-Resources, super awesome, it contains many articles on how popular games like Doom and Quake multiplayer work. I also discovered Glenn Fiedler, a guy who worked on multiple video game network modules (like God of War ). His website https://gafferongames.com/ has lots of cool articles and he has also created his own multiplayer library called Yojimbo.

The difficult part

Since the Engine uses Box2D for physics, the most difficult issue will be to sync all clients with the server so they can have the same exact physic simulation. In a series of articles, https://gafferongames.com/post/introduction_to_networked_physics/ Glenn Fiedler presents three techniques. 

  • Deterministic Lockstep
  • Snapshot Interpolation (with Linear or Hermite Interpolation and Snapshot Compression)
  • State Synchronization

What I decided for now
  • Architecture: client/server with authoritative or semi-authoritative server
  • Number of players: 4 players. (MMORPG won't be for now, but you never know  :D)
  • Sync Technique: State Synchronization

Choosing a library

I found multiple C++ libraries specialized in multiplayer gaming, the three that attract me the most are the following in order of preference. I will evaluate them and choose one.
  • GameNetworkingSockets from Valve
  • Yojimbo from  Glenn Fiedler
  • ENet

If any of you has experience with multiplayer programming let me know any advice is welcome  :D
« Last Edit: May 06, 2022, 04:31:53 pm by NeroGames »

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #92 on: March 16, 2021, 08:22:53 am »
Changing the Engine website name

The Engine website will be down for a few moments, I'm changing the domain name from https://nero-game.com to https://nero-games.com. Just added an "s" at the end  :D

The old domain https://nero-game.com is still available and will redirect automatically to the new one.

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #93 on: March 16, 2021, 05:15:20 pm »
Update 1 : Changing the Engine website name

The website is now running on the new domain name https://nero-games.com.

There are many broken links, they will be fixed during the next 24h. I'll do another update to inform you

The old domain name will remain active for a year or two before it gets discarded.

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #94 on: March 17, 2021, 11:46:19 pm »
Update 2 : Changing the Engine website name

All broken links should be fixed now :).

I added an additional domain name for fun, you can access the website at https://nerogameengine.com

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #95 on: June 12, 2021, 06:45:14 pm »
Project Update

Hi, how do you do :), the summer is here, I'm back working on the engine regularly.

Latest Progess

Below you can see an overview of the Engine Editor Architecture. I'm currently working on the following : Level Builder, Screen Builder and Startup Screen Builder. The goal is to transfer and improve the features of the Engine v1 to the new engine and make a release in about two months.

I work directly on GitHub now, the latest code is on the branch engine/v2.



Coding Level

The Engine will offer three (3) levels of coding.
  • The first level is your Scene class (like in the Engine first version).
  • The second level is your Levels and Screens classes. Each time you create a new level or screen a new class will be created
  • The third level is a Game Script. A game script can be created and attached to any object like a component. Several Game scripts can be added to the same Game Object





What's next

In my next post, I'll present in detail the Engine Game Level and Game Level Builder features. Have a good day.

Seim2k

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Nero Game Engine
« Reply #96 on: June 19, 2021, 03:29:41 pm »
Hi Sk Landry,

I read through the Thread and it's awesome what progress you made. This is a really cool project. I want to try it out. Can you tell if and when a Linux version will be available?

Best,
Seim.

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #97 on: June 19, 2021, 07:23:49 pm »
Hi Seim2k,

Right now I'm focusing on Windows only, between coding and running the website I don't have much time left to work on other platforms.

Maybe after I release the first version I'll compile it for Linux.

Seim2k

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Nero Game Engine
« Reply #98 on: June 21, 2021, 12:57:26 pm »
Hi  Sk Landry,

thanks for the info. I'm looking forward to it and pherhaps i'll try it in Windows.

Best and keep on ! You do a great job!

Seim.

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #99 on: June 26, 2021, 07:14:09 am »
Nero Game Engine v2 Update : Game Levels (Part 1)

Create Game level

It is now possible to create Game Levels with the Engine. On the top right of the Canvas, there is a button "New Level", when you click on it a popup will open up and let you create a new level. The Level View at the button shows you the list of existing levels.



Game Level Directory

When a new level is created, a new directory is also created under "Project Folder/Scene/level/level_name". The directory contains all the data relative to the level : game assets, settings, etc.



Game Level Class

The Engine generates automatically a new class for each level under "Project Folder/Source/Project Name/cpp/level/".

////////////////////////////////////////////////////////////
// Project One
/////////////////////////////////////////////////////////////
#ifndef GATEONEGAMELEVEL_H
#define GATEONEGAMELEVEL_H
///////////////////////////HEADERS///////////////////////////
//Nero
#include <Nero/core/cpp/scene/GameLevel.h>
//Boost
#include <boost/dll/alias.hpp>
/////////////////////////////////////////////////////////////
namespace ng
{
        class GateOneGameLevel : public nero::GameLevel
    {
        public: //Utility
                        typedef std::shared_ptr<GateOneGameLevel> Ptr;

                public: //Factory
                        static nero::GameLevel::Ptr createGateOneGameLevel(nero::GameLevel::Context context) noexcept;

        public: //Scene core
                                                                                GateOneGameLevel(nero::GameLevel::Context context);
                        virtual                    ~GateOneGameLevel() override;

                        virtual void                            init()                                                          override;
                        virtual void                handleEvent(const sf::Event& event) override;
                        virtual void                update(const sf::Time& timeStep)    override;
                        virtual void                render()                                                    override;
    };


    //Class export
        BOOST_DLL_ALIAS(ng::GateOneGameLevel::createGateOneGameLevel, createGateOneGameLevel)
}

#endif // GATEONEGAMELEVEL_H
 

What's next

In my next post we'll talk about managing Game Level assets and World Chunks
« Last Edit: May 06, 2022, 04:34:43 pm by NeroGames »

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #100 on: July 06, 2021, 02:56:31 am »
Nero Game Engine v2 Update : Game Levels (part 2)

Hi everyone!, how do you do  :)

Managing Game Levels

The Engine Editor loads one Game Level at a time, which means it is possible to "Open" and "Close" a Level.

When a Level is opened, it will appear in full orange background in the Level List view (image below, the second level "Gate of Fate" is the one currently opened). Also, the name of the opened Level appears on the bottom left of the canvas.

You can open and close levels manually with the buttons on top of the Levels list view. First, you have to select the level you want by simply clicking on it. Selected Levels have an Orange border. (image below, the third Level "End Gate" is currently selected).



Game Level Resources

Once a Game Level is opened you can access its resources (sprites, fonts, etc). Each Level manages its own resources. The Resource Browser Tab (image below) only show the resources of the currently opened Level

Each time you import resources (sprites, fonts etc.) They get copied in the level  resource directory at Project-Name/Scene/level/Level-Name/resource



What's Next
It is time to start building Game Levels, Next time the Engine will be able to build levels, save them and restore them when the Editor restart.

Have a good day  8).
« Last Edit: May 06, 2022, 04:33:25 pm by NeroGames »

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #101 on: July 14, 2021, 02:29:14 am »
Nero Game Engine v2 Update : Game Levels (part 3)

Hi everyone! How do you do   ;D?

Building the Game World

It's now possible to add objects into Game Levels and build your Game World. Saving and Loading Levels work fine  8)
The video below shows the full process from creating a new project, adding game levels, and editing the game world



What's next

I'll continue transferring all the features of the First Engine and work on the Editor Interface (Explorer, Edit object properties, etc.)

Current RoadMap

In order to reach the next release, I'll have to complete the following features

  • Building the Game World : Implement all the features of the First Engine regarding the creation of Game World (mostly a lot of work on the Editor Interface)
  • Playing the Game : Make Game Levels playable inside the Editor in real-time like with the First Engine
  • Releasing the Game : Make the Editor generate your final game package with one click :)

That's all have a good day !

« Last Edit: May 06, 2022, 04:33:34 pm by NeroGames »

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #102 on: August 07, 2021, 05:10:51 pm »
Nero Game Engine v2 Update : Explorer View

Hi everyone how do you do ?

The development of the Engine is progressing very well, I had to rewrite the Mesh Class, took me more time than expected  :).

Scene Graph

At the top of the Explorer view, you now have the Scenegraph. You can use it to browse through all the objects inside the current level.



Game Object Properties

At the bottom of the Explorer view, you can edit the properties of the selected object. I'm still working on this one  8).



Demo video



What's next

It's time to bring back the Mesh Editor, when that's done I'll bring back all game object types : Sprite, Animation, Mesh, Text, Light etc.

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #103 on: December 18, 2021, 01:52:29 am »
Project Status

Hi, how do you do ! I disappeared for a few months  :o. I was busy with school, it was my last semester, had to work on a project and write a lengthy report  :o :o. I'll be back on soon 8).

Happy holidays !

« Last Edit: May 06, 2022, 04:33:58 pm by NeroGames »

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6287
  • Thor Developer
    • View Profile
    • Bromeon
Re: Nero Game Engine
« Reply #104 on: December 18, 2021, 09:05:20 pm »
I haven't followed Nero up for a while, but there's some really nice progress!

Are you still using ImGUI for the UI? Are you happy with it, and the concept of immediate-mode GUIs in general? :)
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

 

anything