Press

Change Of Direction : Entity Component System

See original talk at Unity at GDC - Evolving Unity https://www.youtube.com/watch?v=aFFLEiDr3T0

Along with Unity 2018, new programming methodology has been introduced. This is ECS (Entity Component System). This brings potential massive performance improvements. However, this also requires, to change way of thinking, when programming.

In the beginning of 2018, when new iteration of Unity 2018 has been announced, along with many new features, ECS has been brought to light. At this stage, ECS is development, and should be considered as even pre-beta.

But already, it shows massive improvements, of code execution, by enforcing Unity "Performance By Default"

This follows with: 

  • C# Job System - which gives you a safe and easy sandbox where you can write parallel code.
  • The Entity Component System (ECS) - A new model for writing high-performance code by default.
  • The Burst compiler - which produces highly-optimized native code.

But why bringing this in?
The main reason is that following this event, decided to convert IterOrbis project, into ECS compatible.
Which in result puts me in fact few steps back, since needing to learn ECS paradigm, which uses DOD (Data Oriented Programming), instead Object Oriented Programming OOP. That is complete shift, in how game can be developed. 

Major issue with that change is, that there isn't many features yet ready. And ECS API is constantly evolving. Means, need to be ready for any changes anytime. And need updating code. But performance bust is the profit.

For that reason, in fact not only making few steps back, but decided redesign whole game. That will be easier, and cleaner, than trying adapt, what I got up to date. It is and will be a bit painful, but I don't have deadline, and see massive benefits in near future.

I am happy so far with taken route.

But nothing get lost. Experience is gained. Some algorithms and assets can be saved, and be moved into new project.

For example, near all GUI is transferable. Database can be reused as well. And some modding options also can be shifted. But here is complete new story, to be made.

However, any other mechanics, must be rebuild almost entirely. Can not be simply copy paste, as ECS uses Systems, rather than classical C# classes. For a bit more verbose code, is huge benefit ahead. Also, while converting and moving onward, hoping, that required critical API systems, will be introduced by Unity team.

If interested about current course of Unity ECS, hope on to ECS forum Entity Component System and C# Job system

Last Update: 2019-02-17 02:37:29

During this project putting high emphasis on optmisation from the beginning. And it will need some justification and explanations why doing so early ...

Last Update: 2018-08-25 01:00:00

Evolving Unity - Joachim Ante - GDC

Along with Unity 2018, new programming methodology has been introduced. This is ECS (Entity Component System). This brings potential massive performance improvements. However, this also requires, to change way of thinking, when programming.

Last Update: 2018-03-10 13:04:17

From many of available revenue schemes for a game, as the reward of developing, few is considered here.

Last Update: 2018-03-01 00:12:04

PipsTycoon security

It has been a while since last update, so let give some news on development.

Sorry, there is no comments yet. Be first to comment ;)