Canon Fodder

Games => Shadow Wolf => Topic started by: kitling on October 05, 2014, 11:50:06 AM

Title: Cross-Platform Support
Post by: kitling on October 05, 2014, 11:50:06 AM
Okay, this is a big one. I'd like to see Shadow Wolf on Mac and Linux.

Seeing how you use XNA and Visual Studio 2010 for development, I think it pretty likely that you're using C#. Luckilly, there's Mono, a cross-platform version of C#, and MonoGame, a cross-platform version of XNA 4.0. I reccomend that you possibly take a look?

The other option, I suppose, would be to rewrite everything in something like C++. *cringes* I get the feeling that that's not going to happen...

Here come the rushing waters of the flodgates opening. I hope I don't drown.
Title: Re: Cross-Platform Support
Post by: Felblood on October 05, 2014, 02:06:15 PM
I'd love to see this happen, but it's a tall order to be sure.

You're talking about a massive investment in training for a team that already doesn't have time to get any (well much. The point is that this project is set to take several more years.) actual work done.

Plus, we have a major communications issue, which bottlenecks a lot of our production, which has effectively led to a feature freeze.

DW has to get his netcode up to a marginally functional level, before any of the stuff I'm working on can even be used, etc.

EDIT: I know WE talked about this artier in chat, but it's important to bring the lurkers up to speed.
Title: Re: Cross-Platform Support
Post by: kitling on October 05, 2014, 08:52:08 PM
I'd love to see this happen, but it's a tall order to be sure.

You're talking about a massive investment in training for a team that already doesn't have time to get any (well much. The point is that this project is set to take several more years.) actual work done.

Plus, we have a major communications issue, which bottlenecks a lot of our production, which has effectively led to a feature freeze.

DW has to get his netcode up to a marginally functional level, before any of the stuff I'm working on can even be used, etc.

EDIT: I know WE talked about this artier in chat, but it's important to bring the lurkers up to speed.

Indeed. Could be quite difficult.

Hopefully, required training would be very little, since MonoGame should be a drop in replacement for XNA. In practice, who knows. The only way for me to tell is to write a (simplistic) C# application using XNA, and then port it to C#. I may try this at some point. If I do, then I can tell you how smooth or difficult it was. 'Til then...

As for everything else, yeah. That's understandable. A fictional priority for this could be 'Very Very Low' or 'End of Development'.

Let's see what happens...
Title: Re: Cross-Platform Support
Post by: Felblood on October 05, 2014, 08:55:07 PM
Actually, this really is something we've talked about  doing after the PC version is ready to roll.

If you do those experiments, I would be very interested to hear the results.
Title: Re: Cross-Platform Support
Post by: kitling on October 06, 2014, 07:43:31 PM
Actually, this really is something we've talked about  doing after the PC version is ready to roll.

If you do those experiments, I would be very interested to hear the results.
I am installing Windows 7 in a VM now, and I found a game based on XNA that had the source code released. I will post my results if/when I get to it.

EDIT: Installing VS Express 2013. Wondering if it'll ever finish. Thinking of trying to install 2010, instead...
EDIT 2: Just noticed some progress! Still taking a looong time, though. :-\
Title: Re: Cross-Platform Support
Post by: Felblood on October 06, 2014, 08:32:37 PM
Cool.

Monogame has truly noble goals and everything, it's just that I've used enough open source stuff to wonder if it works.
Title: Re: Cross-Platform Support
Post by: kitling on October 08, 2014, 06:34:15 PM
Cool.

Monogame has truly noble goals and everything, it's just that I've used enough open source stuff to wonder if it works.

I don't know whether it works or not, all I know is there seem to be a lot of tutorials recently on switching from XNA to MonoGame to make applications work with Windows 8 Metro... Slightly related to what I'd like to see work... Hopefully, this means that it works! Right?  :-\
Title: Re: Cross-Platform Support
Post by: Felblood on October 08, 2014, 07:55:24 PM
This means that people have managed to make it work, in some cases.

Can I get a link to some of those tutorials?

With MS dropping XNA support, I'd be nice to know they'll still make computers that run this game when we are done making it.
Title: Re: Cross-Platform Support
Post by: kitling on October 08, 2014, 08:40:30 PM
This means that people have managed to make it work, in some cases.

Can I get a link to some of those tutorials?

With MS dropping XNA support, I'd be nice to know they'll still make computers that run this game when we are done making it.
Heh. I suppose that would be nice to know. Alright, I'll go dig up links.

Interestingly enough, there is another reimplementation of XNA called ANX. (Seriously? Who came up with that name?)
http://anxframework.codeplex.com/ (http://anxframework.codeplex.com/)
However, it is Windows only.

