Why so few Ios demos ?
category: code [glöplog]
Google Play developer accounts requires not 25 dollars a year but 25 dollars one time for all.
Besides, you can distribute your Android demo yourself or use a lot of alternative markets (beware, some of them are more restrictive than Google Play).
Android is good for demos and experiments. WP and Apple are a pain in the ass regarding demoscene purposes because they are oriented to sell apps & games.
Besides, you can distribute your Android demo yourself or use a lot of alternative markets (beware, some of them are more restrictive than Google Play).
Android is good for demos and experiments. WP and Apple are a pain in the ass regarding demoscene purposes because they are oriented to sell apps & games.
yeah my bad.. braindead from writing all day. it's a one time registration fee :)
how about a demobilescene app that in-app downloads and runs demos? or will Apple dislike that too? :)
how about a demobilescene app that in-app downloads and runs demos? or will Apple dislike that too? :)
That counts as emulation / sideloading, doesn't it?
Yeah it would.
There's already an app to watch demos on iOS, its called YouTube :)
Precisely :) to bring this back right on topic. Considering the methods used on other platforms, particularly consoles and handhelds to run demos its suprising there are as many demos for those as there are for iOS, and other similarly classed platforms that use OpenGL ES.
I guess people are more interested in writing games/apps for those than demos.
In fact though, even OS X, the prerequisite platform needed to write an iOS demo in the first place has barely any demos too, including a bunch of ports.
So for me, my earlier question bubbles back to the surface. Is it just that not many people are actively using OpenGL for demos on any platforms, including Windows?
From seminars I've seen that Navis/ASD used fixed mode GL, and that IQ protoyped Elevated using GL before it was converted to DX for the final 4K..
There's already an app to watch demos on iOS, its called YouTube :)
Quote:
As Canopy says... you can treat it as a 'wild demo', which can be installed on jailbroken devices, and just put a YouTube up for people who don't want to install it.
Whether other people actually run the product on a physical device, or just watch a video of it, doesn't matter imho.
Precisely :) to bring this back right on topic. Considering the methods used on other platforms, particularly consoles and handhelds to run demos its suprising there are as many demos for those as there are for iOS, and other similarly classed platforms that use OpenGL ES.
I guess people are more interested in writing games/apps for those than demos.
In fact though, even OS X, the prerequisite platform needed to write an iOS demo in the first place has barely any demos too, including a bunch of ports.
So for me, my earlier question bubbles back to the surface. Is it just that not many people are actively using OpenGL for demos on any platforms, including Windows?
From seminars I've seen that Navis/ASD used fixed mode GL, and that IQ protoyped Elevated using GL before it was converted to DX for the final 4K..
I guess it's more of the question of motivation. Why would you want to spend the time and effort on programming on a device that is inferior to the desktop (less power, smaller screen etc), but still offers no fun quirks and challenges like 8-bit machines or Amiga or whatever? Not to mention all that shit with certificates and the like.
I've written my share of OpenGL ES, but if I want to make a demo, it's a very unappealing platform. Of course my stuff is not technically intensive in any means, but I'd still pick the desktop for convenience and the C64 or something like that for challenge.
I've written my share of OpenGL ES, but if I want to make a demo, it's a very unappealing platform. Of course my stuff is not technically intensive in any means, but I'd still pick the desktop for convenience and the C64 or something like that for challenge.
Yup I was thinking along those lines but didn't get round to articulating it properly like you have. So I agree and understand completely.
The conclusion to this thread must be, there is no real attraction to just writing a demo for those platforms, as they pose little challenge when more powerful platforms using pretty much the same APIs exist.
The only plus side I can see with iOS (and future GL ES capable tablet O/S like Ubuntu Touch) is interactivity. This is what attracted me to ES n the first place, as I've had the seed of an idea for something that I think would work great on a tablet in my brain for a very long time which I'm loosely working towards, but as I've also veered off to solely using desktop GL, I guess that the point well and truly proven!
The conclusion to this thread must be, there is no real attraction to just writing a demo for those platforms, as they pose little challenge when more powerful platforms using pretty much the same APIs exist.
The only plus side I can see with iOS (and future GL ES capable tablet O/S like Ubuntu Touch) is interactivity. This is what attracted me to ES n the first place, as I've had the seed of an idea for something that I think would work great on a tablet in my brain for a very long time which I'm loosely working towards, but as I've also veered off to solely using desktop GL, I guess that the point well and truly proven!
Quote:
I guess it's more of the question of motivation. Why would you want to spend the time and effort on programming on a device that is inferior to the desktop (less power, smaller screen etc), but still offers no fun quirks and challenges like 8-bit machines or Amiga or whatever?
Yes, that was more or less my conclusion after porting my OpenGL stuff to iOS and Android. On my blog I wrote:
Quote:
I realized, after doing a 3d renderer for the iPhone/iPad, that programming these days is mostly repeating the same trick. There was nothing fundamentally different to an iPhone/iPad compared to a regular desktop machine, especially not once I figured out how to write regular C++ for it, rather than Objective-C. The OS was very much like any flavour of *nix, and the graphics API was just a variation of OpenGL. I could just port most of my existing code over, and it worked just fine. So I figured it would be nice to work on something completely different for a change.
Basically I was just doing the same as what I had been doing some 10 years earlier on desktop machines, which had about the same CPU/GPU power and capabilities (the era of SM2.0+ hardware).
Then I started doing 16-bit MS-DOS, Amiga and C64 stuff.
But on the other hand, some great demos have been made 10 years ago, so if you feel like doing a decent demo on iPhone, Android, Windows Phone or whatever, go ahead.
I keep reading this title as "Why so few Iso demos?", which is just fundamentally wrong :P
Quote:
I keep reading this title as "Why so few Iso demos?", which is just fundamentally wrong :P
Very few on iOS though. :( Someone should make a new backend for Kauhanen!
As a fairly long-term iOS developer, a few thoughts on this:
1. Regular, non-interactive demos won't get through app review. Apps have to provide some purpose or interactivity (enough shit gets through as it is ;). I see two possible solutions for that problem:
- Make interactive demos. These devices are packed with cool inputs, from basic touch to accelerometer / gyroscope / high quality cameras pointing both ways :) Make something fresh instead of another non-interactive flyby ;)
- A "demo player" app with a menu and a selection of regular non-interactive demos would probably be OK. You can't download and run code though, so the app would have to contain all the demos, and it'd need updating when there's a new demo.
2. Motivation? There's some interesting hardware + software in these things. H264 encoder and decoder for a start - you can draw stuff in OpenGL ES, and encode the output at 1080p to disk - in realtime. This kind of thing is very fast, I don't see any issue with using h264 encode and decode in a realtime demo (some of my own apps process live video in OpenGL at 1080p30 and encode at the same time, I've been doing this since the iPhone 4S).
The GPUs in the latest devices aren't high-end desktop class, but they're amazingly powerful for such a small device. And if you're bored of OpenGL, try Metal, it's lower level and allows compute :)
3. Yeah, there's WebGL support now. But that's kind of missing the point - you might as well just write for the desktop and make it iOS / android compatible, I don't see any reason to write a webgl demo specifically for mobile. But yeah, make your browser demos mobile compatible please!
4. There is the developer account / profiles issue. You can download Xcode for free and test on the simulator. But basically you'll need:
- A mac.
- An iOS developer account, costing $99/year.
- The patience to figure out the profile crap. It's nowhere near as bad as it used to be tbh, but it can still be a pain.
- An iPhone or iPad, or maybe an iPod Touch. An iPod is reasonably cheap, but I don't think they've got recent chips. That means no 64bit, an older GPU, no Metal support. (Ideally you want an iPhone 5s or 6, or an iPad air / mini retina).
On the other hand, a lot of sceners have a mac +iphone and work in places where they can probably get an account + register their phone as a developer device, so maybe it's not an issue for some. And the developer tools are pretty good - Xcode has pretty decent profiling and GPU debugging built-in.
1. Regular, non-interactive demos won't get through app review. Apps have to provide some purpose or interactivity (enough shit gets through as it is ;). I see two possible solutions for that problem:
- Make interactive demos. These devices are packed with cool inputs, from basic touch to accelerometer / gyroscope / high quality cameras pointing both ways :) Make something fresh instead of another non-interactive flyby ;)
- A "demo player" app with a menu and a selection of regular non-interactive demos would probably be OK. You can't download and run code though, so the app would have to contain all the demos, and it'd need updating when there's a new demo.
2. Motivation? There's some interesting hardware + software in these things. H264 encoder and decoder for a start - you can draw stuff in OpenGL ES, and encode the output at 1080p to disk - in realtime. This kind of thing is very fast, I don't see any issue with using h264 encode and decode in a realtime demo (some of my own apps process live video in OpenGL at 1080p30 and encode at the same time, I've been doing this since the iPhone 4S).
The GPUs in the latest devices aren't high-end desktop class, but they're amazingly powerful for such a small device. And if you're bored of OpenGL, try Metal, it's lower level and allows compute :)
3. Yeah, there's WebGL support now. But that's kind of missing the point - you might as well just write for the desktop and make it iOS / android compatible, I don't see any reason to write a webgl demo specifically for mobile. But yeah, make your browser demos mobile compatible please!
4. There is the developer account / profiles issue. You can download Xcode for free and test on the simulator. But basically you'll need:
- A mac.
- An iOS developer account, costing $99/year.
- The patience to figure out the profile crap. It's nowhere near as bad as it used to be tbh, but it can still be a pain.
- An iPhone or iPad, or maybe an iPod Touch. An iPod is reasonably cheap, but I don't think they've got recent chips. That means no 64bit, an older GPU, no Metal support. (Ideally you want an iPhone 5s or 6, or an iPad air / mini retina).
On the other hand, a lot of sceners have a mac +iphone and work in places where they can probably get an account + register their phone as a developer device, so maybe it's not an issue for some. And the developer tools are pretty good - Xcode has pretty decent profiling and GPU debugging built-in.
a "pilates-gym-locator" ?! no, thanks...
I'm not interested in downloading or watching demos on iOS devices, except in the form of YouTube recordings, so why would I be interested in making iOS demos. To tell you the truth, I don't even bother watching demos on Windows, because YouTube is close enough, and running on a PC adds practically nothing to the experience. On oldskool platforms, running things on the actual platform still feels like something, particularly full framerate stuff on CRT displays, which YouTube cannot reproduce at all. But iOS??? Nothing could be less exciting.
running newschool demos natively is still great for three reasons
- no encoding artefacts
- you can put that expensive hardware of yours to use
- allows you to "feel" the demo/engine.. youtube videos all "feel" the same (like a webvideo...)
- no encoding artefacts
- you can put that expensive hardware of yours to use
- allows you to "feel" the demo/engine.. youtube videos all "feel" the same (like a webvideo...)
running demos natively on mobile devices is excellent when you feel cold and you want to warm your hands or other extremities!
Quote:
or will Apple dislike that too? :)
Yes. (This is the answer to all these idea-based questions that start with "But what if...". Doesn't really matter how the question continues. You can't sneak anything past approval. They are the absolute police, judge, jury, and executioners of their own monopoly market.)
Letterboxing a demo is enough to not get it on the app store. You will not get it online until you've fixed it and another week has passed waiting for Apple to have a look.
there is a shadertoy app there already afaicr was released a month ago or so.
release in february apparently.
or that slightly interactive polyfauna demo by radiohead...
Just in case Windows Phone gets marketshare up to the point where someone gives a fuck ;)
No need for the store or a jailbreak for WP: The Windows Phone SDK contains the "XAP Deployment" tool. Once the device has been registered with Microsoft (17€/account unlocks up to 3 phones) you can deploy .xap containers to a physical device besides deploying to emulator images. I've tried 3 of Wide Load's WP7 demos on a WP8 device and they work fine.
Porting Desktop DX11 shaders to the phone is not so straightforward because WP8 supports 4_0_level_9_3 which is more like SM2.0 feature-wise. MSDN
@OP: Maybe ponder about "what used to be Amiga/Atari for teenagers in the 90s is Android/iPhone for the teenagers today". Looking at the responses so far it's quite likely you're at the wrong site for this.
No need for the store or a jailbreak for WP: The Windows Phone SDK contains the "XAP Deployment" tool. Once the device has been registered with Microsoft (17€/account unlocks up to 3 phones) you can deploy .xap containers to a physical device besides deploying to emulator images. I've tried 3 of Wide Load's WP7 demos on a WP8 device and they work fine.
Porting Desktop DX11 shaders to the phone is not so straightforward because WP8 supports 4_0_level_9_3 which is more like SM2.0 feature-wise. MSDN
@OP: Maybe ponder about "what used to be Amiga/Atari for teenagers in the 90s is Android/iPhone for the teenagers today". Looking at the responses so far it's quite likely you're at the wrong site for this.
Quote:
Looking at the responses so far it's quite likely you're at the wrong site for this.
We're not teenagers, we're boring old farts who know what Amiga/Atari are.
+The mandatory "Teh Scene is Dead" comment.
Quote:
Porting Desktop DX11 shaders to the phone is not so straightforward because WP8 supports 4_0_level_9_3 which is more like SM2.0 feature-wise. MSDN
Sense, you make none.
We are talking about an API.
There's no such thing as 'desktop shaders'. Shaders just target a certain feature level. Indeed, most WP8-phones will not have a fully capable DX11-level GPU.
But what does that have to do with anything?
The same goes for any other target, even the desktop itself (a lot of DX11-based games still support DX10/10.1 hardware as well, and in theory they could support DX9).
Likewise, if you were using OpenGL (ES), you would face the same problem: not all features are available on all devices.
So while it is interesting that you managed to throw a few random terms together, and then linked to MSDN, it makes no sense whatsoever, and just sounds like MS/WP8-bashing.
There were really well thought out posts about the Situation on iOS and I assumed adding this would be helpful to get a better overview about the situation on Windows Phone. English is not my native language and I see now it is actually possible to misunderstand every single line I wrote :P
I was referring to "Shaders written for DX11 desktop hardware" not the API.
=
This statement was meant to add to...
It looked like porting from Desktop Windows to Windows Phone is just as trivial as changing a few lines and hit build. The MSDN link was for convenience in case anybody cares about the constraints (Do you know all of them from memory? I don't.)
I'm curious how you would enter a WP8 demo to a party, deliver an .xap and run it through emulator, or build it for x86, or try got get it shown through Micro-USB-to-HDMI (my phone doesn't support that, does yours?), or some other way...?
I was referring to "Shaders written for DX11 desktop hardware" not the API.
=
Quote:
Porting shaders written for DX11 desktop hardware to the phone is not so straightforward because WP8 supports 4_0_level_9_3 which is more like SM2.0 feature-wise.
This statement was meant to add to...
Quote:
I have not seen a single Windows Phone (or even Windows RT) demo yet. And that should actually be quite easy to pull off, since you can use the exact same DX11 code as you do on the desktop (the main difference is that you have to connect it to a CoreWindow rather than a HWND, just one function call to change).
It looked like porting from Desktop Windows to Windows Phone is just as trivial as changing a few lines and hit build. The MSDN link was for convenience in case anybody cares about the constraints (Do you know all of them from memory? I don't.)
I'm curious how you would enter a WP8 demo to a party, deliver an .xap and run it through emulator, or build it for x86, or try got get it shown through Micro-USB-to-HDMI (my phone doesn't support that, does yours?), or some other way...?
we need more iSO!