New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Prizes inside!] Visual Entitas - two week jam in January 2th - January 16th #475
Comments
I’m also interested in participating. |
Note that https://github.com/uFrame is the best code base to work from now. |
Yes, I will definitely start from uFrame ECS. It's linked in the original description. There's also a more fresh version of it that works in 2017, let me just go fetch a link |
The links in description are from micah's code (the creator) but haven't been looked at in ages. The link I've referred to is the organisation that has a couple of key people who seems to understand it and are keeping it going. |
I have just checked the uFrame chat again, your link is the latest "not utterly broken" uFrame version. Thanks for pointing that out, I have updated the link in the description |
I don't have too much of Unity expertise but this sounds like a good time to get some. |
Sign me up as well :) |
I'm in.
…On 20 December 2017 at 11:36, Thor Brigsted ***@***.***> wrote:
Sign me up as well :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAnI2jbqVIxA-4jgWtN2WwKVY8X3CqSCks5tCPEhgaJpZM4QPmXX>
.
|
Now we have a xNode author here, this is where things get serious :) |
I have created a chat room on gitter (as gitter is what people use by default with Entitas) As a keynote -
The main purpose of this jam is to see what people can come up with regarding the Entitas visual programming / architecture creation / visual code generator. And also to increase one's editor scripting skills. Good luck and see you in the chat. |
(@T2RKUS Account) Example repo (Contains tutorial): Psythyst Unity Edition (Unitypackage): |
Will update the other repos soon as well as begin to fully document Psythyst (even if no one but me uses it). |
This is my kinda-postmortem on a Jam. And we will wrap up during the next couple of days. Initial ideasSo first, to be honest - for me this jam was an excuse to get my hands on uFrame and editor scripting. My goal was to create a visual system that allows creating components, contexts, groups and systems. This will allow to easily query for systems that handle certain component types so we know which components can be changed by which systems. It makes the overall comprehension and debugging process easier as we can always check for all of the systems that have something to do with certain component types. JumpstartSo I've started with uFrame and it was a "straight to business" experience - I had Entitas Data Providers hooked up to uFrame graph data in no time (as uFrame ECS already has Component nodes). I didn't want to write lots of code generator logic from scratch and have decided to use most of what Entitas already provides. Unfortunately, its current default Data Provider layout doesn't allow to inject some custom code into the data providing pipeline (https://github.com/sschmid/Entitas-CSharp/blob/develop/Addons/Entitas.CodeGeneration.Plugins/Entitas.CodeGeneration.Plugins/DataProviders/Components/ComponentDataProvider.cs#L38). Milestone 01 - Sourced EntitasDefault Data Providers pipeline is hardcoded and we can't change that using a Back to uFrameData Providers hook up to uFrame graph data and generate all the needed code correctly. What I didn't yet have is a Milestone 02 - Lazy developerNow as I have started feeling that custom node types don't really work out as expected, I started thinking about reducing the workload. I have thought of the notion of contexts themselves, as they are kind of a workaround the fact that we need to store preallocated array of components for each entity. So we can reduce amount of wasted RAM, by splitting component types into groups. So entity can have 50 preallocated array elements instead of 300. Back to uFrame (again)So in the end I've managed to kinda fix the node renaming issue, but it has really shown that uFrame has a lot of "tech-debt" as one of the community members noted, so it was not really feasible to rewriting some stuff in uFrame itself. Milestone 03 - Actual JAM!Besides uFrame, I've also wanted to try PureMVC for Unity and Editor Scripting looked like a good place to apply it. I have checked a few articles and a "handbook" again and started working. There's a .NET Standard version of PureMVC https://github.com/PureMVC/puremvc-csharp-standard-framework, but it doesn't work in Unity (it's multithreaded and uses some modern language features), Results.As a result of excessive polishing, by the end of the Jam I only had working solution for:
Other than actual node editor:
https://github.com/KumoKairo/Entitas-Visual-Jam |
Hi Kumo, apologies for resurrecting this thread. |
There was a lot of talk about Visual Entitas. The first official mention was back in 2016th #160
And this topic pops up in chat from time to time.
This is why I decided to host a public jam in January (who works in January anyway?) as I'm sure you guys (as well as myself) are busy on fulltime job and personal projects.
-- UPDATE --
We now have prizes for the most active contributors!
Three most active contributors will get a free t-shirt with an Entitas logo (shipping costs are also covered. Will be shipped anywhere the postal companies go - Europe, America, Australia). T-shirts are of a great quality 100% cotton
We also have a free Entitas-Pro voucher for the active contributor that doesn't have it yet ($45 of value)
https://www.assetstore.unity3d.com/en/#!/content/87638
--- Back to business ---
The main point of the Jam is to create something that will ease the debugging process and overall architecture comprehension. This involves watching which components get used or changed by which systems in which order. This is what currently pretty hard using the code-only approach. Visual editor doesn't have to include actual coding itself. it may generate components and system wrappers which are then implemented in code like you would normally do (that's what uFrame did very effectively).
This is the perfect opportunity if you always wanted to try some advanced Unity Editor scripting but couldn't find the time. No prior node-based editor scripting is required.
(uFrame ECS screenshot)
More general agenda for the jam is as follows:
To make things simpler, it's easier to get some node-based editor framework and build on top of that. uFrame MVVM and uFrame ECS are open source and can be used as a reference
https://github.com/uFrame/uFrame.Complete
https://github.com/Siccity/xNode
https://assetstore.unity.com/packages/tools/visual-scripting/uframe-ecs-pro-47548
https://github.com/micahosborne/uFrame
https://github.com/Seneral/Node_Editor_Framework
https://bitbucket.org/antiherostudios/nodify/src/7f25c3817241?at=master
https://github.com/Scramasax/Artimech/tree/master/Assets
and I bet one can find even more open solutions.
If you want to participate - just drop a line in this issue.
What and how you create during this jam is up to you - personal repositories are great as well as contributing to someone else's repo. It has to be open-sourced, so community can actually benefit from it. But what you do with it after the jam is up to you - it can be sold or whatever. What you create will remain yours.
Prizes for the "most active contributors" will be distributed based on subjective feedback from active people in the current Entitas community. All people here are usually nice, so expect objective distribution ;)
Cheers and stay tuned.
The text was updated successfully, but these errors were encountered: