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 ... 5
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-game.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)

SFML projects / Re: Nero Game Engine
« on: December 28, 2019, 02:08:50 am »
Nero Game Engine 2 : Engine Update

Hi everyone how do you do?  ;D

Playing With Light

I have integrated Let There Be Light into the Engine. For now, it is a partial integration. It's possible to add Point Lights into the Game World and Static Physic Objects can block light;


CPU Profiling

The Engine now has a CPU Profiler integrated, the one I've chosen is Easy Profiler(https://github.com/yse/easy_profiler). It is very simple to use and can become very useful if you decide to build a pretty large Game.     


What's Next ?

The next release of the Engine will be the Nero Game Engine 2 . It will be available somewhere during this next summer. Up until now, I was mostly experimenting with new features for the Engine. The code is currently a big mess  :o :o. Now that I feel I know what am doing, I have decided on the new features that will be on the next release. The release will focus on the Engine new Interface,  a New Scene API, and the Deployment of Games on Android. I had planned some features like Lua Scpriting, Shaders, Particle System, but that will be for the version 1.2.0.

Back to the Website

Now that I am confident with the development of the New Engine, It is time to return to work on the Engine Website (https://nero-game.com). I will continue the tutorial for the Nero Game Engine 1 and maybe write some random articles on game programming.

Until next time, have a good day  :D!

SFML projects / Re: Nero Game Engine
« on: December 21, 2019, 03:12:14 am »
I plan to diversify the game genres the Engine is able to handle. What I have in mind is
  • Platformer : action, shooting, adventure
  • Top Down : RPG, Scroller
  • Fighting Game : like Street Fighter
  • Card and Board Games

I have been playing with Unreal Engine and Unity lately, I took ideas from them and begin designing a new game development API for the Engine. the new API will make the Engine flexible on the type of game it can handle.

For now I'm focusing more on the Engine core, I believe if I get it right, adding more genre-specific features in the future will be pretty easy.

SFML projects / Re: Nero Game Engine
« on: December 03, 2019, 07:46:25 pm »
Nero Game Engine 2 : Engine Update

Hi everyone, how do you do?  ;D I have been working on the Engine over the last couple of weeks, I made a lot of progress.

Coding with Visual Studio

Visual Studio is now integrated into the Engine, When you create a new Project, you can choose between Visual Studio and Qt creator for the Code Editor. You can compile the code from Visual Studio or the Engine Editor seamlessly.


Playing with the new Canvas

I begin transferring the features of the Nero Game Engine 1 to the new Engine and it works perfectly.


Designing the new Scene API

I am currently designing the new Scene API, with the Nero Game Engine 2, I introduce the notion of Game Level, World Chunk, and Scene Factory.
To put things simply, a Game is made of a unique Game World that is divided into Game Levels, each Game Level will be divided into several World Chunks. World chunks are small parts of the World that can be loaded or unloaded during Play Time.
The Scene Factory will be a new feature that allows you to create Game Objects at Play Time. Those Game Objects can then be spawned into the World.

The main challenge with this new API will be on Resource Management. When World chunks are loaded or unloaded the Engine will have to automatically load or unload resources from memory. I am currently thinking of a way to keep track of used and unused resources.

That's all
There are more new features to present, but that will be for another post. have a good day  8) 8)

SFML projects / Re: Nero Game Engine
« on: October 19, 2019, 09:22:11 pm »
Nero Game Engine 2 : Engine Update

Hi everyone, how do you do ? Today I am happy to announce that I started working on a regular basis on the Nero Game Engine 2. In this first update post, I will present the scope of the project and some new features.

The Project

The objective of the project is to build a Professional 2D Game Engine based on SFML. The first release of this new Game Engine will provide the possibility to deploy your Games on Windows, Android, and Steam. The Engine will try to consume all the SFML API and go further. It's a pretty big project, but things will be done one step at a time, little by little. As you already know, a major difference with the first Nero Game Engine will be the new Interface.

A New Approach to C++ Project

Unlike the first version of the Engine, the Nero Game Engine 2 will be available as an Editor like Unreal Engine or Unity. On Windows, you will just have to download and install the Engine like any other software. With this Engine you will be able to choose between three types of projects depending on your skill with each language : C++ only Project, Lua only Project, and C++ & Lua Project.

Here is a question : How do you build your game in C++ if the Engine comes as an Editor? The answer : Shared Library.

