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

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Sk Landry

Pages: [1] 2 3 ... 6
SFML projects / Re: Nero Game Engine
« 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.

SFML projects / Re: Nero Game Engine
« 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 !

SFML projects / Re: Nero Game Engine
« 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).

SFML projects / Re: Nero Game Engine
« 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
// Copyright (c) 2021 sk-landry
#include <Nero/core/cpp/scene/GameLevel.h>
#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)


What's next

In my next post we'll talk about managing Game Level assets and World Chunks

SFML projects / Re: Nero Game Engine
« 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.

SFML projects / Re: Nero Game Engine
« 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.

SFML projects / Re: Nero Game Engine
« 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

General / Re: How to use SFML with x64
« on: March 17, 2021, 12:10:13 am »
How did you link SFML ? may be you linked it only for 32bits, so in 64bits there is simply no sfml

SFML projects / Re: Nero Game Engine
« 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.

SFML projects / Re: Nero Game Engine
« 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.

SFML projects / Re: Nero Game Engine
« 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

SFML projects / Re: Nero Game Engine
« 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);

    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

SFML projects / Re: Nero Game Engine
« on: December 11, 2020, 05:21:01 am »
Project Update

Hi ! how do you do? I was busy with school for the last few months, I didn't have much time to work on the Engine or the Website. But now I'm baaaack ;D!

  • Website
    Next week, I'll restart working on tutorials and youtube videos. I hope to finish the tutorials for Engine v1 by the end of January.
  • Engine v1
    I found some bugs in the Engine while working on tutorials, I'll release the SDK v1.0.6 soon with all the fixes  :D
  • Engine v2
    The new Engine source code is on Github, From now on, the development will be completely open-source. I'll wait till January to start working regularly on the new Engine. I'll try to work with a bi-monthly (2 months) development cycle.

SFML projects / Re: Nero Game Engine
« on: August 26, 2020, 05:06:42 am »
Nero Game Engine r1.0.5 Released

I was preparing a tutorial on Physics Joints and I found a bug when creating a Wheel Joint. The new release fixes the bug, there are also other changes, some methods have been renamed, others have been added.

Here is the list of all changes:
Release 1.0.5 [Engine Update]
- [Bug Fix]
    - in method nero::ObjectManager::createJoint, in the case of wheel-joint, fix property localAxisA
    - in method nero::ObjectManager::findChildObject, check if input object is nullptr
- [Enhancement]
    - remove "const" qualifier from method nero::Scene::getContext
    - rename method nero::Scene::enableFollowTarget to nero::Scene::enableCameraTarget
    - rename method nero::Scene::updateTargetOffset to nero::Scene::setCameraTargetOffset
    - add new method nero::Scene::getCamera
    - rename method nero::Collision::isCollising to nero::Collision::isColliding
    - rename method nero::Collision::isObjectCollising to nero::Collision::isObjectColliding
    - add new method nero::ObjectManager::getNewJointId
    - move method nero::Scene::enableLayer to nero::ObjectManager::enableLayer
    - move method nero::Scene::disableLayer to nero::ObjectManager::disableLayer
    - rename all joint property maxMotorForce to maxMotorTorque
    - rename method nero::Scene::followTarget to nero::Scene::followCameraTarget and make it overridable (virtual void)

Physics Joints Tutorial

I have created a project where I experiment with all Joints. There are 11 Joints in total, So far I have implemented 8 Joints, 3 left to go

You can find the project on GitHub : https://github.com/NeroGames/enginev1-physicjoint
The project shows how to build a car with wheel-joints, how to build an elevator with prismatic-joint and many more  ;D

SFML projects / Re: Nero Game Engine
« on: August 20, 2020, 05:22:06 pm »
Man every version just gets better and better, good job on this, this is really cool.
Thanks, I really appreciate  ;D

Pages: [1] 2 3 ... 6