Suggestion: Platform independent SDL

Discuss the future of Warzone 2100 with us.
Post Reply
Bethrezen
Regular
Regular
Posts: 661
Joined: 25 Sep 2009, 02:05

Suggestion: Platform independent SDL

Post by Bethrezen »

hi all

So I came across Syndicate Wars Port which as I understand it uses a platform independent code to allow Syndicate to run on modern computers, and it works grate and that got me to thinking has anyone ever considered building warzone using a platform independent code ?

The reason I ask is because this would allow a single build of warzone to run on pretty much any system and might actually make maintenance a bit easier since you would only have to maintain a single build and in theory it should also allow warzone to run on older operating systems like XP without having to do a whole bunch of extra work

Now I'll grant you I'm not a programmer so I don’t know how much work would be involved in this assuming its even possible at all but I figure I'd make the suggestion in case it's something that no one ever considered before.

if you are interested you can find it here https://www.libsdl.org/index.php and here is a bit more info about it https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer

oh also in case any of you RTS fans are interested I also came across M.A.X. Port which also seems to be using the same platform independent SDL to allow M.A.X. to run on modern computers work still seems to be at an early stage so there are no binaries available just yet but it will be nice to finally be able to play a game of M.A.X. without the game constantly crashing and generally malfunctioning because even if you swap out the 1.97 dos extender that comes with M.A.X. which was very buggy and responsible for a lot of the problems with M.A.X. there are several bugs that where never fixed even in version 1.04
pastdue
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 339
Joined: 13 Aug 2017, 17:44

Re: Suggestion: Platform independent SDL

Post by pastdue »

Hi Bethrezen!

Fortunately we already use SDL, and it does indeed help quite a bit with making things cross-platform.

Unfortunately it doesn't itself solve the issues with XP compatibility - in fact the situation for compiling code for XP has gotten a bit worse as many compilation toolchains / libraries now rely on Vista+ APIs.

I've done some work on getting WZ to compile using mingw - so it might be a bit easier to hack together a quick one-off build that'll run on XP, but we'd probably have to explicitly use an older mingw toolchain to do it. (Not sure if / when I'll have a chance, but it is closer to being possible now.)

In general, I would not expect games that are freshly ported to using SDL to magically support XP, as a lot of the build toolchains / other libraries now no longer support XP. And I would expect a decent percentage of development to be using more modern build toolchains to have better support for modern Windows versions (alas).
Bethrezen
Regular
Regular
Posts: 661
Joined: 25 Sep 2009, 02:05

Re: Suggestion: Platform independent SDL

Post by Bethrezen »

I've done some work on getting WZ to compile using mingw - so it might be a bit easier to hack together a quick one-off build that'll run on XP, but we'd probably have to explicitly use an older mingw toolchain to do it. (Not sure if / when I'll have a chance, but it is closer to being possible now.)
humm... interesting.

to be honest this sort of a thing isn't really something that I understand well as it wasn't really covered extensively when I was at collage even though the course I was doing covered interactive media it was more the web development side of things so planing and designing the site creating the assets then building it doing some video capture / editing and then rendering it.

while I did have to cover programming basics and I did do a little programming with vb and while I did build some simple apps through stuff like game maker the stuff that I was doing was nowhere near as complex as warzone although to be fair I still learned a little something from it and once you can program in one language you can program in any language since they all work pretty much the same way the only real difference is the grammar and syntax of the language you are working with I guess programming is one of those things that you really don't learn to do until you are doing it every day on real world projects because it's just so complex.

starting with something a bit simpler like JavaScript is probably a good starting point, although having poked around some or warzones scripts much of it is still a little to complicated for me to understand, some of the stuff I have played with before like loops and functions are familiar and looking at it can can get a rough idea of what its doing some of it though may as well be written in hieroglyphs because I haven't got a clue OOP is something else that confuses me as well procedural is much easier since each command does just 1 thing where in OOP each object can do multiple things which can make life somewhat more complicated when you are trying to figure out how to access the specific part of the object you want to access.

In general, I would not expect games that are freshly ported to using SDL to magically support XP, as a lot of the build toolchains / other libraries now no longer support XP. And I would expect a decent percentage of development to be using more modern build toolchains to have better support for modern Windows versions (alas).
True although to be fair its not the first time I've encountered this I ran 98se for years after M$ stopped supporting it so as frustrating as it can be at times when you can't get stuff working it does teach patients if nothing else, I guess I'll just have to keep checking back from time to time.

I'm hoping that before to long ReactOS will get to a point where its good enough for day to day use and I can finally drop XP although given how long it's taken them to get to this point I'm not counting on it happening any time soon guess we'll just have to wait and see.

It's just unfortunate as far as development goes since there was only really a couple of us actually testing and not having people testing can really slow things down and stop bugs getting identified and fixed.
Post Reply