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

Author Topic: Nero Game Engine  (Read 120340 times)

0 Members and 1 Guest are viewing this topic.

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • View Profile
    • Nero Game Engine
    • Email
Nero Game Engine
« on: October 22, 2016, 05:58:22 pm »



Hi everyone, In this topic, I want to present you Project Nero

The goal of the project is to build a Game Engine using SFML and Box2D. I decided to focus on the development of platform games. 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 of way to do that, and then I've discovered the Box2D TestBed, The Box2D TestBed offers many features, but it uses 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 split into 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 inherits from nero::Scene), set the scene to the engine, and run the engine. The Render Engine offers to reset and pause the scene.
Here is a screenshot 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 draws automatically no need to create an SFML shape
- Move objects 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: May 06, 2022, 03:56:21 pm by NeroGames »

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?

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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).

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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 stuff) and the graphics (sprites) can be saved separately in two files in a JSON format. Before I explain, here is a video

http://www.youtube.com/watch?v=segLJa93ujs

Now let's see the new features in more detail.

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 needs 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 sprites with the mouse
 - rotate and scale sprites

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 allows us to work on several scenes 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 feedback, please let me know, your critics will help to improve the engine
« Last Edit: May 06, 2022, 03:56:51 pm by NeroGames »

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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/NeroGames/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)


« Last Edit: May 06, 2022, 03:57:08 pm by NeroGames »

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

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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

http://www.youtube.com/watch?v=e7msdIuvBmA

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 stuff will be described in a Lua script and the engine will build every using the script.



Now let's see the new features in more detail.

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 allows to add an 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 tilemap scene
 - precision move (move sprite pixel by pixel, more accurate than using the mouse)
 - change color
 - flip horizontally/vertically
 - delete by mouse click

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

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

Auto_Save
the auto-saving saves everything every 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 tries 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: May 06, 2022, 03:57:25 pm by NeroGames »

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?

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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)

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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/NeroGames/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

http://www.youtube.com/watch?v=cQfgAfqybpI
« Last Edit: May 06, 2022, 03:57:46 pm by NeroGames »

ToyAuthor

  • Newbie
  • *
  • Posts: 21
    • 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: 10801
    • 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
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

NeroGames

  • Full Member
  • ***
  • Posts: 101
  • Build games is simple
    • 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: 1486
    • View Profile
    • 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. ;-)