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 ... 3 4 [5] 6
61
SFML projects / Re: Nero Game Engine
« on: August 27, 2017, 06:27:22 pm »
Hi! guys, thanks for the replies, it helps me improve my work.

It seems i still have a lot to do on the logo  :P. I'll make more researches on logo creation, and also ask a friend to help me with that.

From the end of this month i'll be a little busy with other stuff, so the development of the engine will slow down a bit.

In my next post, i'll discuss the remaining tasks before the first release, and also when i plan this release to be done.

62
SFML projects / Re: Nero Game Engine
« on: August 24, 2017, 10:39:13 pm »
Solid Object



As you may saw in the previous video, it's easy to add physics to sprites or more exactly to create Solid Objects. The following picture shows the process.



Things begin in the Engine Object Mode. First add a sprite, then select the sprite and add a Mesh. Et voila ! you just created a Meshed Object. The Mesh can take any Type (dynamic, static, kinematic) and any Shape (line, chain, polygon, circle).

By cliking on the Play button, the Engine goes to the Play Mode, it generates a Physic Object from the Mesh and attaches the previous sprite to it, what give us a Solid Object.


Physic Object

When you simply add a MeshObject (without selecting a sprite), the MeshObject becomes a simple Physic Object. This is good to create grounds, delimit areas or build the scene base shape. here is a resume of all objects.



A Versatile Engine

The way the Engine as been built, allows it to create any type of 2d games. When i've started the project, i've specified that i will focus on platformers, but even if you don't want to use Box2d physics or make platformers, The engine will suit to you as well. The Engine may be used to create RPGs, Top Down games, or Puzzle games like TicTacToe. We may notice three types of users.

  • Users 1 : I want to use all Box2d features

    That is the default behavior of the engine, you can use Bodies, Fixtures, Joints, Collisions, everything from Box2D

  • Users 2 : I don't want to use Box2d at all

    You just have to destroy all Box2d Bodies and Joints and then nullify the b2_world (m_World = nullptr). Of corse you won't have to do it yourself, i will add a Macro to handle that.

  • Users 3 : I want to use Box2D collisions but, I don't want Box2D Physics simulation

    You just have to make all Bodies as sensors, by doing that you will have a functionnal collision system without any physics simulation. I will add a box you can check somewhere, so all bodies will be automatically in sensor mode.


The Engine Logo

I've tried differents designs for the Engine Logo, and finally comes up with this one. Let me know what you think !





63
SFML projects / Re: Nero Game Engine
« on: August 09, 2017, 04:39:32 pm »
Nero Game Engine 0.5 / Enjoy Box2D Physics !

For this post, i'm not going to talk alot, just checkout the following video. I'm sure that many people who wish to make games with SFML and Box2D have dream of something like that.

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

64
SFML projects / Re: Nero Game Engine
« on: August 09, 2017, 02:30:18 pm »
Mesh, Mesh Object and Mesh Editor

Hi! everyone, how are you doing. Let's talk about Meshes this time.

The Engine Modes and SubModes

Before talking about Meshes, it would be helpfull to talk about the Engine Modes and SubModes.
The Engine has been built to work in several Modes. Currently the Engine has only one Mode, the Scene Edition Mode. This mode allows to build a scene.
Each Mode has several SubModes. Our Scene Edition Mode has three SubModes : Object, Mesh, Play.
  • Object SubMode : This SubMode allows to handle any type of Object. The following actions can be perform : Add, Delete, Move, Rotate, Scale, Duplicate (copy the Object in any direction)
  • Mesh SubMode : This SubMode allows the edition of any Mesh present in the Scene.
  • Play SubMode : This SubMode allows to test the game in real time.

A Box2d Editor or a Mesh Editor ?

My first idea was to build a Box2d Editor. The Nero Game Engine, is built with the idea to be Simple, Intuitive and Efficient. I did not want users to struggle with Box2d stuff. So, a Box2d Editor was the perfect solution. But let's say thing clearly, build a Box2d Editor is realy tough, months ago i would just say, it's impossible.
When you create a Box2d Body, you can't modify it later, more, it's difficult to store the Box2d Body somewhere in order to play with it later because its constructor is private. It was the first time i've seen a private constructor. :-\
With all those difficulties, i've just given up and begin to think to alternative solutions.

But, But, one day i woke up, and the solution came to my mind  ;D
I've forgotten the Idea to build a Box2d Editor and decided to build a Mesh Editor instead. (I've stolen the name "Mesh" from Blender  8))
The Idea is that i don't need to Edit Box2d Body, instead, i can create Meshes and then generate Box2d Bodies from those Meshes. Meshes are pure SFML and C++, they don't contain any Box2d stuff, and the cool thing, it's that they are really, really simple to Edit.