With the New Engine, It is now possible to create and compile your C++ Project from the Engine Editor as Unreal Engine does. Each C++ Project is compiled as a Shared Library that is then loaded at runtime.

Choose your Code Editor

The Engine does not have an built-in Code Editor, so you will need an external one. The Engine will support two Editor at launch. Qt Creator and Visual Studio
Right now the Engine is being developed with Qt Creator, so it will be the default Code Editor. The External Code Editor you choose will be seamlessly integrated into the Engine. That means you will be able to open the Code Editor from the Engine Editor.

Let's see the new Engine at work

Create a C++ Project

In the video below, I launch the Engine Editor, after a nice Loading Screen, the Engine new Interface appeared. I then proceed to create a new Workspace called "My Workspace" on my Desktop. I will talk about workspaces in a later post. When the workspace is ready I create a new C++ Project (CPP Project) called "My First Project" in that workspace. When I click on the button "Create", the Engine Generates my project files and Compiles them.

Open my Project

When the compilation is completed the Engine asks me if I want to open the Project, I click on "Open Project", the Qt Creator Code Editor is automatically launched. Since it is the first time I open the project with Qt, it asks me to choose a Kit or Import a build.

Import my Build

The Engine already compiled the project, so you just have to import the build generated during the compilation. Qt creator detects automatically the build done by the Engine, In order to import it, I select " Imported Kit - temporary" then I select  "Build (my/desktop/path/My Workspace/my_first_project/Build)",  Then I click on configure project.

Start coding

Like in the first version of the Engine, the base Class of your game is the nero::Scene Class. The Engine generates a Scene class base on the name of your project In this case "MyFirstProjectScene";
I go to the render() method, I draw a simple SFML Circle and compile the project. I can compile the project from Qt Creator or the Engine Editor. When compiling from the Engine Editor there is a little Orange and White box on the bottom right indicating the status of the build. When the build is completed I reload the code.


What Next?

In my next post, I will talk about Workspaces and Project directory Structure. Also, I will present the Engine new Resource Browser and Resource Manager features. until then have a good day.

SFML projects / Re: Nero Game Engine
« on: September 14, 2019, 06:51:36 pm »
Project Status

Hi everyone ! How do you do. :)
I've been silent for the last few months, I've been really busy. I recently moved to Montréal in order to complete a degree. this took off all my free time. The good thing with that is that I will be following a class on Video Game AI. The class is offered by people from Ubisoft. It's my chance to learn Unreal Engine and Video Game AI.

Nero Game Engine 2

I've made some progress on the Engine new Interface. Here are a few screenshots. The Interface is at a very early stage, but it will evolve quickly.

Engine Forum

The Engine Forum is now open. It's a great place if you want to discuss a particular feature or if you have an issue with the Engine.

The default registration link available on the Forum page will not work. I've received many spams since the Forum has been online. Since I don't have a lot of time to manage the Forum and remove spammers, a Registration Form as been made availabled on the Website [link here].

What will I be working on now ?

I will be working on the Nero Game Engine 2. In my next post, I will probably be talking about the Nero Game Engine 2 key Concepts and its new Resource Manager.
I had planned to make Video Tutorials on Youtube, but that will have to wait the next summer, I don't have a lot of time to record and edit videos and I need to focus on my studies.

That's all for this post, have a good day!  8) 8)

SFML projects / Re: Nero Game Engine
« on: July 23, 2019, 03:13:01 pm »
Hello everyone !  :)

Engine Update 1.0.2

The Update can be downloaded from the Website Tools Page

To install, copy the content of the Update Folder into The Engine SDK Folder and overwrite the current files.

The update replaces the files Library/bin/libnero.dll and Library/lib/libnero.dll.a

List of changes
  • Bug: Fix Texture Packer Sprite Sheet Loading.
  • Auto save : remove auto save log message.

SFML projects / Re: Nero Game Engine
« on: April 21, 2019, 01:05:17 pm »
Hi everyone how do you do ! :)

Engine Update 1.0.1

The Update can be donwloaded from the Website Tools Page

The installation is pretty easy. Just copy the content of the Update Folder into The Engine SDK Folder and choose yes when asked to overwrite the files.

**Important : The Update contains a file called Release. This file describes all the changes, please read this file before to install the Update.

This update is mainly a bug fix

When you render a Scene from the Dev_Engine using the [Render_Button] on top of the Canvas, a new Window opens up with a certain size. This size is specified in your Scene with the code below

void MyScene:init()
  //set the Scene Renderer Window Resolution
  setResolution( width, height );

