Jump to content

Unity Comparison per discussion with Josh.


rjmelter
 Share

Recommended Posts

transform is just the class in unity that exposes scale, rotate and position to the caller. Josh has saved us from having to redundantly call this class to handle simple operations.  I'm quite certain however in c++ version you could simply create a class or header labeled transform and point to those operations if you really required it.   I for one am quite grateful that these pointers are hidden and not required,  a huge time saver. 

Link to comment
Share on other sites

thisObject:SetPosition(x,y,z)

Ultra is so new, and If I know Josh I would think he's got plans to do some tut's later on..  In the meantime, Ultra behaves a lot like Leadwerks does and there's plenty of stuff floating around on how to use Leadwerks. 

Myself, I've made available complete, entire game projects with heavily commented code for people to download and learn by.

Link to comment
Share on other sites

I asked the OP to create a thread like this for his ideas after some discussion in Discord.

C# has getters and setters, which are a hidden method that gets called by assigning a value. Lua can do this as well, but I haven't done much with it because it seemed redundant to have two ways of doing everything, and it was easier to have Lua follow the C++ API as closely as possible. C++ does not have getters and setters, so we always call SetPosition and GetPosition, or sometimes we can access a read-only property like entity->position.

If and when C# support is added then it would make sense to me to implement getter and setter commands to make onboarding easier for people coming from unity. In Ultra it would just work like this:

entity.position = Vec3(1, 2, 3);

I am mostly interested in hearing your ideas on what components would be useful for common gameplay purposes. I looked at unity's stock components during development and found the default components were very sparse, mostly just related to basic object types instead of gameplay interactions.

  • Like 1

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

  • 3 weeks later...

Ultra 0.9.3 now has support for entity references in component fields. I have added a forum for posting user-made components:
https://www.ultraengine.com/community/forum/130-components/

I want to create a library of components that are each simple and fairly abstract, but can be used to piece together gameplay. The development process for 90% of users should consist of adding a component to an entity, setting some properties, and connecting inputs and outputs in the flowgraph.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

Based on our discussion during this week's call, I think we are going to look more at Valve games and their entities / components, as they seem to be more abstract and reusable than the way Unity does things. Minecraft and Roblox might also be worth looking into. I think some of that stuff is also very I/O like Leadwerks and Ultra are.

I have no objection to including some ideas inspired by Unity, but I think Valve's games provide a very comprehensive base layer of functionality.

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

1 hour ago, rjmelter said:

In its current state, I do not feel like I can utilize Ultra to complete my/a project in a timely/efficient manner, but I will continue to watch its progress and hope to be able to utilize it in the near future once it grows through community feedback. 

What would you like to see change?

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...