Mesh

Meshes are just a powerfull tool. There are four types of Mesh
  • Polygon
  • Circle
  • Line
  • Chain
The four types of Meshes are handled by the same Class. This allows to switch from one type to another very easly. By example, a Line is made of two vertex (vertices), when you add one more vertex, the Mesh become automatically a Chain, and when you remove that vertex you come back to a Line.

MeshObject

A MeshObject encapsulates a Mesh. When a user is in the Engine Object SubMode, he can handle the MeshObject, this SubMode does not allow to fully edit the Mesh.

MeshEditor

When a user switches to the Engine Mesh SubMode, there comes the magic. Going in that mode, activate the MeshEditor and the user can now get access directly to the Meshes encapsulated in MeshObjects. In that mode the following actions can be perform
  • Add vertex
  • Remove vetex
  • Move vertex
  • Move Edge
  • Edge Extrusion

Next Time
I will post a Cool Video in the next hours  8)
The video will show the outcome of my work and the power of the Nero Game Engine.

65
SFML projects / Re: SFGUI (0.3.2 released)
« on: July 24, 2017, 01:08:20 am »
Hi there! the method i've used for my program is the following : when i go to one screen to another, i destroy the current screen and create the next. So there is always only one screen in the program. Most of the data is stored in a SQLite database, each time a screen is created the data may be load from there.

Since screens are created at each transition, you may notice that the transition take several seconds.

Concretely i use two classes.
  • State : each screen inherite from this class
  • StateStack : manage the transition between screens

each time a screen is created (at each transition) i reinitialize the SFML Window GL state, the SFGUI SFGUI instance and the SFGUI Desktop instance

Quote
context.window->resetGLStates();
context.sfgui = &mSfgui;
context.desktop->RemoveAll();

66
SFML projects / Re: SFGUI (0.3.2 released)
« on: July 21, 2017, 04:08:54 pm »
Hi Theo !, i've done a program that use several windows with SFGUI (check out the video), if it's what you want, i may help you. I've done the program long time ago, so i'll need some time to check out the source code and review how i've done it.

http://www.youtube.com/watch?v=5lLBJIc7e8g

67
SFML projects / Re: Nero Game Engine
« on: July 15, 2017, 01:35:58 am »
Engine Update

Object Node
I've implemented a Tree structure to hold all objects in a given scene. When i started the engine i was handling only Sprites, things were simple, each Layer of Sprites was represented by a std::vector. Now that the number of different objects begin to increase, i need a more flexible data structure. Starting from now everything in a scene will be encapsulated in a ObjectNode and attached to a parent.

The Different Objects
There are two main categories of objects, primary objects, and logical objects

Primary objects are represented by a Class in the engine. By exemple for Sprites, there is a Class called SpriteObject that encapsulate a sf::sprite.
List of primary objects : LayerObject, SpriteObject, MeshObject, PhysicObject (encapsulate a Box2d body)

Logical objects are built by combining two or more primary objects. Even if the engine recognize them, there are not explicit Classes that represent them.
List of logical objects : MeshedObject(a MeshObject attached to a Spriteobject), SolidObject (a SpriteObject attached to a PhysicObject)

I plan to make the concept of logical object a key concept of the engine. Complex objects like a Player could be build using that concept.
Also in the future (not for the first release), there will be more primary objects like : AnimationObject, LightObject, SoundObject, MusicOject, ParticleObject, ShaderObject etc.


Smart Layers
Now that each scene is based on a Tree structure, looking for a object could be more complex. To reduce the time of processing over the tree, objects are stored in Layers and each Layer always contain the same type of object. Also the engine can create automatically some Layers in order to prevent mixing different types of objects in the same layer.

Video Time 8)
The video present three types of objects : SpriteObject, MeshObject and MeshedObject
We can see that the engine automatically create layers. Also each layer has a Color that indicate the type of object it is holding.

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

Next Time
The next time i'll talk in detail about Mesh Objects and the Mesh Editor

68
SFML projects / Re: Nero Game Engine
« on: July 14, 2017, 11:58:50 pm »
Wow, the GUI looks so crisp! Just kidding, your project looks nice. ;-)

Thanks for the comment but also for the SFGUI library. When i started the project i asked myself, should i use QT or SFGUI, i wanted an engine that is simple and that focus on the essential, i think SFGUI suits the best to that philosophy. The library is great, i've used it on two others projects, one call MyFinances which is not related to game and another one called TheGame, i will show case them one day.

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

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

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

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

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

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

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



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

Pages: 1 ... 3 4 [5] 6