Adam's Lair Forum

game development and casual madness
It is currently 2019/10/17, 05:49

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 160 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 16  Next
Author Message
PostPosted: 2015/05/01, 21:34 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
Finally got around to deal with an open issue on GitHub.

It's a special one, because everything is now in place for me to start working on the 2.0 milestone and - for the one, big update - abandon backwards compatibility when necessary to do some large-scale restructuring of the framework towards portability. And while I'm at it, might as well address some smaller issues that simply couldn't be done before because they would've broken too much.

What will that mean for you?

  • If you have an existing project, you can continue it without problems, but there likely won't be any more updates to Duality after 2.x is released. You will only be able to use packages that are targeted towards 1.x as well. That means every package that hasn't yet been updated to the later 2.x Duality version.
  • If you are developing plugins for Duality, you can continue to do so and publish them for 1.x users, but they won't show up for new installs beyond 2.x. When you update to target 2.x, new releases won't show up for 1.x users anymore.
  • In either case, you can also choose to update to 2.x, but you will have some porting to do. Likely nothing more than a day's work, probably just a matter of hours - but it might require some really careful handling of existing game content, depending on the kind and size. If you have a near-finished game, simply not updating might be a better choice.
  • If you start a new project after 2.x is released, you don't have to do anything. You're on the 2.x side by default.

I have created a new GitHub branch called 1.x - it equals the current release version and will remain static except for critical fixes. The master branch can from now on be considered a 2.x version.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2015/05/07, 16:11 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
I think I found a new metaphor for the relation between Duality and other game engines.

Quote:
Others: Apartments with fully pre-arranged furniture, ready for anyone to move in soon.
Duality: An empty room and unlimited IKEA access.


Not yet sure how good that fits though :mrgreen: Other suggestions?

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2015/05/07, 17:44 
Forum Adept
Forum Adept
User avatar

Joined: 2015/03/15, 02:49
Posts: 354
Location: Out there
Role: Hobbyist
I wouldn't say that it's empty. That is ignoring the IDE, and all the grunt work already in Duality. I'd apply the empty adjective to the likes of XNA/SFML, for instance.

I mean, it has all you need out of the box. You have to know what to do, though...

_________________
Hello there! Nice to meet you!
I have github. Apologies in advance for bad coding practices.


Top
 Profile  
 
PostPosted: 2015/05/07, 18:03 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
Mhm, you're right.

I was kind of thinking about the fact that Duality is all about being modular and assembling and adjusting it all to the custom setup that one single project might need. But when you're putting it like this.. well. ^^

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2015/05/07, 18:21 
Forum Addict
Forum Addict
User avatar

Joined: 2013/09/19, 14:31
Posts: 883
Location: Italy
Role: Hobbyist
Adam wrote:
I think I found a new metaphor for the relation between Duality and other game engines.

Quote:
Others: Apartments with fully pre-arranged furniture, ready for anyone to move in soon.
Duality: An empty room and unlimited IKEA access.


Not yet sure how good that fits though :mrgreen: Other suggestions?

I'd go with something like
  • Starting from scratch: you have an empty plot of land, there is a forest, some stone, and you have a few tools.
  • Low level frameworks (XNA, SFML, ...): you have some premade panels that you can arrange how you want to make a room, a forest, stone, some pre-cut lumber and materials, and some machines that help you do the work.
  • Duality: you have a room that you can stretch and reshape how you want, walls are already painted and the floor is down, but you can still paint over them or change the tiles. You have unlimited access to IKEA and to the woodshop if you so prefer. Lots of machines.
  • Others (Unity, ...): you can choose the room and furniture you want from a shiny catalogue, but the instructions on how to make your own are written in an obscure and forgotten language.

_________________
Come on Duality's Discord channel. We have cookies! :mrgreen:


Top
 Profile  
 
PostPosted: 2015/05/15, 14:15 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
Progress! The entire rendering code has now been moved behind a rendering backend abstraction layer and is ready to be moved into a plugin. Next up are window management, audio and system abstractions, and once they're all done, there will be no direct dependency between Duality and OpenTK anymore.

This is really exciting. Once OpenTK is gone into a plugin, there is nothing that prevents anyone from replacing it with his own backend. OpenGL ES, Vulkan or DirectX anyone? ;)

Once that's done, I will focus on removing .Net dependencies and updating internal code in order to make the Duality core and all of its plugins Portable Class Libraries using Profile111. What this means? All future games and third-party plugins will, by default, would be compatible for being run on different platforms than Windows, even including some non-Desktop platforms.

It does not mean that Duality is suddenly multi-platform; but all it will take to port it will be writing a custom backend plugin, maybe a custom launcher and packing it all up. I won't be doing any ports myself, but I'm almost tempted to say that porting will become an easy task for anyone with experience on the target platform.

Not there just yet. It will be quite a bit of ground to cover and a lot could go wrong or fall short on its goal - but let's hope for the best.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2015/05/15, 18:04 
Forum Adept
Forum Adept

Joined: 2014/12/13, 00:11
Posts: 398
Location: Brazil
Role: Gamer
Adam wrote:
It does not mean that Duality is suddenly multi-platform; but all it will take to port it will be writing a custom backend plugin, maybe a custom launcher and packing it all up. I won't be doing any ports myself, but I'm almost tempted to say that porting will become an easy task for anyone with experience on the target platform.


What about Mono? If I want to port my game/app to Linux and OS X systems, would I have to use Mono's libraries instead of .Net? (I don't know much about Mono)

_________________
I only know the basics of C#. I have no advanced knowledge.


Top
 Profile  
 
PostPosted: 2015/05/15, 21:18 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
RockyTV wrote:
What about Mono? If I want to port my game/app to Linux and OS X systems, would I have to use Mono's libraries instead of .Net? (I don't know much about Mono)


Yes, but Mono is essentially an open implementation of the .Net Framework. As long as you don't use any .Net libraries that aren't supported by Mono, you should be fine.

But, again, I'm not really a multi-platform expert, so I might not be the right person to ask here. ^^

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2015/05/15, 21:52 
Forum Adept
Forum Adept

Joined: 2014/12/13, 00:11
Posts: 398
Location: Brazil
Role: Gamer
Adam wrote:
RockyTV wrote:
What about Mono? If I want to port my game/app to Linux and OS X systems, would I have to use Mono's libraries instead of .Net? (I don't know much about Mono)


Yes, but Mono is essentially an open implementation of the .Net Framework. As long as you don't use any .Net libraries that aren't supported by Mono, you should be fine.

But, again, I'm not really a multi-platform expert, so I might not be the right person to ask here. ^^

Are you going for full cross-platform support? That way you don't need to install any dependencies to run Duality?

EDIT: that should've been my first question :P

_________________
I only know the basics of C#. I have no advanced knowledge.


Last edited by RockyTV on 2015/05/15, 23:44, edited 1 time in total.

Top
 Profile  
 
PostPosted: 2015/05/15, 23:32 
Forum Adept
Forum Adept
User avatar

Joined: 2015/03/15, 02:49
Posts: 354
Location: Out there
Role: Hobbyist
How does that change Duality itself, regarding plugins?
I'm trying (and failing) to get on how to make a plugin, butprocesses if the architecture is to change, no problem.

_________________
Hello there! Nice to meet you!
I have github. Apologies in advance for bad coding practices.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 160 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 16  Next

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