Port Zandronum to <Platform here>
Port Zandronum to <Platform here>
tl;dr: Hobby developers will only port their software to platforms they are personally interested in. The only reason Zandronum isn't on your favorite platform is the lack of developer interest.
Since these threads appear every now and then I figure I should write a proper answer and sticky it so that the rumors about our code base and/or porting policies don't needlessly spread. Also, I will first speak from the point of view of a ZDoom developer since it will simply some things a bit.
So you've stumbled across the world of home brew or you got some new phone or tablet and are about to ask if we will port our software to your device of choice. Do not bother to ask here since the answer is going to be no.
First let me get a few rumors out of the way. ZDoom is not a huge unmaintainable mess. It is a fairly complex piece of software with a lot of specialized parts and, due to the age of the project, there is a lot of code that isn't a picture perfect example of good code. No doubt about that, but overall a single developer can understand how most of the code works. People also seem to still believe that ZDoom is locked to the x86 architecture. On the contrary, ZDoom itself has been known to run on PowerPC, MIPS, and ARM. Yes ZDoom contains x86 and x86-64 assembly code, but it is all entirely optional!
Now that I just got done explaining that it would be easy to get ZDoom running on any platform, why would we not want to expand our user base? For home brew systems, the answer is usually that FMOD is not available for that system. Because of this the entire sound system would need to be translated to something comparable. We have no interest in doing this ourselves since from our research there is no suitable replacement for FMOD that won't provide a worse experience for our current users. There has been some work contributed for optionally using OpenAL, but the developer of that branch has not made any progress recently.
But what about Android/iOS/Windows Phone/Windows RT where FMOD is available? In these cases the issue is mostly that we have no touch screen interface. All of these platforms do, to my knowledge, have a way to connect a keyboard, joystick, or mouse to them, but from a user experience stand point one should not have to assume any of these devices are available. Further more for the best experience the platform specific back end should be rewritten to be native to those platforms (this isn't nearly as much work as it sounds since ZDoom already has the interfaces laid out).
In many cases, Android being a notable exception, there is the walled garden problem. App store policies generally assume that the app is stand alone and does not rely on third party data (game IWADs). I know Apple does not allow execution of user source code, so the iOS app store is definitely a no go even if freedoom or whatever was packaged along with it. Since the platforms do not support side loading out of the box, ZDoom would be limited only to jail broken devices which vastly shrinks the user base. Small user base means low developer interest. (Note that this is ignoring possible license politics, and no being GPL would not alleviate any of that.)
Now how does Zandronum differ from ZDoom? Given the age of our ZDoom base at the time of writing, Zandronum is still locked to x86 architectures. The reason is mostly known so it wouldn't be hard to fix this, but our current stance is to just wait until the ZDoom base is upgraded. Also worth noting is that Zandronum's code quality is significantly lower than ZDoom's. (If you ever wondered why ZDoom doesn't pull Zandronum's bot code, this is the reason.) This has caused some issues with type sizes being assumed and stuff like that. Again, not a huge problem, but for this reason I would highly recommend anyone interested in doing a port to start with ZDoom first. You will have a much higher chance of initial success. ;) Otherwise the only other issue could be getting the OpenGL renderer working, but that's optional code.
One thing that is definitely NOT the reason the ports don't exist is any disadvantage given by the platforms control schemes. This is usually mentioned by more competitive players, but the fact there are a lot of casual players that just don't care about that problem. For example, ZDoom and Zandronum provide above average controller support for a computer game because there are people that want to use a game controller for one reason or another.
To conclude, don't bother asking here for ports to other platforms. If one of us becomes interested in a platform we'll just port it without being prompted. Instead find a community for your platform of choice and see if there's anyone there interested in doing the port. Perhaps this is a good reason to get into programming so you can do it yourself! Provided the code changes are done right there's no reason we wouldn't accept the port upstream, and if it isn't too hard to set up a development environment for it's possible we'd even maintain updated binaries once the port exists.
Since these threads appear every now and then I figure I should write a proper answer and sticky it so that the rumors about our code base and/or porting policies don't needlessly spread. Also, I will first speak from the point of view of a ZDoom developer since it will simply some things a bit.
So you've stumbled across the world of home brew or you got some new phone or tablet and are about to ask if we will port our software to your device of choice. Do not bother to ask here since the answer is going to be no.
First let me get a few rumors out of the way. ZDoom is not a huge unmaintainable mess. It is a fairly complex piece of software with a lot of specialized parts and, due to the age of the project, there is a lot of code that isn't a picture perfect example of good code. No doubt about that, but overall a single developer can understand how most of the code works. People also seem to still believe that ZDoom is locked to the x86 architecture. On the contrary, ZDoom itself has been known to run on PowerPC, MIPS, and ARM. Yes ZDoom contains x86 and x86-64 assembly code, but it is all entirely optional!
Now that I just got done explaining that it would be easy to get ZDoom running on any platform, why would we not want to expand our user base? For home brew systems, the answer is usually that FMOD is not available for that system. Because of this the entire sound system would need to be translated to something comparable. We have no interest in doing this ourselves since from our research there is no suitable replacement for FMOD that won't provide a worse experience for our current users. There has been some work contributed for optionally using OpenAL, but the developer of that branch has not made any progress recently.
But what about Android/iOS/Windows Phone/Windows RT where FMOD is available? In these cases the issue is mostly that we have no touch screen interface. All of these platforms do, to my knowledge, have a way to connect a keyboard, joystick, or mouse to them, but from a user experience stand point one should not have to assume any of these devices are available. Further more for the best experience the platform specific back end should be rewritten to be native to those platforms (this isn't nearly as much work as it sounds since ZDoom already has the interfaces laid out).
In many cases, Android being a notable exception, there is the walled garden problem. App store policies generally assume that the app is stand alone and does not rely on third party data (game IWADs). I know Apple does not allow execution of user source code, so the iOS app store is definitely a no go even if freedoom or whatever was packaged along with it. Since the platforms do not support side loading out of the box, ZDoom would be limited only to jail broken devices which vastly shrinks the user base. Small user base means low developer interest. (Note that this is ignoring possible license politics, and no being GPL would not alleviate any of that.)
Now how does Zandronum differ from ZDoom? Given the age of our ZDoom base at the time of writing, Zandronum is still locked to x86 architectures. The reason is mostly known so it wouldn't be hard to fix this, but our current stance is to just wait until the ZDoom base is upgraded. Also worth noting is that Zandronum's code quality is significantly lower than ZDoom's. (If you ever wondered why ZDoom doesn't pull Zandronum's bot code, this is the reason.) This has caused some issues with type sizes being assumed and stuff like that. Again, not a huge problem, but for this reason I would highly recommend anyone interested in doing a port to start with ZDoom first. You will have a much higher chance of initial success. ;) Otherwise the only other issue could be getting the OpenGL renderer working, but that's optional code.
One thing that is definitely NOT the reason the ports don't exist is any disadvantage given by the platforms control schemes. This is usually mentioned by more competitive players, but the fact there are a lot of casual players that just don't care about that problem. For example, ZDoom and Zandronum provide above average controller support for a computer game because there are people that want to use a game controller for one reason or another.
To conclude, don't bother asking here for ports to other platforms. If one of us becomes interested in a platform we'll just port it without being prompted. Instead find a community for your platform of choice and see if there's anyone there interested in doing the port. Perhaps this is a good reason to get into programming so you can do it yourself! Provided the code changes are done right there's no reason we wouldn't accept the port upstream, and if it isn't too hard to set up a development environment for it's possible we'd even maintain updated binaries once the port exists.
RE: Port Zandronum to <Platform here>
Good read, hopefully people will stop asking for ports in here :p
=== RAGNAROK DM ON ... uh... dead forever? ===
=== ALWAYS BET ON ... uh... dead forever? ===
=== Who wanta sum wang? ===
=== Death and Decay - A new Monster/Weapon replacer ===
=== ALWAYS BET ON ... uh... dead forever? ===
=== Who wanta sum wang? ===
=== Death and Decay - A new Monster/Weapon replacer ===
- ibm5155
- Addicted to Zandronum
- Posts: 1641
- Joined: Tue Jun 05, 2012 9:32 pm
- Location: Somewhere, over the rainbow
RE: Port Zandronum to <Platform here>
Hmm Thinking now, it may be easy to make screen controllers, just make an acs scripipt that when player ex: press fire, it´ll show the fire button pressed,...
and how to detect the screen position, I don´t know how could it be done (hmm detect the mouse position with sdl? :s)
I want to play with porting zdoom to wp, but I don´t even did a hello world on it =/ (At least I compiled it on ubuntu xD), But someday, I´ll get this chance :D
And for now, if people really want a portable zandronum, buy an windows 8 (not rt) tablet :p
and how to detect the screen position, I don´t know how could it be done (hmm detect the mouse position with sdl? :s)
I want to play with porting zdoom to wp, but I don´t even did a hello world on it =/ (At least I compiled it on ubuntu xD), But someday, I´ll get this chance :D
And for now, if people really want a portable zandronum, buy an windows 8 (not rt) tablet :p
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">
RE: Port Zandronum to <Platform here>
This changes nothing. Idiots will still make "I want Doom on my iPad " threads, everyone else will laugh at them, and they'll clutter up the forum. The only way to stop this is to make starting a "Port Zandronum to X" thread a bannable offense. (Not recommending that we actually do this, but it's probably the only way to make a difference.)
Code: Select all
[15:53:14] balrog: one day, the original mm8bdm devteam from mfggu and i will meet in valhalla and we will be friends
Code: Select all
<ijon>well fuk
<ijon>guess I gotta suck dicks now
Code: Select all
(18:13:17)<Mayrine>i dont have to learnt anything about ACS
RE: Port Zandronum to <Platform here>
Nah, the point of this thread is we can just reply to those new threads with a link here and lock it.
Each platform has its own API for getting the screen touch position. As I stated in the post, it would be preferable that these kind of things be implemented natively (without SDL) since ZDoom provides a frame work for doing that already.
ACS is for level scripting. Not running an engine. :Pibm5155 wrote: Hmm Thinking now, it may be easy to make screen controllers, just make an acs scripipt that when player ex: press fire, it´ll show the fire button pressed,...
and how to detect the screen position, I don´t know how could it be done (hmm detect the mouse position with sdl? :s)
Each platform has its own API for getting the screen touch position. As I stated in the post, it would be preferable that these kind of things be implemented natively (without SDL) since ZDoom provides a frame work for doing that already.
Last edited by Blzut3 on Sun Sep 01, 2013 2:37 pm, edited 1 time in total.
- ibm5155
- Addicted to Zandronum
- Posts: 1641
- Joined: Tue Jun 05, 2012 9:32 pm
- Location: Somewhere, over the rainbow
RE: Port Zandronum to <Platform here>
well the menu at zdoom works 100% fine at touch screen, then make a
global acs script just to draw the buttons positions, and then just make a simple way to get the screen position (not by acs) to make an action...
hmm if there be a way to get the touchscreen position by acs it would be easy to make controls for each mod (and a generic one for doom,...)
But all that Is because I know better about acs (and a bit of sdl).
if the zdoom frame work is as easy as get a key and draw a image by sdl, there´ll be no limitations for that :D
global acs script just to draw the buttons positions, and then just make a simple way to get the screen position (not by acs) to make an action...
hmm if there be a way to get the touchscreen position by acs it would be easy to make controls for each mod (and a generic one for doom,...)
But all that Is because I know better about acs (and a bit of sdl).
if the zdoom frame work is as easy as get a key and draw a image by sdl, there´ll be no limitations for that :D
Last edited by ibm5155 on Mon Sep 02, 2013 1:50 pm, edited 1 time in total.
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">
-
- Forum Regular
- Posts: 510
- Joined: Mon Jun 04, 2012 1:18 pm
- Location: satan's gaping anus
- Contact:
RE: Port Zandronum to <Platform here>
Imho, it should be done like that: donate us 15k of dollars, we will port you zandronum to X platform.
dear diary, tux today was a faggot again[/size]
RE: Port Zandronum to <Platform here>
Yeah make simple this simple that and ta da, it's all finished! SO SIMPLE AM I RIGHT? Why don't you do it yourself if it's so simple :Dibm5155 wrote: well the menu at zdoom works 100% fine at touch screen, then make a
global acs script just to draw the buttons positions, and then just make a simple way to get the screen position (not by acs) to make an action...
hmm if there be a way to get the touchscreen position by acs it would be easy to make controls for each mod (and a generic one for doom,...)
But all that Is because I know better about acs (and a bit of sdl).
if the zdoom frame work is as easy as get a key and draw a image by sdl, there´ll be no limitations for that :D
=== RAGNAROK DM ON ... uh... dead forever? ===
=== ALWAYS BET ON ... uh... dead forever? ===
=== Who wanta sum wang? ===
=== Death and Decay - A new Monster/Weapon replacer ===
=== ALWAYS BET ON ... uh... dead forever? ===
=== Who wanta sum wang? ===
=== Death and Decay - A new Monster/Weapon replacer ===
RE: Port Zandronum to <Platform here>
Why would you use ACS?Ivan wrote:Yeah make simple this simple that and ta da, it's all finished! SO SIMPLE AM I RIGHT? Why don't you do it yourself if it's so simple :Dibm5155 wrote: well the menu at zdoom works 100% fine at touch screen, then make a
global acs script just to draw the buttons positions, and then just make a simple way to get the screen position (not by acs) to make an action...
hmm if there be a way to get the touchscreen position by acs it would be easy to make controls for each mod (and a generic one for doom,...)
But all that Is because I know better about acs (and a bit of sdl).
if the zdoom frame work is as easy as get a key and draw a image by sdl, there´ll be no limitations for that :D
Doom64: Unabsolved: New weapons, monsters, and gameplay features for coop !
ZandroSkins: a pack made by our community
Doom64: Unabsolved: New weapons, monsters, and gameplay features for coop !
ZandroSkins: a pack made by our community
- HellBlade64
- Forum Regular
- Posts: 102
- Joined: Mon Aug 13, 2012 9:03 pm
- Contact:
RE: Port Zandronum to <Platform here>
Well..... What about the Ouya?
RE: Port Zandronum to <Platform here>
You just don't get it do you? There's no incentive to port this to anything other than what it's already on. Even the Ouya is more trouble than it's worth. In other words....
The [video] tag is deprecated, please use the [media] tag
Code: Select all
[15:53:14] balrog: one day, the original mm8bdm devteam from mfggu and i will meet in valhalla and we will be friends
Code: Select all
<ijon>well fuk
<ijon>guess I gotta suck dicks now
Code: Select all
(18:13:17)<Mayrine>i dont have to learnt anything about ACS
RE: Port Zandronum to <Platform here>
Sir, there are no facepalms great enough in the universe than what I can give you right now. You've completely missed the entire point of the topic above and what everyone else has said to you. Zandbanjo will NEVER be ported to Xbox, PS3, Mobile Devices, or practically ANYTHING ELSE END OF DISCUSSION.HellBlade64 wrote: Well..... What about the Ouya?
Watermelon wrote: Stall is notorious for his D.
For the best song you'll ever hear, click this linkLollipop wrote: What does ETA mean? I'm sorry, but I don't get too much around on the internet.
I DARE YOU
RE: Port Zandronum to <Platform here>
Technically speaking this is missing the point as well, but not nearly by as much. :PW1D3A55 wrote: NEVER
The point is, don't bother asking, no one here will do it because a post asks for it. As the last bold line in my original post says: if you want an Ouya port, ask on the Ouya forums. You'll have more luck there.
RE: Port Zandronum to <Platform here>
When I said never, I meant it most likely won't be within the near future (for both developer and obvious reasons). Shouldve stated that heh.Blzut3 wrote:Technically speaking this is missing the point as well, but not nearly by as much. :PW1D3A55 wrote: NEVER
Watermelon wrote: Stall is notorious for his D.
For the best song you'll ever hear, click this linkLollipop wrote: What does ETA mean? I'm sorry, but I don't get too much around on the internet.
I DARE YOU
- Grymmoire
- Retired Staff / Community Team Member
- Posts: 43
- Joined: Sat Jun 02, 2012 4:41 pm
- Location: United States
RE: Port Zandronum to <Platform here>
That seems a little extreme. I think locking the threads and redirecting the OP to this thread should suffice. I don't know how bad of a problem this is since I haven't been around in a while to see it, so I don't really know if a warn should be attached as well but at the least a lock/trash and redirection should be enough.Balrog wrote: This changes nothing. Idiots will still make "I want Doom on my iPad " threads, everyone else will laugh at them, and they'll clutter up the forum. The only way to stop this is to make starting a "Port Zandronum to X" thread a bannable offense. (Not recommending that we actually do this, but it's probably the only way to make a difference.)
If it's happening enough to warrant this thread's creation, a warn should be enough.
- ibm5155
- Addicted to Zandronum
- Posts: 1641
- Joined: Tue Jun 05, 2012 9:32 pm
- Location: Somewhere, over the rainbow
RE: Port Zandronum to <Platform here>
1) its an easy script languageÆnima wrote: Why would you use ACS?
2)everyone could make buttons
3)you Will not to adatp The controls to each os.
about what i said to be easy, os because its very easy to get a key on sdl, but touch controls i dont know (geting touch position? Xd)
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">
-
- Zandrone
- Posts: 1244
- Joined: Thu Jun 28, 2012 9:07 pm
- Location: Rwanda
RE: Port Zandronum to <Platform here>
I have no idea what you're trying to say here.ibm5155 wrote:1) its an easy script languageÆnima wrote: Why would you use ACS?
2)everyone could make buttons
3)you Will not to adatp The controls to each os.
about what i said to be easy, os because its very easy to get a key on sdl, but touch controls i dont know (geting touch position? Xd)
Also as someone who is using SDL for my own game, getting key input is a pain in the ass and I ended up having to write my own wrapper class to use it properly.
- MrSetharoo
- Forum Regular
- Posts: 330
- Joined: Wed Oct 24, 2012 4:27 pm
- Location: Florida
RE: Port Zandronum to <Platform here>
Why are people asking for Zandronum on phones anyways there's already Doom ports like DoomGles (I think that's what its called) and a FreeDoom port which I forget the name of. Also, If i remember correctly, because I had this on my old phone, there is a Quake 3 remake called Open Arena that the main devs ported to Android and is a direct port (and if i remember correctly it uses the same engine a Quake 3 if not modified). so maybe that can be a springboard for someone to use to port Zandronum. Though, as stated before there are already ports of doom to phones anyways so why even ask for Zandronum since you probably wouldn't be able to do multiplayer anyways.
-
- New User
- Posts: 2
- Joined: Wed Apr 02, 2014 8:34 pm
- Location: America
- Contact:
RE: Port Zandronum to <Platform here>
I'm aware I'm late to the party, but I'll describe it as such.MrSetharoo wrote: Why are people asking for Zandronum on phones anyways there's already Doom ports like DoomGles (I think that's what its called) and a FreeDoom port which I forget the name of. Also, If i remember correctly, because I had this on my old phone, there is a Quake 3 remake called Open Arena that the main devs ported to Android and is a direct port (and if i remember correctly it uses the same engine a Quake 3 if not modified). so maybe that can be a springboard for someone to use to port Zandronum. Though, as stated before there are already ports of doom to phones anyways so why even ask for Zandronum since you probably wouldn't be able to do multiplayer anyways.
If you're aware, ports are made with different engines, therefore, different interpretations of the Doom source code. The reason is because Z& is using the ZDoom interpretation, which is the most widely supported interpretation among WAD makers, thus your Skulltag/Zdoom exclusivities.
The desire for a Z& port or a Zdoom port makes sense because DoomGLES, and FreeDoom, among multiple others, is using the barebones of the source code, the original. The only seriously good port is Doom Touch by Beloko, and that's in PrBoom. The differences with Pr v. Z can be explained here.
Support for a wide variety of WADs is why, and while Pr keeps most of the original feel of Doom, it's wasted with touchscreen controls. May as well take up ZDoom.
- ibm5155
- Addicted to Zandronum
- Posts: 1641
- Joined: Tue Jun 05, 2012 9:32 pm
- Location: Somewhere, over the rainbow
RE: Port Zandronum to <Platform here>
Basically because it support multiplayer and support most of modern wads (almost new zdoom mods but it's a huge wad support compared to prboom)
Projects
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">
Cursed Maze: DONE, V2.0
Zombie Horde - ZM09 map update: [3/15/13]
Need help with English? Then you've come to the right place!
<this post is proof of "Decline">