Adam's Lair Forum

game development and casual madness
It is currently 2017/03/28, 00:34

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: 2016/04/12, 19:42 
Junior Member
Junior Member

Joined: 2016/04/12, 11:55
Posts: 28
Location: Israel
Role: Hobbyist
Hi, Adam.
I'm probably not the person who can tackle such task, but can you provide the starting point for each bullet just to roughly assume amount of work?


Top
 Profile  
 
PostPosted: 2016/04/12, 20:00 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1935
Location: Germany
Role: Professional
The first three points are a matter of copy-pasting the existing launcher- and backend plugin implementations, understanding what they do, and modifying them so they work on Android. I can't really give a good estimate here, but I would assume that after v2.0, this isn't too much work. Maybe a few weeks if you know what you're doing (Multiply that by Pi, because learning and running into problems, the usual :) ). Most of that time will likely be replacing OpenGL with OpenGL ES.

Then, after getting Duality to launch and do stuff on Android, comes the second part: Lots and lots of profiling and optimizing for performance and memory / GC pressure, as well as adjusting to the quirks of the platform. I have no way of giving a solid estimate on this and I expect this to be the much bigger part. There will be problems and they will need to be solved. We just don't know how they will look like ^^

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/04/12, 20:07 
Junior Member
Junior Member

Joined: 2016/04/12, 11:55
Posts: 28
Location: Israel
Role: Hobbyist
Quote:
(Multiply that by Pi, because learning and running into problems, the usual :) ).

That's actually a very good formula for estimating a task I was looking for! :D

Wonder why performance will be a big issue on mobile platforms? As modern devices should be powerful enough even for 3D games and Duality seems like very well written 2D game engine.


Top
 Profile  
 
PostPosted: 2016/04/12, 20:19 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1935
Location: Germany
Role: Professional
mikeg wrote:
Wonder why performance will be a big issue on mobile platforms? As modern devices should be powerful enough even for 3D games and Duality seems like very well written 2D game engine.

I think it's mostly about the garbage collector not being as efficient on mobile than it is on PC. Also, code that previously got away with burning through resources (sometimes unnoticed) will finally need to face its inefficiencies. Mobile is definitely able to handle Duality and Duality games, but we won't have the same near-unlimited resources as before.

mikeg wrote:
Quote:
(Multiply that by Pi, because learning and running into problems, the usual :) ).

That's actually a very good formula for estimating a task I was looking for! :D

See also. ;)

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/04/13, 18:33 
Junior Member
Junior Member

Joined: 2016/04/12, 11:55
Posts: 28
Location: Israel
Role: Hobbyist
Another thoughts on bringing Duality to mobile...

MonoGame is cross-platform C# low-level game framework, which basically provides 3 functions: Load-game-content, Draw (called every frame to draw stuff) and Unload-game-content. And also it has it's own Content pipeline handling. That's at least from what I could understand.

Is it possible to bring Duality on top of MonoGame? Can it be hooked to those 3 functions? It seems like a natural solution to make Duality cross-platform.


Top
 Profile  
 
PostPosted: 2016/04/13, 20:15 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1935
Location: Germany
Role: Professional
mikeg wrote:
Is it possible to bring Duality on top of MonoGame? Can it be hooked to those 3 functions? It seems like a natural solution to make Duality cross-platform.

I personally don't like that idea very much, because MonoGame is quite massive and does a lot of stuff that Duality doesn't need it to do, so there's probably a lot more overhead than would have to be. (I'm a bit of a minimalism enthusiast when it comes to some things ^^)

That said, it's entirely possible. As of v2.0, Duality has this backend abstraction layer and it really doesn't care what's underneath.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/04/13, 21:29 
Junior Member
Junior Member

Joined: 2016/04/12, 11:55
Posts: 28
Location: Israel
Role: Hobbyist
Quote:
I personally don't like that idea very much, because MonoGame is quite massive and does a lot of stuff that Duality doesn't need it to do, so there's probably a lot more overhead than would have to be.

I'm not saying that this is perfect idea, just trying to find a way into mobile land.
MonoGame is open source as well, unrelated stuff can be left outside maybe.
Maybe UrhoSharp can lead to some inspiration as well.

Quote:
I'm a bit of a minimalism enthusiast when it comes to some things

This is why it's hard to see such great engine wasted without mobile platforms support.

Adam, can you write next post in blog about those hooks and parts of Duality that related to porting? So that people who have spare time and will could help with porting. :)


Top
 Profile  
 
PostPosted: 2016/04/13, 22:22 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1935
Location: Germany
Role: Professional
mikeg wrote:
Quote:
I personally don't like that idea very much, because MonoGame is quite massive and does a lot of stuff that Duality doesn't need it to do, so there's probably a lot more overhead than would have to be.

I'm not saying that this is perfect idea, just trying to find a way into mobile land.

Yep, totally appreciate that :) I didn't want to come across dismissive of this idea, it might actually be viable. Even if I don't pursue the MonoGame path myself, there may be value in exploring this.

mikeg wrote:
This is why it's hard to see such great engine wasted without mobile platforms support.

Adam, can you write next post in blog about those hooks and parts of Duality that related to porting? So that people who have spare time and will could help with porting. :)

It's been a while since I managed to get the time together for a thorough blog posting, but I'll see what I can do :) In the mean time, exploring the source code of the default backend plugins is a good starting point: DefaultOpenTK handles audio and graphics bindings and DotNetFramework does system stuff like file system access and path translation. The first step would probably be to set up a new launcher application for Android that just boots up the engine. As long as there are no backend implementations, Duality will choose a fallback dummy that doesn't do anything but will allow it to run without crashing. That way, you should be able to do the porting one step at a time and have a running test version throughout.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ]  Go to page Previous  1, 2

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


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