There are enough tutorials/articles that I don't care to list them all, but here are a few I have stumbled upon:
http://blogs.msdn.com/b/bobfamiliar/archive/2012/08/02/windows-8-xna-and-monogame-part-2-getting-started.aspx (http://blogs.msdn.com/b/bobfamiliar/archive/2012/08/02/windows-8-xna-and-monogame-part-2-getting-started.aspx)
http://www.gamasutra.com/view/feature/192209/from_xna_to_monogame.php (http://www.gamasutra.com/view/feature/192209/from_xna_to_monogame.php)
http://ballerindustries.com/2012/11/using-monogame-to-port-an-xna-game-to-windows-metro/ (http://ballerindustries.com/2012/11/using-monogame-to-port-an-xna-game-to-windows-metro/)

I also ran across this stack overflow question:
http://stackoverflow.com/questions/21658493/is-monogame-just-xna (http://stackoverflow.com/questions/21658493/is-monogame-just-xna)

If you want to find more, here is a link to the search where I found all of these...  :P

http://lmgtfy.com/?q=Switching+from+XNA+to+MonoGame (http://lmgtfy.com/?q=Switching+from+XNA+to+MonoGame)

So, have fun with links!
Title: Re: Cross-Platform Support
Post by: Felblood on October 09, 2014, 10:49:08 AM
Thanks!

I found the Stack Overflow's brevity valuable, and now I'm working through the Gamasutra article, for a deeper look.

I'm in my manic phase today, and I'm seriously tempted to download some libs and grind out some test code, but I should definitely not do that.

MY second kid is due any day now, and I need to channel these manic energies to good use.
Title: Re: Cross-Platform Support
Post by: kitling on October 09, 2014, 11:33:19 AM
Thanks!

I found the Stack Overflow's brevity valuable, and now I'm working through the Gamasutra article, for a deeper look.

I'm in my manic phase today, and I'm seriously tempted to download some libs and grind out some test code, but I should definitely not do that.

MY second kid is due any day now, and I need to channel these manic energies to good use.
Yeah, that would probably not be a good idea. Anyway, that's what I'm trying to do for you, that is, if VS 2013 Express ever finishes installing. :-\

Hmm. Perhaps I should've given the VM more RAM then the default. But... I don't want to restart the installation...

Also, it would help if my computer is on, which it isn't, at the moment...

Soo... should I switch to VS 2010 Express, if I can find it?
Title: Re: Cross-Platform Support
Post by: Felblood on October 10, 2014, 04:37:27 PM
Good question.

I use VS2010 express, because that's what I got free in school and I have no money, and I've never needed to upgrade to 2014.
Title: Re: Cross-Platform Support
Post by: kitling on October 10, 2014, 08:30:42 PM
Never mind, I'll just install MonoDevelop. I was thinking of XNA 4.0 that I had to install...
EDIT: I still have to install VS 2010, for XNA4.0 for content pipeline... xD
Title: Re: Cross-Platform Support
Post by: kitling on October 11, 2014, 10:45:33 PM
I'm glad I stopped installation of VS 2013. I raised the ram from 1/2 GB to about 3 GB, gave it another core, and installed VS 2010, XNA Game Studio, any dependencies needed, and MonoDevelop.

Now I just need to preform the actual experiment.

MonoDevelop is probably not necessary, but I got it, just in case I end up using it on my actual machine, which runs Ubuntu. (I can get used to MonoDevelop as opposed to VS.) Anyway...

Oh, I suppose I need to get MonoGame, for the purpose of porting. That shall have to happen. Hmm. Anyone playing the ported game afterwards will likely need to install MonoGame, but that shouldn't be that big of a problem for some people. I suppose it would be nice for people on Linux/Mac if they didn't have to install the whole Mono runtime + MonoGame to play ShadowWolf...

Heh, I wonder if we could bundle a runtime with the ported game? Another experiment, after I finish this one?
Title: Re: Cross-Platform Support
Post by: Felblood on October 12, 2014, 05:24:03 PM
Maybe on Mac.

Linux people are used to having to keep track of which dependencies they need for a particular application. No sense burdening people who already have it installed, or need to install some weird fork version because their rig is made of two laptops with no hard drive.
Title: Re: Cross-Platform Support
Post by: kitling on October 12, 2014, 07:12:58 PM
Maybe on Mac.

Linux people are used to having to keep track of which dependencies they need for a particular application. No sense burdening people who already have it installed, or need to install some weird fork version because their rig is made of two laptops with no hard drive.

Not all Linux people are used to that. I find it annoying sometimes, when I cannot install a package normally (using apt-get), that I have to install all of the dependencies. There are people, who are fresh off of WIndows, switching to Linux, who would find all of this confusing. No matter what OS somebody is running, it is going to be easier for the person running it to just have it bundled, instead of having to download/install Mono, and then download/install MonoGame.

Ahem...

