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

Author Topic: Nero Game Engine  (Read 15266 times)

0 Members and 1 Guest are viewing this topic.

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Nero Game Engine
« on: October 22, 2016, 05:58:22 pm »
Hi every one, my name is Landry, In this topic i want to present you my project :  Project Nero

The goal of the project is to build a Game Engine using SFML and Box2D. I decided to focus the development on platform game. Build a Game Engine with a lot of features is really tough. The first step in building my engine was to integrate Box2D with SFML, i've thought of a lot way to do that and then i've discovered the Box2D TestBed, The Box2D TestBed offers many features but it use glui and freeglut instead of SFML. So, i've decided to replicate it, suppress all the glui, freeglut and openGl code and then get only some SFML and SFGUI code : This gave me the "Nero  Game Engine 0.1"

For the moment the engine is splited in two parts, a Render_Engine and a Dev_Engine

The goal of the Render Engine is to test a game scene: you create a new Scene (a new class that inherit from nero::Scene), set the scene to the engine and run the engine. The Render Engine offer to reset and pause the scene.
Here is a screen shoot that run the "Tumbler" example from the Box2D TestBed

The goal of the Dev_Engine is to help in a Scene building, at this stage of development it's a complete replication of the Box2D Testbed. The features it offers are :
 - Automatic drawing : when you create a box2d object, it's draw automatically no need to create a SFML shape
- Move object with the mouse
- See object center of mass, bounding rectangle, etc
- See statistic (number of body in the scene etc)

Here is a Screen shoot with the "Conveyor Belt" example from Box2D Testbed

When you create a Scene by inheriting from (nero::Scene or nero::DevScene), you get access to the camera and some functions to process keyboard and mouse input
« Last Edit: July 26, 2017, 04:55:02 pm by Sk Landry »

ratzlaff

  • Newbie
  • *
  • Posts: 33
    • View Profile
Re: Nero Game Engine
« Reply #1 on: October 24, 2016, 06:45:41 pm »
Nice!

Do you have your code up somewhere accessible?

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #2 on: October 25, 2016, 12:33:04 pm »
Hi " ratzlaff ", thanks for your interest :), the code is not on a repository yet, i'll made that this week.

Also, i'm already working in some new features.  the step 2 in building my engine is the map editor. It will be possible to load sprites and map them on the physic scene build with Box2D. I'll present those new features by the end of this month, so, stay tuned 8).

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #3 on: October 30, 2016, 08:58:16 pm »
Hi! everyone, i'm going to present the new features in the Nero  Dev_Engine  :).

I've added the possibility to add and manipulate sprites on the Scene. And when all it's done, the physics (Box2D stuffs) and the graphics (sprites) can be saved separately in two files in a JSON format. Before i explain, here is a video



Now lets see the new features in more details.

Feature 1 : Texture loading and sprite recognition
For each texture, we need a ".txt" file with the same name. The ".txt" file describes all the sprites we want to extract from that texture.
the format of the ".txt" file is " Sprite_Id - BoundRect_Left - BoundRect_Top - BoundRect_Width - BoundRect_Height ". After that the Engine just need the path to the folder where textures are located.


Feature 2 : Sprite preview
When textures have been loaded and sprites detected, The engine offers a preview of each sprite. During the preview it's possible to zoom in and out.

Feature 3 : Sprite manipulation
Here are manipulations we can apply on sprites, there will be more later!
 - add/remove sprite in/from the canvas
 - select sprite one by one
 - move sprite with the mouse
 - rotate and scale sprite

Feature 4 : Working directory and saving
When several scenes are added to the Dev_Engine, the engine creates a directory for each scene. The physics and the graphics are saved in the directory of each scene. This allow to work on several scene at the same time.
Physics and Graphics are in json format, and can be easily loaded  in a Nero Render_Engine.

That's all for now,  if anyone has a feedback, please let me know, your critics will help to improve the engine
« Last Edit: July 26, 2017, 05:02:37 pm by Sk Landry »

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #4 on: November 01, 2016, 12:09:29 am »
Hi! everyone

The code of the Engine is now on Github, here is a link : https://github.com/landry-ska/Nero-Game-Engine

The Engine is a API, but there is no way to compile it currently. I will need some help to write a CmakeMake file.
The Engine use c++11 and some shared libraries
 - SFML
 - SFGUI
 - Box2D
 - Boost (system, filesystem)



DarkRoku12

  • Full Member
  • ***
  • Posts: 203
  • Lua coder.
    • View Profile
    • Email
Re: Nero Game Engine
« Reply #5 on: November 01, 2016, 01:16:04 am »
Great progress, the GUI is very intuitive.

The engine is focus mostly on physics?
I would like a spanish/latin community...
Problems building for Android? Look here

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #6 on: November 01, 2016, 10:29:26 am »
Great progress, the GUI is very intuitive.

