Forging the core 4/?? - ECS, Skills, Animation...


Hey :) 

So, being a long time huh? Don't worry, the project is not dead, it's even in intensive work, as I'm working on the character editor!

This post will be divided in 3 'big' categories: 'ECS', 'Skills', and finally 'Animation'!

ECS

So, first, what 'ECS' stand for? Simply: Entity Components System.

This is a way for us, developers, to create entity without using the already very known OOP (Object-Oriented Programming) that can show some limit in games, and can become kinda hard to manage.

Entity will be an 'object' that contains multiple components

Components will be 'tools' that the object can use (like showing a sprite, define a position of the entity, ...)

System will be what make components 'working', so for example we have a 'SpriteComponent' and a 'SpriteSystem', the Component will define (for example) the path where the sprite image is, the size of the sprite, etc... Then the System will get this component, and use those data to show it in game. This allow us to have a great control of what an entity can, or can't do, without having to recreate fully an object from the ground up.

Right now, I did a 'small' test to check the performance of the ECS of the engine, and I can show 10 000 entities, with SpriteComponent and TransformComponent in 2 to 3 ms by frame!

Skills

Skills, yes, player skill like 'FIREBALL!' is what I'm gonna talk here.

This is a big part of the engine, so there is a lots of info, I will try to keep it small, but information can (and will) be 'cut' to explain it, if you want more info, come in the Discord server!

Skill in the engine are totally user made (from the name, to the effect), so we technically have 2 system for the skill:

- Skill

- Skill Effect

The skill is what the player will use, and they will contains a list of skills effects.

Skill Effect is what will happen by using this skill (healing the caster/player, damage to the target/targets group, ...), and all of this can be created in 2 way:

- Via a C# module (for developers)

- Or via the Graph (blueprint) system (for non-developers).

Here is a video of the skill and skill effect editor in work (note: Those are old videos, some part of them could be changed at this time)!


Animation

Player animation is a big part for the engine, first because it means I need to implement the player/character entity inside the game, and because I needed to work on the ECS to try those animation, and it's working! (With still a lots of work needed, but it's working haha)

There is nothing too much to talk about in this part without going too much 'technical', but I just wanted to talk about the feature that I'm currently on the work to implement: Bulk import, if you have an image file with multiple animation spritesheet inside,you will be able to import them all by assigning each animation their own animation, without having to separate them one by one, then importing them one by one (This feature is still not finished, so the video still use the 'old' and slow method!!)

Here is the video of the animation editor and animation 'preview' inside the RTP (RealTime Player) - Note for the RTP: the animation system is very 'simple' simply because I didn't want to spend time working on each part just for a test!

First video - Character Animation Editor

Second video - Test of animation 'preview' inside the RTP

Anyway, on this last video, all I can say is that there is still a LOTS of work, but it's going forward, slowly but surely!

Thanks you for reading, or just checking this post,

Do not hesitate to join us on the discord server, or on the socials of the project,

Here is the link:  https://linktr.ee/rpgcreator

Have a great day or night,

Ward.

Get RPG Creator

Leave a comment

Log in with itch.io to leave a comment.