The problem ? it does not work   :o  :P

The Update removes the two methods

//Methods removed.
setResolution( width, height );

The Scene Renderer window Resolution is now manage by a new method

sf::Vector2f MyScene::getSceneResolution()
  //return the resolution size you want
  return sf::Vector2f( width, height );

void MyScene:init()
  //nothing to put here. the configuration of the resolution is no longer done in the init() method

Engine API Documentation

The Doxygen documentation is now availabled on the Website Documentation Page.
This page is accessible via The Dev_Engine using the button [ Engine API ] on the left.

Nero Game Engine 2.0 Github Branch

A new branch as been created on Github for the Engine second version. While the development of the second version is not a priority now, its design has already begun. You can stay updated to the progress by checking this branch from time to time.

SFML projects / Re: Nero Game Engine
« on: April 01, 2019, 11:07:49 pm »
Hi everyone, hope you are doing great  ;D

Nero Game Engine 1.0 released

The Engine first version is now released. The SDK can be downloaded on the Engine Website. It was fun to develop the Engine. There are many features that was planned that did not make their way into the first version, But there are also other that was not planned that endup in the first version. I guess  it's how projects work  :)

Website & Tutorials

From now on, I will focus on building the Website, I plan to do some videos tutorial and maybe write some articles on game development.

Nero Game Engine 2.0

Developing the Engine was pretty cool, so I plan to continue with a second version more powerfull. The second version will focus on three things

   1- Cross platform with focus on Androind, IOS and Nintendo Switch (or its successor);
   2- Introduction of Lua as scripting lauguage
   3- A more powerfull Editor and more features in a Scene

SFML projects / Re: Nero Game Engine
« on: February 23, 2019, 03:49:54 pm »
Hi everyone, hope you are doing great ! :)

Engine Update

Bug fix : Physic Objects Center of Mass

In the current version of the Engine, Physic Objects (Box2D bodies) don't have their center of mass at the right place. The bug exists since the early versions of the Engine. I did not bother to solve it until now. It's a good thing to have this bug solved because now it's more easy to play with Box2D Joints.

Physic Objects new methods

With the center of mass bug fixed, it's now possible to retrieve the size and the bounds (AABB) of a Physic Object.

vector2f size = physic_object->getSize();
sf::FloatRect bound = physic_object->getGlobalBounds();

Physic Objects Joints

Here is a feature I did not plan to add in the first version, but after I solved the center of mass bug, I said why not ?  ;D

11 Joint Types have been integrated in the Engine API

01- Distance Joint
02- Friction Joint
03- Gear Joint
04- Motor Joint
05- Mouse Joint
06- Prismatic Joint
07- Pulley Joint
08- Revolute Joint
09- Rope Joint
10- Weld Joint
11- Wheel Joint

Create Joints is pretty easy. For each Joint you have a JointProperty object that describes the Joint parameters. The code below shows how to create a Distance Joint between two Objects.

//Retrieve Objects (Physic_Object, Solid_Object or Aniamtion_Solid_Object)
auto object_A = getObjectManager()->findObject("object_a");
auto object_B = getObjectManager()->findObject("object_b");

//Create a Distance Joint
nero::DistanceJointProperty property;
getObjectManager()->createJoint(object_A, object_B, property);

Most of the parameters in a JointProperty depends on of the Joint Type. But all JointProperty has a parameter for the Joint Name.

nero::DistanceJointProperty property;
property.name = "distance_joint_01";

Find Joints

A Joint can be found using its name. The find method return a generic nero::PhysicJoint object. For each Joint Type you have a static Cast() method.

nero::PhysicJoint::Ptr my_joint = getObjectManager()->findJoint("distance_joint_01");

nero::DistanceJoint::Ptr distance_joint = nero::DistanceJoint::Cast(my_joint);

Remove Joints

A Joint can be removed using its name. If the deletion succeed the ObjectManager will return true.

bool removed = getObjectManager()->removeJoint("distance_joint_01");

Release of Version 1.0.0

Seems the time to wrap up the Project and deliver a first version has come. The version 1.0.0 will be released on April the first. Until that I will fix all bugs I can found. Most important I'll need to resit to the desire of adding new features  :o :o :o.

Website and Tutorials

I don't have much time to work on the Engine and the Website now. So I'll focus on the Engine and begin to work on the website after the first version is released.

That's all, have a good day ! 8)

Pages: [1] 2 3 ... 5