What I meant by a bundled version, is a version that doesn't need to be installed: You click on a script or a binary, which calls the bundled runtime with the executable as the target, and it runs the game with the bundled Mono runtime. The point would be so that people don't have to worry about the dependencies, no matter what OS they're on. Additionally, the main EXE would be available, in case the person running it wants to use their own version of MONO/MonoGame.

You could also include just the MonoGame library with the executable, so that the game doesn't need to install extra libraries. Or just do none of these things. Depends on the amount of time you are willing to spend on trying to make things work.

Keep in mind, I'm just throwing ideas around now. However, that's the beauty of experimentation: You play around, and see what works. I will see what I can do after I try porting a game with available source code based on XNA that is available online.

Wow. I've started typing big responses. I'll just go now...
Title: Re: Cross-Platform Support
Post by: Felblood on October 13, 2014, 05:02:57 PM
The thing is, I've installed some indie games that packed in their dependencies in the past, and it's always been more work than just throwing that crap away and doing it by hand.

This is probably because the guys making the packs are only slightly more skilled than I am.

There's a difference between being lazy and knowing your limitations.
Title: Re: Cross-Platform Support
Post by: Dragyn on October 13, 2014, 08:00:46 PM
Wow.  You guys have been busy in my absence.
My life is super busy at the moment, but should settle some soon...but my computer died, and needs a new Hard Drive before I can do any more programming. 

Not to worry, I got everything backed up when it started to die, it's just a pain.  I should be able to order that in the next couple weeks, after everything settles.

That said, MonoGame looks simple enough to implement.  I had it installed on my computer, but I obviously won't now. :P  I figure I'll finish the game as-is before I worry about cross platform implementations.
Title: Re: Cross-Platform Support
Post by: Felblood on October 16, 2014, 01:30:05 PM
This is super busy?

Dude, our forum is basically just me, and the occasional random person that I lure in from original recipie virmir.com, with the promise of dwarf tallow cookies.

That said, The interface is ju~st different enough that I'm not sure which way would be easier, but at the rate we are producing code, we need to not rock the boat just now.

That said, could you update the canonfodder front page to indicate that progress on SW has continued and will continue to continue once your machine is replaced? The currect newspost implies that you haven't worked on is since June, when the fact is that you use what time is available to work on it, rather than to update the newspost.
Title: Re: Cross-Platform Support
Post by: Dragyn on October 19, 2014, 07:15:17 PM
Sure I can...just have to dig up the right page, since the hard drive I had it bookmarked on went bork. :P
Title: Re: Cross-Platform Support
Post by: kitling on October 26, 2014, 10:41:39 PM
Sure I can...just have to dig up the right page, since the hard drive I had it bookmarked on went bork. :P
Yeah, stuff like that can be tough.

As a progress update, nothing much has happened because my computer started doing weird things (again). As such, I have not been able to access the VM.

Whyyyy~!
Title: Re: Cross-Platform Support
Post by: Dragyn on October 31, 2014, 04:26:05 PM
Computers, man...can't live with 'em, can't live without 'em.
Title: Re: Cross-Platform Support
Post by: Felblood on November 07, 2014, 05:19:32 AM
Computers, man...can't live with 'em, can't live without 'em.


...and then his ISP was bought out by a much more expensive company. :o

Please pray for my my brother, I fear we may never see him again. :'(


All joking aside, it looks like he's going to be even harder to reach than usual for a while.

Title: Re: Cross-Platform Support
Post by: kitling on November 07, 2014, 08:35:10 PM
Computers, man...can't live with 'em, can't live without 'em.


...and then his ISP was bought out by a much more expensive company. :o

Please pray for my my brother, I fear we may never see him again. :'(


All joking aside, it looks like he's going to be even harder to reach than usual for a while.

Oh dear. That can't be good.

Joking aside, well... No progress, whatsoever.
I got my laptop working in prime condition again (video card driver issues), my desktop... has not been touched in a while. I'm afraid to do anything. Kind of. Bleh. I really should. I'll go do stuff with that now.

Cya!
Title: Re: Cross-Platform Support
Post by: Dragyn on November 09, 2014, 04:02:35 PM
For the moment, I exist.  Once they terminate support...we'll see what happens.

Not much to report, really.  Trying to get everything here ready for the winter 'ere winter arrives in earnest, so not much computer stuff of late.
Title: Re: Cross-Platform Support
Post by: kitling on January 29, 2015, 10:02:37 PM
So, my desktop is close enough to being dead right now that I don't touch it. So, sorry, no matter how interested I am in this, I'm not going to be able to run anything in an emulator for a bit.

Good news, I redid my laptop (again) so I have a distribution where everything isn't so out of date that I can't install anything new without adding repositories for the things that whatever I'm trying to install depends on. This means that I can play Dwarf Fortress, finally.

I'll also try to get MonoDevelop (Xamarin Studio?) on my laptop, and try doing domething.

Hopefully I'm not especially busy through this semester.

So, that's that. See you another time.