id Software's Open-Source Engines Ported To iOS, tvOS 67
New submitter Schnapple writes: Back in 2009, id Software put Wolfenstein 3D and DOOM on the App Store, but once iOS 11 started phasing out 32-bit apps, they stopped working. Since their source code was published under the GPL, I went in and fixed them up so they would run on modern devices, and also added game controller support and ported them to tvOS so they could run on Apple TV. Then over the last year I did the same for DOOM II and Final DOOM, Quake, Quake II, Quake III: Arena, Return to Castle Wolfenstein, and finally DOOM 3. I've chronicled the adventures on my blog. I can't publish them to the App Store for obvious reasons and you'll need to provide your own copy of the game data, but if anyone's interested in trying them out on Apple devices I've posted the sources to GitHub.
Re: (Score:1)
>Who makes hardware built to last? Ding! Apple, not android.
Apple's hardware the last 3~ years has been targeted at corporate and education clients with the idea that if it breaks, they have insurance or AC+ to cover it.
Or are using apple financial services for leasing so they don't give a toss either way if stuff breaks, neither does apple apparently.
They literally don't care about you or the quality of the hardware you're buying, it's designed to break far sooner than older apple devices.
Keyboards that
Re: (Score:2)
Re:What is the point (Score:5, Informative)
I'm not sure where you're getting the $300 figure from, seeing as how an Apple Developer license is $99 a year, but even then you can push to your devices for free now - Apple dropped the need for the $99 fee for people not publishing to the App Store a few years ago.
It's true you'll need an Apple device and a Mac to compile these and that's going to limit a number of people but that's just how iOS and tvOS development works. You could always write to Zenimax and ask them to update the ports on the App Store.
I was able to get over some hurdles with the Quake II port by looking at a port someone did to Android. Someone similarly motivated in the other direction could take some of my work on other games and get them running on Android. Thanks to open source licensing everyone can share.
But in any event, I'm aware that the source code nature of these ports will limit the appeal to those inclined to break out an iOS developer toolchain, but nevertheless I had fun doing it and thought I'd share it with others.
Re:What is the point (Score:5, Insightful)
Informative Schnapple.
Sometime people post nonsense which has more to do with their own bias or prejudices than actual knowledge. Thanks for your work.
I hope that many will benefit from it.
Re: What is the point (Score:2)
Howdy AC
Not an apple developer but I appreciate any positive contributions by anybody.
I am less appreciative of the more common insipid AC posts by hit and run trolls which donâ(TM)t really add anything positive or productive to conversations. But such are the times we live in.....
The threads are repleat with snarky or inane comments geared to negative thinking which doesnâ(TM)t elevate discussions.
Re: (Score:3)
Don't forget that you also have to get the map files from a legally owned copy of the games and merge that in to your build.
Re: (Score:1)
You definitely doesn't have to.
Re: (Score:1)
He wasn't worth a response
Re: (Score:1)
Re: (Score:2)
Well, besides the fact that Apple has a very âoefuck the pastâ attitude about things, thereâ(TM)s also the fact that it had the perk of effectively tidying up the App Store. There were tons and tons of long since abandoned apps whose authors long since stopped giving a shit and now all that cruft goes away. Itâ(TM)s sort of like a Thanos snap for apps.
Really though every app compiled since 2015 continues to
Re:What is the point (Score:4, Informative)
Re: (Score:1)
Slashdot is a series of ASCII Perls from the 90s.
Re: (Score:2)
âoefuck the pastâ
Ever tried to push a wet noodle??
Re: What is the point (Score:2)
it would have been better (Score:2)
it would have been better, if the time invested in this would have gone into linux support.
I know there have been ports for a long time, but they could use some love, like converting from OpenGL to Vulkan and all those modern things we have available now.
Re: (Score:2)
Good job! (Score:2)
Good job! Although this sounds vaguely [slashdot.org] familiar [slashdot.org] for some reason... ;)
At least you could use floating point operations and OpenGL this time around!
Compute Power (Score:3)
Re: (Score:1)
Some? Maybe.
Me? No.q
Re:Compute Power (Score:4, Insightful)
Are you impressed that 10 years after the release of the ZX Spectrum, we could run emulators on a PC that could easily reach over-a-thousand-percent of real-speed of that machine on a completely different platform/architecture/operating system. My dad bought us a ZX Spectrum and a PC about 10 years ago (same kind of "value" of gift, if you like).
I was running Gerton Lunter's Z80 on a 486 in the early 90's, minimum, and getting greater than 10 times real-time emulation speed (and emulation itself is a 10-times hit when you're crossing architectures, generally speaking).
It's "cool", "neat", "humbling", but it's hardly shocking. We do it all the time, it's only in recent years that processor speeds just haven't increased at all.
I can remember first getting a Final Fight CPS arcade emulator going on a Pentium 133, and that was like "WHOA! LOOK! AN ARCADE GAME!". It wasn't long before we'd kitted that out with a 3DFX Vooodoo 4/5 (or something... the one with the huge blue breakout cable) which is... well... laughable nowadays and emulated by a bog-standard desktop chip with a Glide wrapper under DOSBox.
Nowadays an RPi 3 can run Doom III quite comfortably (hell, the RPi 2 could do it). Commodity hardware, sold in ordinary electronics shops, GBP30, bosh. OpenGL, 1Gb RAM, multi-core 1.4GHz processor, Gigabit Ethernet, USB, Wifi, Bluetooth. Not that the original RPi is 7 years old now. And basically obsolete. It was "only" 700Mhz.
It's not that this Doom feat is impressive in itself. It's not. It's that we now hold computers that, even ten years ago, were a pipedream. And we flush them down the loo, throw them away after a year or two, leave them lying around in the pub, and give them to our kids to shut them up with some silly point-and-click game.
Have you not seen things like the GPD Win? Now that's impressive. A Windows 10 / Ubuntu full PC (i.e. x86-64) in a battery-powered handheld the size of a folded Nintendo DS.
10 years is a damn long time in computing. If someone gave you a ten-year-old PC, would you bother to even look at it? No. It's that old that it's scrapheap junk. I have to *PAY* companies to take that kind of hardware away.
I have to say... my old processes of hoarding IT junk are dead... it's just not worth it. 10 years of having them in my spare room passes in the blink of an eye and suddenly they don't even have the right connectors anymore, they're a pain to boot up, the OS doesn't even update any more, and even what-was server-grade hardware is pretty laughable compared to what I can put in a Mini-ITX case or whatever.
I gave up being impressed when my years of loading in Speccy games from tape suddenly became "select a .z80 file from the hard drive containing EVERY Speccy game ever made". And even that was really pre-Internet for me, but a shareware place sold me a CD with basically every Spectrum game on it for a couple of quid.
Re: (Score:2)
Well, there was a tim, probably 20 years ago, when I kept saying: my current graphic card has more ram than all my previous computers together had real RAM.
Re: (Score:2)
Tim was a rather observant fellow.
Re: (Score:2)
Also sort of impressive in the other direction that DOOM 3 still has not-insignificant load times even on a phone using all flash media storage.
Decade old PCs! (Score:2)
I still use them like right now at home. I don't computer game like I used to, so I don't need fast PCs. I still use old hardwares as shown in my http://zimage.com/~ant/antfarm... [zimage.com]. ;)
Re: (Score:2)
Don't get me wrong, I have two ZX Spectrum (one with ULA hack to work on composite video, and replacement RAM), a BBC Micro, an Acorn Archimedes, a couple of old PCs, etc.
I just don't hoard old PCs or use them. The effort of getting an old PC working just isn't there if I can buy a GBP50 Raspberry Pi kit and tinker, play the same games, etc. or boot up my five-year-old laptop which can play over 1000 Steam games I have.
My laptop has had, since day one, the ability to run and store EVERYTHING I did on all m
Re: (Score:2)
Well, I still use my decade old PCs almost daily and all day. :P
Why not publish? (Score:4, Insightful)
Apple has no problems allowing apps on the store that use the GPL license. The one thing that you _cannot_ do is to _sell_ GPL licensed apps, because according to the App Store terms and conditions, customers don't pay for the app, but they pay for the license - something that is not allowed under the GPL.
Conforming to the GPL terms is easy, all you need to do is have a button somewhere that sends a download link to the user's email address.
The only thing that can stop you: If the copyright holder complains to Apple and tells them they don't want their copyrighted code on the store, then Apple will NOT check whether your app is conforming to the GPL license - the copyright holder's word that they don't want their code on the store is enough. So contact the copyright holder and check if they are alright with it, and you are fine.
Legally you would be fine even if the copyright holder disagrees, the problem is just that Apple doesn't want to get involved in any copyright court cases.
Re: (Score:2)
Thanks for asking, I was really confused as to why this was "obvious" also but figured it was some sorta Apple walled-garden thing.
Re: (Score:2)
but they pay for the license - something that is not allowed under the GPL.
Which clause of the GPL would that be?
Re: (Score:2)
Nothing to do with the engine.
Everything to do with the Doom3 game data, music, audio, trademarks, etc. (Without which, the game basically isn't Doom 3 but some game running the same *engine* as Doom3).
Otherwise any idiot could pick up, say, the Half-Life code, slap the Half-life files into it, push it to iTunes and claim to have made a Half-Life port that would reflect poorly on the creators of that software.
Same as the original DOOM, right through to modern Unreal games, etc. The engine might be open, b
Re:Why not publish? (Score:4, Informative)
Because I don't own the rights to distribute the games. Same way your basic source port like ioquake3 can distribute their compiled executables but not the game data.
It's possible I could upload a "bring your own files" version of the app/engine under some other, non-copyrighted name, and the base of the Quake III port I used, an app called Beben III, did just that (it also got consumed by the 32-bit cutoff, also it used iTunes syncing to add the pk3 files, which has been removed from iTunes). But doing so is beyond the scope of my project.
It would also be possible to publish them with either non-copyrighted assets (I think Freedoom would qualify) or assets I do own the copyright to, and it's been done before [apple.com]
Also, id Software sold their iOS ports for years on the App Store (technically they're still there) and so if that's a GPL violation it's one no one has cared about.
Re: (Score:2)
I can think of two ways:
- The owner of copyright in the collective work doesn't own copyright in one or more of its components, and an upstream licensor objects. This is why the original GPL release of Doom had no sound code.
- The owner has since exclusively licensed the work or a piece thereof to someone else. It'd be possible for the owner to violate this contract.
Re: (Score:2)
John Carmack left id [slashdot.org] in 2013. One of the things he had mentioned (can't find a link right now) is that it was never a given or an automatic thing that any of their games be relea
I can't publish them to the App Store for obvious (Score:2)
I can't publish them to the App Store for obvious reasons
And what are those obvious reasons?
Re: (Score:2)
Probably the copyright on the data files.
Replacing all of that would make it NotDoom.