Port Zandronum to <Platform here>

General discussion of the port and Doom-related chat.
Blzut3
Developer
Posts: 306
Joined: Thu May 24, 2012 9:37 pm

Port Zandronum to <Platform here>

#1

Post by Blzut3 » Sun Sep 01, 2013 7:35 am

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.

User avatar
Ivan
Addicted to Zandronum
Posts: 2219
Joined: Mon Jun 04, 2012 5:38 pm
Location: Omnipresent

RE: Port Zandronum to <Platform here>

#2

Post by Ivan » Sun Sep 01, 2013 12:30 pm

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 ===

User avatar
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>

#3

Post by ibm5155 » Sun Sep 01, 2013 1:11 pm

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
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">

User avatar
Balrog
Forum Regular
Posts: 215
Joined: Fri Aug 10, 2012 11:16 am

RE: Port Zandronum to <Platform here>

#4

Post by Balrog » Sun Sep 01, 2013 1:18 pm

This changes nothing. Idiots will still make "I want Doom on my iPad :qualityposter: " 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

Blzut3
Developer
Posts: 306
Joined: Thu May 24, 2012 9:37 pm

RE: Port Zandronum to <Platform here>

#5

Post by Blzut3 » Sun Sep 01, 2013 2:34 pm

Nah, the point of this thread is we can just reply to those new threads with a link here and lock it.
ibm5155 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)
ACS is for level scripting. Not running an engine. :P

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.

User avatar
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>

#6

Post by ibm5155 » Mon Sep 02, 2013 1:49 pm

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
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">

Tux
Forum Regular
Posts: 510
Joined: Mon Jun 04, 2012 1:18 pm
Location: satan's gaping anus
Contact:

RE: Port Zandronum to <Platform here>

#7

Post by Tux » Mon Sep 02, 2013 2:17 pm

Imho, it should be done like that: donate us 15k of dollars, we will port you zandronum to X platform.
Image
dear diary, tux today was a faggot again[/size]

User avatar
Ivan
Addicted to Zandronum
Posts: 2219
Joined: Mon Jun 04, 2012 5:38 pm
Location: Omnipresent

RE: Port Zandronum to <Platform here>

#8

Post by Ivan » Mon Sep 02, 2013 3:27 pm

ibm5155 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
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 :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 ===

User avatar
Ænima
Addicted to Zandronum
Posts: 3523
Joined: Tue Jun 05, 2012 6:12 pm

RE: Port Zandronum to <Platform here>

#9

Post by Ænima » Mon Sep 02, 2013 3:50 pm

Ivan wrote:
ibm5155 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
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 :D
Why would you use ACS?
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: New weapons, monsters, and gameplay features for coop !


ZandroSkins
: a pack made by our community

User avatar
HellBlade64
Forum Regular
Posts: 100
Joined: Mon Aug 13, 2012 9:03 pm
Contact:

RE: Port Zandronum to <Platform here>

#10

Post by HellBlade64 » Tue Sep 03, 2013 10:48 pm

Well..... What about the Ouya?

User avatar
Balrog
Forum Regular
Posts: 215
Joined: Fri Aug 10, 2012 11:16 am

RE: Port Zandronum to <Platform here>

#11

Post by Balrog » Tue Sep 03, 2013 10:57 pm

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....
phpBB [video]
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

W1D3A55
Forum Regular
Posts: 327
Joined: Sun Sep 30, 2012 12:39 am
Location: Here

RE: Port Zandronum to <Platform here>

#12

Post by W1D3A55 » Tue Sep 03, 2013 11:11 pm

HellBlade64 wrote: Well..... What about the Ouya?
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.
Watermelon wrote: Stall is notorious for his D.
Lollipop wrote: What does ETA mean? I'm sorry, but I don't get too much around on the internet.
For the best song you'll ever hear, click this link
I DARE YOU

Blzut3
Developer
Posts: 306
Joined: Thu May 24, 2012 9:37 pm

RE: Port Zandronum to <Platform here>

#13

Post by Blzut3 » Wed Sep 04, 2013 2:51 am

W1D3A55 wrote: NEVER
Technically speaking this is missing the point as well, but not nearly by as much. :P

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.

W1D3A55
Forum Regular
Posts: 327
Joined: Sun Sep 30, 2012 12:39 am
Location: Here

RE: Port Zandronum to <Platform here>

#14

Post by W1D3A55 » Wed Sep 04, 2013 3:42 am

Blzut3 wrote:
W1D3A55 wrote: NEVER
Technically speaking this is missing the point as well, but not nearly by as much. :P
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.
Watermelon wrote: Stall is notorious for his D.
Lollipop wrote: What does ETA mean? I'm sorry, but I don't get too much around on the internet.
For the best song you'll ever hear, click this link
I DARE YOU

User avatar
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>

#15

Post by Grymmoire » Thu Sep 05, 2013 12:43 pm

Balrog wrote: This changes nothing. Idiots will still make "I want Doom on my iPad :qualityposter: " 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.)
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.

If it's happening enough to warrant this thread's creation, a warn should be enough.
Image

User avatar
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>

#16

Post by ibm5155 » Thu Sep 05, 2013 2:45 pm

Ænima wrote: Why would you use ACS?
1) its an easy script language
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">

Watermelon
Zandrone
Posts: 1244
Joined: Thu Jun 28, 2012 9:07 pm
Location: Rwanda

RE: Port Zandronum to <Platform here>

#17

Post by Watermelon » Thu Sep 05, 2013 4:22 pm

ibm5155 wrote:
Ænima wrote: Why would you use ACS?
1) its an easy script language
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)
I have no idea what you're trying to say here.


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.

User avatar
MrSetharoo
Forum Regular
Posts: 330
Joined: Wed Oct 24, 2012 4:27 pm
Location: Florida

RE: Port Zandronum to <Platform here>

#18

Post by MrSetharoo » Wed Feb 05, 2014 12:25 am

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.

UltimaXtreme
New User
Posts: 2
Joined: Wed Apr 02, 2014 8:34 pm
Location: America
Contact:

RE: Port Zandronum to <Platform here>

#19

Post by UltimaXtreme » Thu May 01, 2014 3:30 pm

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.
I'm aware I'm late to the party, but I'll describe it as such.

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.

User avatar
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>

#20

Post by ibm5155 » Thu May 01, 2014 5:58 pm

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">

Locked