The engine is focus mostly on physics?

you're right, i expect games to be built using box2d features, the graphics are just there to give a more pleasant view

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #7 on: November 18, 2016, 10:20:19 pm »
Hi! everyone, i'm back, let me present you Nero Game Engine 0.3.0

i've added many new features, the most important are Sprite_Layers and some news Sprites Manipulations
Here is a video



The new features are presented below, but i want to say now what i'm going to do for the next.
i will work mostly on Box2d, i first thought to build a Box2d editor, but i think it will build a scripting system instead. Box2d stuffs will be describe in a Lua script and the engine will build every using the script.



Now lets see the new features in more details.

Sprite_Layers
there are now layers in the engine with some classic functions
 - add/delete layer
 - move layer up/down
 - show/hide layer
 - change the color of all sprites in a layer
 - move the entire layer horizontally/vertically
 - each layer is saved in a different json file and can be recovered as a std::vector<sf::sprite>
the system i've built allow to add a infinite number of layer, but i've restricted the number to 10, i think it's enough, and there is always at least one layer

Sprite Manipulations
there are new sprite manipulations that allow to build scenes quickly and with intuitiveness
 - copy a selected sprite (the copy can be made in any direction : left, right, up, down, diagonal), it useful for tile map scene
 - precision move (move sprite pixel by pixel, more accurate than using the mouse)
 - change color
 - flip horizontally/vertically
 - delete by mouse clic

Canvas Color
the canvas color can be changed using some pre-configure buttons or the RGB system

Log
there is now a log that describe what's happening, the log is saved in a .txt file at the same time than graphics and physics

Auto_Save
the auto saving save everything each 30 seconds, i don't know if it's a good interval of time.

Load
to load something, the files just need to be in the working directory of the Scene.  When Engine the startup, it try to load Layers(graphics) and physics. So it's possible to begin a work, save it, close the engine and come back to continue

I think it's all, the last thing to remark is that the mouse position on the canvas and in the world appears on top on the Canvas.
« Last Edit: July 26, 2017, 05:08:12 pm by Sk Landry »

grumpaladin

  • Newbie
  • *
  • Posts: 7
    • View Profile
Re: Nero Game Engine
« Reply #8 on: November 19, 2016, 07:03:25 am »
Looks like you've got a lot of work done on this! Looking good so far. Your GitHub link is broken though, did you move the repo somewhere?

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #9 on: November 20, 2016, 12:12:09 pm »
Your GitHub link is broken though, did you move the repo somewhere?

Hi!, i've deleted the repo, the code was published with no license and no author name, i was in hurry and i've forgotten all those stuffs  :-[, i will recreate the repo soon 8)

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #10 on: May 01, 2017, 12:23:03 pm »
 8) Hi every one!  8)

I have been busy those last couple of months, so the project has fallen behind. But But, it keep going ;D.

Code repository
The github repository has been reactivated : https://github.com/sk-landry/Nero-Game-Engine
At the moment of this post, there is not any code on repository.

Licence
The project will be under the MIT Licence

Updates
The shape of the engine has changed a bit,

The most interresting new feature is the Mesh Editor, the engine let you edit Physical Object in a flexible way.

I will talk more about that later, you can look at the video bellow to get an idea


« Last Edit: May 01, 2017, 12:30:13 pm by Sk Landry »

ToyAuthor

  • Newbie
  • *
  • Posts: 20
    • View Profile
    • Email
Re: Nero Game Engine
« Reply #11 on: May 03, 2017, 06:13:52 am »
Good job. Really good job!

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 9041
    • View Profile
    • development blog
    • Email
Re: Nero Game Engine
« Reply #12 on: May 03, 2017, 12:37:01 pm »
This looks awesome! :)
Official FAQ: https://www.sfml-dev.org/faq.php
Nightly Builds: https://www.nightlybuilds.ch/
——————————————————————
Dev Blog: https://dev.my-gate.net/
Thor: http://www.bromeon.ch/libraries/thor/

Sk Landry

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
    • Nero Game Engine
    • Email
Re: Nero Game Engine
« Reply #13 on: July 05, 2017, 10:16:21 pm »
This looks awesome! :)

Good job. Really good job!

hi! guys, it took a long time to say it, but thank you for your support  8) 8), i realy appreciate.

I have been busy those last couple of months, i know i've already said that, but let's say it again.

The great new, it's now i get some time to work on project, i plan to finish the first working version of my engine/framework within two months.

Tank

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1489
    • View Profile
    • Tank's Blog
    • Email
Re: Nero Game Engine
« Reply #14 on: July 10, 2017, 08:20:59 pm »
Wow, the GUI looks so crisp! Just kidding, your project looks nice. ;-)
SFGUI: Simple and Fast GUI library for SFML
Game Development Design articles
IRC: #sfml @ irc.boxbox.org