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

SFML projects / Re: Nero Game Engine
« on: July 04, 2020, 05:02:59 pm »
Nero Game Engine 1 Tutorial Series - Part 2

Hi, I just uploaded Part 2 of the tutorial series on Youtube, I got busy on Wednesday and couldn't finish it at time  ;D

SFML projects / Re: Nero Game Engine
« on: July 01, 2020, 01:15:40 am »
Nero Game Engine 1 Tutorial Series

Hi there, how do you do do, I just uploaded the first video tutorial on the Nero Game Engine 1 on Youtube. The next video should be ready by tomorrow.

I will use twitter to announce new videos, so don't forget to follow me here :  https://twitter.com/nerogameengine

Have a good day ! ;D

SFML projects / Re: Nero Game Engine
« on: June 29, 2020, 09:08:35 pm »
Hi everyone how do you do  :D

Nero Game Engine 1 SDK Update 1.0.4

I've just released a new version of the Nero Game Engine 1 SDK version r1.0.4

I was working on a video tutorial when I found out that I've made a big, really big mistake with the last Engine Update  :o :o :o.
I built the update 1.0.3 on top of the version 1.0.0, by doing so, the Engine lost the updates 1.0.1 and 1.0.2 [software regression ;D]

I just removed the update 1.0.3 from the website.

The first video tutorial should be ready by tomorrow, have a good day  8)

SFML projects / Re: Nero Game Engine
« on: June 05, 2020, 09:35:27 pm »
Hi there, how do you do?  ;D

First video tutorial released

I've just released a first video tutorial on the Nero Game Engine 2 Demo, watch it on you Youtube


Nero Game Engine 1 SDK Update

I've just released a new version of the Nero Game Engine 1 SDK (r1.0.3). With this new update, you can now change the DevEngine Window size as you want.

The DevEngine has two constructors now
 DevEngine(const unsigned int& windowWidth, const unsigned int& windowHeight);
 DevEngine(const unsigned int& windowWidth);

With the first one, you specify the width and the height you want, with the second one you only specify the width and the engine will compute the height.

There are a min-width (1305.f) and a min-height(670.f). If you set a value below these ones, the engine will ignore your inputs.

nero::DevEngine engine(1900.f, 1000.f);
nero::DevEngine engine(1900.f);

How to update
You can download the full SDK already updated (Nero Game Engine  SDK 1.0.3) or you can download the update only (Engine Update 1.0.3) and copy its content in your current installation

download page here

What next

Build the website and make tutorials
As of now, I will focus on building the Engine Website and making some youtube tutorials. I'll try to make 2 or 3 tutorials per week.

Engine development
I will slow down with the Engine 2 development in order to focus on tutorials. But just for info, the next thing I'll be working on is the Engine Android Backend. Like Unreal on Unity, the Engine will able to deploy your games on android automatically.

SFML projects / Re: Nero Game Engine
« on: May 25, 2020, 02:45:29 am »
Nero Game Engine d2.0.1 Released

Hi everyone ! how do you do  :D, I am happy to announce the release of the Engine Demo version 2.0.1  8)

The Engine is provided with a BSD Licence

You can download it here : https://nero-games.com/download

It's my first time releasing an installable software, if you find any problem please let me known.

The Configuration Wizard

When the Engine starts, it checks that everything is ok before you can use it. When something is not ok the Configuration Wizard will help to configure it.

Configure a Code Editor

You can choose between Qt Creator or Visual Studio 2019

Visual Studio 2017 will not work, only the latest versions of Visual Studio 2019 are compatible.

You can download Qt offline with the link provided by the wizard or search "qt online installer" on the internet.

Configure Texture Packer

Configure a Workspace

The Engine needs at least one Workspace. If you already have one you can import it, if not, you need to create one.

All inputs are checked against a regex and need to match a certain pattern. For example, the namespace should only have 2 to 10 characters and only use letters (regex = ^[a-zA-Z]{2,10}). I will explain everything in detail later.

Here is an example of input
  • Location : use the browse button and select your Desktop
  • Workspace Name : My Workspace
  • Company Name : Landry Games
  • Project Lead : sk-landry
  • Project Namespace : ng

SFML projects / Re: Nero Game Engine
« on: April 06, 2020, 08:14:38 pm »
Hi everyone! how to you do  ;D ;D ;D

I have been busy the last couple of months, but I manage to get some time and progress with the Engine

Release of a Demo Version on May

I will release a reduced version of the New Engine around mid-may, Many features currently in development will be disabled for the demo. The core features of the New Engine Editor will be available  :), you will able to create projects and code in raw SFML. I will give more details on my next post.

Nero Game Engine 2 : Engine Update

Now let's do a regular update  8)

Introducing the POCO library

I have been looking for a Network Library for a while now. I came across POCO recently and I was amazed by the features it provides. It's a pretty huge library like Boost. I integrated it into the Engine.

Also, the Engine now use C++17 Experimental. All the Boost libraries that need to be compiled as been removed.

Download Files with the Engine

Thanks to POCO you can now download files with the Engine. I begin building a Network Module for the Engine. The most interesting Class for now is the nero::DownloadManager. It provides two features.
The first feature is to retrieve the size of a file on the internet using a HTTPS request.
The second feature is to download a file on the internet and monitor the download progression.

//get a file size
float bytes = nero::DownloadManager::getFileSize("https/my/file/url");
//the pretty_string method print the size in a readable format like 600 KB, or 8.6 MB etc

nero::DownloadProgression::Ptr progression = nero::DownloadManager::downloadFile("https/my/file/url", "local/path/destination");

        //print the percentage [0 - 100]

A New Logging API

With the introduction of POCO, I removed the Easyloggingpp Library. The Logger offered by POCO is more flexible and adapted for the Engine needs.

As a user of the Engine, nothing changes for you, the macros nero_log and nero_log_if are still available and work the same.

Background Task Management

The New Engine will be using a lot of threads to perform tasks in the background. The Engine now offers a new class called nero::BackgroundTaskManager or simply nero::BTManager. The class is used like that nero::BTManager::startTask(callable, task_name, task_category), The callable can be a function pointer, a lambda or a class method.

class MyClass
        void helloWorld(nero::BackgroundTask::Ptr task)
                task->addMessage("starting project compilation");

                //to something

                task->addMessage("compilation, completed");

MyClass instance;

nero::BTManager::startTask(MyClass::helloWorld, &instance, "compile_project");
auto my_task = nero::BTManager::findTaskByName("compile_project");


That's all for this post !

There are many other features in development, I will talk more about that during the summer. Here is what the Editor currently looks like. There is now a nice Toolbar, a Menu Bar, the Logging work perfectly. As with the Nero Game Engine 1, you have the mouse position on top of the canvas and the four buttons to change the canvas color  8)

Pages: [1] 2 3 ... 6