Hello Guest, please login or register.
Did you miss your activation email?
Login with username, password and session length.

Pages: [1]   Go Down

Author Topic: The XNA Issue  (Read 1760 times)

0 Members and 1 Guest are viewing this topic.

AJAX

The XNA Issue
« on: April 22, 2014, 03:33:32 pm »
When King of Thieves was started as a codebase, the decision was to use XNA. It was a rather nice framework around DirectX which provided a sprite batch, sound system, xinput, basically everything you need to get started on writing a game. Unfortunately for us, Microsoft decided to pull the plug on it.

Refer to this article here.

This poses a huge problem as this means that the engine will deprecate with XNA. Not good. My intent is just to get the idea out there that some grunt work has to be done to save King of Thieves from the blackhole that is XNA. Anyone can go in their own direction with how they feel they should solve this problem, so keep this in mind that the team controlling King of Thieves may or may not accept your merge request if you decide to fix this problem!

So, we have ourselves a few exit plans:

(Note: I am going over every possible case that I can think of, and list everything out. And King of Thieves in this thread = the game engine, NOT the game)

- Find a drop-in replacement framework(like MonoGame) which implements the entire XNA Stack.
Pros:
No code changes needed on our end
Less maintenance
Cons:
Uncertainty with licensing. i.e. MonoGame requires users to pay a fee if they intend selling their game. Sure, we are making fan games with this but what if someone were to use this codebase for making a game?

- Replace the XNA functions that we use with our own implementations.
Pros:
Minimalizes the amount of extra code that could possibly be introduced by adding a drop-in XNA replacement.
In-The-Middle:
Makes KoT more of a "game engine framework" than just a "game framework".
Cons:
Extra maintenance
Potential for added code complexity

-Continue using XNA.
Pros:
Wooo no work needed on us!
Cons:
Deprecation of XNA.

Annd.. this being an open source project, I am going to actually work on chasing after my own solution. It's something I feel would be a "fun" project, a new entry to my resume, and why the hell not. Even if the team don't accept my work, it can be used by anyone else who may want to use it!

I'm leaning towards cherry-picking out the XNA-specific extensions that are used in King of Thieves and to write my own drop-in replacements for them. I am arguing that MonoGame's not exactly the solution we're looking for in terms of King of Thieves as it adds yet another level of complexity(at least in terms of SDKs), and maybe King of Thieves should resemble a game engine. Since there's a reference implementation already in place that works with XNA, this would actually act as a good way to show that you can swap out the internals for different technologies to meet your needs, if you need to.

I am doing research now as to whether or not I want to use OpenTK, SDL, or SFML. There are pros and cons to each and every one of these paths.. I am simply looking for something that may or may not work.

At the time this post has been written, I've only managed to convert the codebases over to VS 2013. They're not committed quite yet. So, the repos are exactly matched with the base.

Repository URL: https://github.com/gm112/King-of-Thieves

Share your thoughts!
Logged
Re: The XNA Issue
« Reply #1 on: April 22, 2014, 04:21:05 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 204
- Find a drop-in replacement framework(like MonoGame) which implements the entire XNA Stack.
Pros:
No code changes needed on our end
Less maintenance
Cons:
Uncertainty with licensing. i.e. MonoGame requires users to pay a fee if they intend selling their game. Sure, we are making fan games with this but what if someone were to use this codebase for making a game?
Actually, I've looked into this a bit more since my posts in the other thread.

http://stackoverflow.com/a/6151106/320518
http://programmers.stackexchange.com/q/205041

According to the answers at those links, in the cases of Unity and MonoGame a Mono license is not at all required for the average PC game. It is if you statically link the library instead (is this even possible with Windows/VS/C#?) and for "embedded systems" including Andorid and iOS. I don't know how that factors in with Unity's Android/iOS support but that isn't relevant to this thread anyway.

Though last time I looked at MonoGame it still required parts of XNA to build in most cases. I think it had something to do with content projects? Does anyone know if that has been dealt with yet, or is it still an issue?
Logged

AJAX

Re: The XNA Issue
« Reply #2 on: April 22, 2014, 04:26:22 pm »
XNA Content is a weird part of the stack that I don't think really anybody used. Same with components. As far as I remember, KoT itself used the Batch, Structs(Vector2, etc), Input, and the audio subsystem. But XACT can be replaced with another sound system quite easily as nothing exploits the things XACT has to offer.

Logged
Pages: [1]   Go Up

 


Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved



Page created in 0.024 seconds with 26 queries.