Adam's Lair Forum

game development and casual madness
It is currently 2019/11/17, 01:27

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2016/03/31, 22:10 
Newbie
Newbie

Joined: 2016/03/31, 22:02
Posts: 7
Role: Hobbyist
Hello,

I am using Unity for about 2.5 years for now, nearly saw all aspects of it, actually liked it for a while until yesterday. When I tried a performance test on my 2D RTS game, frame rate dropped down to 1-5 fps literally. So, I saw the limits of Unity in 2D.

So I started looking for 2D game engines and I came across Duality. I liked the fact that you kept everything open unlike Unity, which prevents changing (even seeing them sometimes) what's going on behind the scene.

But I have a few questions;

1- Can Duality store data in text format just like Unity, for the sake of using git properly?
2- Can I use the most actual c# version with Duality?
3- What is the actual limit of amount of objects that you think Duality can handle moving in the scene simultaneously at the same time?

Thanks in advance.


Top
 Profile  
 
PostPosted: 2016/03/31, 22:30 
Member
Member

Joined: 2013/05/20, 17:19
Posts: 77
Role: Professional
Hi stc

Welcome to the light side:)

1- If you mean the equivalent of Unity assets, then yes. Duality's default mode for storing data is XML.
2- Yep, the latest version of Duality uses .NET 4.5, so your plugin code can target up to that, and since you compile everything yourself, unlike in Unity, you can use C# 6 now, and shouldn't have any problems updating to newer C# versions so long as the features you use don't require a runtime beyond 4.5.
3- On any modern desktop machine, thousands and thousands:) I guess it's an impossible question to answer really, since it depends on so many other factors, like what other things each game object is doing, what sort of rendering each uses etc, but Duality does smart batching of vertices to keep rendering nice and fast in the general case, and has quite an efficient game simulation loop. At the point where it becomes a concern, you'll probably be implementing other techniques anyway, like spatial subdivision etc to keep things fast.

Hope that helps.


Top
 Profile  
 
PostPosted: 2016/03/31, 22:43 
Newbie
Newbie

Joined: 2016/03/31, 22:02
Posts: 7
Role: Hobbyist
BraveSirAndrew wrote:
Hi stc

Welcome to the light side:)

1- If you mean the equivalent of Unity assets, then yes. Duality's default mode for storing data is XML.
2- Yep, the latest version of Duality uses .NET 4.5, so your plugin code can target up to that, and since you compile everything yourself, unlike in Unity, you can use C# 6 now, and shouldn't have any problems updating to newer C# versions so long as the features you use don't require a runtime beyond 4.5.
3- On any modern desktop machine, thousands and thousands:) I guess it's an impossible question to answer really, since it depends on so many other factors, like what other things each game object is doing, what sort of rendering each uses etc, but Duality does smart batching of vertices to keep rendering nice and fast in the general case, and has quite an efficient game simulation loop. At the point where it becomes a concern, you'll probably be implementing other techniques anyway, like spatial subdivision etc to keep things fast.

Hope that helps.


Thanks for the quick reply. Does Duality have multithreading support? In Unity, all collision calculations eats up frame rate and I can't just do it in another thread because of the fact that all API calls only works in main thread, it could be great if I could seperate things up to different threads.


Top
 Profile  
 
PostPosted: 2016/03/31, 22:53 
Member
Member

Joined: 2013/05/20, 17:19
Posts: 77
Role: Professional
Not out of the box, no. Sad face. It's something I'd love to play around with at some point, and I know Adam's made some comments at various points in the forums about how it might be done, but no one has stepped up yet :)


Top
 Profile  
 
PostPosted: 2016/03/31, 23:00 
Newbie
Newbie

Joined: 2016/03/31, 22:02
Posts: 7
Role: Hobbyist
BraveSirAndrew wrote:
Not out of the box, no. Sad face. It's something I'd love to play around with at some point, and I know Adam's made some comments at various points in the forums about how it might be done, but no one has stepped up yet :)


I see. I still definetely want to give it a try though. I will try to port all my scripts from Unity and compare performance side to side.
Thank you.


Top
 Profile  
 
PostPosted: 2016/04/01, 07:27 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
BraveSirAndrew wrote:
Not out of the box, no. Sad face. It's something I'd love to play around with at some point, and I know Adam's made some comments at various points in the forums about how it might be done, but no one has stepped up yet :)

Ah, yes. Multithreading. One of the topics I keep thinking about! It's within reason, but not implemented or prepared and I don't have a solid concept yet, but rather a bunch of ideas that could be explored. No idea when I'll finally get around to do some prototyping though, so it might be one of the topics that can be approached a lot faster in a custom community fork.

stc wrote:
I see. I still definetely want to give it a try though. I will try to port all my scripts from Unity and compare performance side to side.
Thank you.

Please share your findings! I'd be quite interested in this as well.

Also, this:

BraveSirAndrew wrote:
I guess it's an impossible question to answer really, since it depends on so many other factors [...] At the point where it becomes a concern, you'll probably be implementing other techniques anyway

Performance really depends on what you do with the engine and how you do it. If you know your bottleneck, there are usually ways to speed it up - though sometimes this may require to deviate from the regular / easy way of solving things.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/04/01, 16:08 
Newbie
Newbie

Joined: 2016/03/31, 22:02
Posts: 7
Role: Hobbyist
Adam wrote:
Ah, yes. Multithreading. One of the topics I keep thinking about! It's within reason, but not implemented or prepared and I don't have a solid concept yet, but rather a bunch of ideas that could be explored. No idea when I'll finally get around to do some prototyping though, so it might be one of the topics that can be approached a lot faster in a custom community fork.

It would be a great addition to the game engine. Actually it would move Duality on the top of any other ready-to-go engines.

Adam wrote:
Please share your findings! I'd be quite interested in this as well.

I will. I have a feeling that Duality will perform better, but we will see.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group