|
|
@@ -63,11 +63,11 @@ |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
<span class="tab"></span> |
|
|
|
In the interest of not going sued for reverse-engineering Gamecraft or divulging company secrets I won't go into much more detail |
|
|
|
In the interest of not getting sued for reverse-engineering Gamecraft or divulging company secrets, I won't go into much more detail |
|
|
|
(although they're not very good company secrets if me, |
|
|
|
a person living on a different continent, |
|
|
|
working for a different company, |
|
|
|
figured out their secrets in my spare time). |
|
|
|
figured them out in my spare time). |
|
|
|
You can find out more details about Gamecraft by using a |
|
|
|
<a href="https://github.com/0xd4d/dnSpy#dnspy---latest-release---%EF%B8%8F-donate">C# decompiler</a> to view the original code, |
|
|
|
no reverse-engineering required. |
|
|
@@ -100,8 +100,8 @@ |
|
|
|
The data-oriented design of ECS helps as well. |
|
|
|
The object-oriented API in the GamecraftModdingAPI still queries entity components behind-the-scenes, |
|
|
|
so even OOP can take advantage of ECS design, albeit with some drawbacks. |
|
|
|
The database system in Svelto.ECS purposely allows for new entities to created but not made accessible immediately for some deterministic reason. |
|
|
|
In the event that a new entity is created as an object through the object-oriented API, |
|
|
|
The database system in Svelto.ECS purposely allows for new entities to be created but not made queriable immediately for some deterministic reason. |
|
|
|
If a new entity is created as an object through the object-oriented API, |
|
|
|
the GamecraftModdingAPI has to force the database to sync new entities before any of the object's properties can be accessed. |
|
|
|
This database sync operation is a lot of unnecessary overhead which could be avoided with pure ECS. |
|
|
|
Pure ECS modding is easy, |
|
|
@@ -112,7 +112,7 @@ |
|
|
|
</p> |
|
|
|
<p> |
|
|
|
<span class="tab"></span> |
|
|
|
A year ago, I thought ECS was a fancy niche concept which would be worthless for me to learn. It may still be worthless for my job, but its a vital part of Gamecraft and mods that I wouldn't pass up. I wonder when FreeJam will give us an official modding API for interacting with Svelto.ECS... |
|
|
|
A year ago, I thought ECS was a fancy niche concept which would be worthless for me to learn. It may still be worthless for my job, but it's a vital part of Gamecraft and mods that I wouldn't pass up. I wonder when FreeJam will give us an official modding API for interacting with Svelto.ECS... |
|
|
|
</p> |
|
|
|
</div> |
|
|
|
<footer> |
|
|
|