pouët.net

pouet - new platforms

category: general [glöplog]
Ahhh now I get it! I will re-release all my BlitzBasic demos as source only so they won't run without BlitzBasic installed, and that way BlitzBasic automagically becomes a "platform" :)
added on the 2016-07-06 22:32:27 by havoc havoc
Not that it helps the "debate", but virtual machines/consoles get a physical version like the https://getchip.com/pages/pocketchip and some FPGA based consoles/emulators.
added on the 2016-07-06 22:55:36 by p01 p01
Not that it helps the "debate" but I think the term "platform" in a demoscene sense exists to make prods comparable and give hints where and how to run them.
Theres no definition or concept behind the list on pouet (or anywhere else for that matter)...
Could a new structure make it more logical? Sure.
Would a new structure help us to find prods faster/better and justify the workload of retagging them? Not so sure.
This seems like a lot of nitpicking to me... if a certain "platform" becomes popular people want to be able to easily see what prods were made for it so it is added eventually, end of story.
added on the 2016-07-07 00:30:03 by wysiwtf wysiwtf
Amen.
added on the 2016-07-07 00:53:53 by p01 p01
Quote:
Does a Pico-8 demo run without the Virtual Handheld/Emulator/Simulator (wathever it's called) ? (Nope)


Actually you can export pico-8 files to html/javascript, but im actually not sure at the moment if the actual pico8-vm is included in the export or if it comes from some online server. Fact is it you can easily run it without the (somewhat commercial) emu/ide.

Maybe p8 prods could just be tagged as javascript ;p
added on the 2016-07-07 01:14:28 by wysiwtf wysiwtf
So here's my take on it: A platform is the highest significant abstraction layer a demo first meets / requires when you run it.

Let me explain what I mean by that.

When you run a Windows demo, the demo's ability to run is provided by Windows: Windows contains the drivers, and abstracts away (most of) the hardware, and as such functions as the most important element of the underlying system, and the demo doesn't mess with the hardware directly. The same goes for Linux or MSDOS.
When you run an Commodore 64 / Atari 2600 demo, you're running code (relatively) bare on the machine and the machine itself serves as the actual platform, there's nothing above or under it. Same goes for most 8-bit platforms.
When you run a JavaScript demo, you're running the demo in a JavaScript VM, which is (commonly) provided your browser - from this perspective it doesn't matter what processor or OS you're running it on, and the demo cannot break out of the VM. Same for Flash, Alambik, mIRC, PHP, etc.
(I'm purposefully sidestepping Amiga here because I'm not entirely sure if there's different flavors of AmigaOS-es and whether they matter at all.)

So with that in mind: Are prods made with specific demotools platforms? No, I don't think so: even tho a WZ demo or a Demopaja demo (or even a Unity demo) comes with certain limitations the creators have to work with, these limitations are not inherent to the system, and at the end of the day the thing that pops out is always a Windows executable. Here's a scary thought: The same argument with ZX/Pentagon/TS-Conf problem could easily pop up with people modding WZ3 - let's not go there.

So about the new suggestion: Would I consider Pico8 a platform? Yeah sure, it's an environment that defines specific limitations of what consists of "Pico8 software" and what doesn't, but doesn't come with implementation restrictions, i.e. it's not inherent to what the actual "emulator" itself runs on. Whether there's an actual hardware environment to run it or not isn't really relevant, because Pico8 itself has been designed to be an "abstract" independent platform in the first place. I would (currently) file it next to JS/Flash/etc and then one day (hopefully - it would be fun) there will be a proper hardware implementation for it too.

Now for a couple of contentious issues:
- "Mobile Phone" is a fucking terrible platform choice and should be fixed. Same goes for MSDOS/GUS.
- Processing is odd because it's really just a dev environment that can output Java, JavaScript and standard Windows(/OSX/etc) executables, so in that sense it's more of a demotool than an actual platform. A flexible one, admittedly, but Processing itself does not serve as an execution environment when you're running a demo.
- Raspberry Pi causes me a lot of headaches because it's really just an ARM Linux platform; if a release is binary only, then a "Linux (ARM)" tag would fit it better, and if it comes with source, it might as well be just "Linux".
- In that vein, the various POSIX / *NIX stuff are a similar situation where most of the releases filed under e.g. FreeBSD / Solaris / etc. are just Linux prods that happen to have source that transparently cross-compiles under the various flavors of *NIX systems.

I had a long talk with Marq about this before and I have a plan of a sort of "sub-platform" system that offers a solution to a lot of these problems, but there are still quite a few design questions that I haven't gotten around smoothing out yet.
added on the 2016-07-07 02:34:07 by Gargaj Gargaj
Quote:
Ahhh now I get it! I will re-release all my BlitzBasic demos as source only so they won't run without BlitzBasic installed, and that way BlitzBasic automagically becomes a "platform" :)


Compiled or not, without the Pico-8 platform (be it on Win, OS X, Linux or within a Js-powered browser) you can't run Pico-8 a prod.
Once you BB source is compiled into AmigaOS, Win, OS X or Linux binary, you don't need the BlitzBasic anymore.

Well, you already know that, of course :p

Wysiwtf nailed it.
Let's wait till there are enough NeoGeo or Pico-8 or Processing prods on Pouet (or not...) for their respective categories to become really mandatory :)
added on the 2016-07-07 02:39:15 by fra fra
BB Image
made me laugh :)
added on the 2016-07-07 08:36:28 by lvd lvd
Gargaj
Quote:
POSIX / *NIX stuff are a similar situation where most of the releases filed under e.g. FreeBSD / Solaris / etc. are just Linux prods that happen to have source that transparently cross-compiles under the various flavors of *NIX systems.

This is mostly true, but there's one caveat. At least for size-minimized 4k/etc. case, the actual final binary uses different ELF header layouts between FreeBSD and Linux. There are tricks that can be done on some system or the other.

It is true that prods made this way will mostly compile transparently between different *nixes and (if programmed properly) even different architectures - or on Windows. However, for the size-limited productions, when some particular tricks cease to function, the prod no longer is a 4k.
Quote:
Raspberry Pi causes me a lot of headaches because it's really just an ARM Linux platform; if a release is binary only, then a "Linux (ARM)" tag would fit it better, and if it comes with source, it might as well be just "Linux".

RasPi is even more of a specific beast, since you have to include custom code to handle VideoCore display initialization, and even then the GPU has some peculiarities that may give you nightmares. Again, if programmed well, it will hopefully be very much source-level portable, but there is no doubt the production has arrived on its final form due to particular limitations of the platform (I'd love to write a long post about this, but I'd have to release one production from the back buffer first).

That said, I'm not against the idea. It'd just be better to have some kind of "Development board/SoC" category and put "Raspberry Pi (Linux)" under it. In the same way we could do "Unix" category and put FreeBSD/Linux/Solaris under it.

If some production was the real size-limited production on some specific platform and not on others, perhaps there should be a possibility to signify the primary platform and then have "ports"?
added on the 2016-07-07 12:30:48 by Trilkk Trilkk
I'm not arguing any of your points, I'm mostly just trying to cover as much ground as easily as possible while leaving enough wiggleroom for specific cases. Your examples in my optimal scenario would be "Linux/Unix -> FreeBSD" or "Linux/Unix -> Raspberry Pi" if the binary only runs on that specific platform. (Note how this doesn't exclude having the source next to it crosscompiling to whereever.)
added on the 2016-07-07 16:15:26 by Gargaj Gargaj
good luck sorting out the subcategories for planet hively ;-)
added on the 2016-07-07 23:58:51 by xeron xeron
Anything that doesn't fit will be deleted.
added on the 2016-07-08 00:06:54 by Gargaj Gargaj
(\/)oO(|) *klik* *klak*
added on the 2016-07-08 01:00:07 by p01 p01
Quote:
"Mobile Phone" is a fucking terrible platform choice and should be fixed. Same goes for MSDOS/GUS.


You have probably thought/considered about a "tags"-system too? I think that would be awesome. Then if one wants to _find_ all DOS demos using GUS, Adlib, PC-speaker or whatever (for this PC-DOS platform in particular), one just clicks on the specific tag :P Same for a listing of Mobile-phone devices that has an specific additional GPU's or uses one specific IC-chip for everything. Almost everybody knows GUS is just a soundcard. If some people do actually want to find all demos made by a particular "feature" of a platform this would maybe be an idea. If someone wants to find all demos made in Javascript, just click on the Javascript-tag (or whatever one wants to call it). I can imagine some kind of sub-tags (leafs) for every tree (core-platform) either individual or the same for all trees.

Platforms are different and contains additional/extra hardware like soundcards, graphic cards etc. I dunno this might be a bit of a challenge to implement on an existing old database-design on pouet.

Good luck with the plans.
added on the 2016-07-08 02:16:00 by rudi rudi
Quote:
Pico-8 seems like an interesting platform.

I'll just leave that here for now.


this, but with the neo-geo platform logo next to it

BB Image

Code:.os_neogeo { background-position: -160px -160px; }
added on the 2016-07-08 06:28:23 by freem freem
If you wanna make icons, please make them as separate images, I have a script to make the composite + CSS.
added on the 2016-07-08 09:33:50 by Gargaj Gargaj
Perfect. Here's a platform icon for pico-8 BB Image
added on the 2016-07-08 10:53:36 by p01 p01
Quote:

You have probably thought/considered about a "tags"-system too? I think that would be awesome. Then if one wants to _find_ all DOS demos using GUS, Adlib, PC-speaker or whatever (for this PC-DOS platform in particular), one just clicks on the specific tag :P Same for a listing of Mobile-phone devices that has an specific additional GPU's or uses one specific IC-chip for everything. Almost everybody knows GUS is just a soundcard. If some people do actually want to find all demos made by a particular "feature" of a platform this would maybe be an idea. If someone wants to find all demos made in Javascript, just click on the Javascript-tag (or whatever one wants to call it). I can imagine some kind of sub-tags (leafs) for every tree (core-platform) either individual or the same for all trees.


Currently, GUS is a platform, but AdLib is a list (which looks quite close to what most people would call "tags" already)

there is also IBM PC demos, werkkzeug1.

Maybe showing the lists in the demo page for demos added to a list would help making the feature more widely used for this?
One note that I want to still bring up - frog sent me an email and it reminded me that this hasn't been discussed yet - is "Wild" really a platform? I understand there's a necessity to have some large "miscellaneous" category where you can dump all the stuff that doesn't fit, but right now I think especially with the icon it feels like it's the days when even big parties dumped "alternative platform" and "animation/video" together.

To me it makes more sense today to have "Video" (for pure animation/recorded/etc. stuff) and "Alternative platform" (which might as well be called Wild).

Thoughts?
added on the 2016-07-08 13:35:56 by Gargaj Gargaj
Good thinking.
added on the 2016-07-08 13:37:58 by p01 p01
Quote:
When you run a Windows demo, the demo's ability to run is provided by Windows: Windows contains the drivers, and abstracts away (most of) the hardware, and as such functions as the most important element of the underlying system, and the demo doesn't mess with the hardware directly. The same goes for Linux or MSDOS.

MS-DOS doesn't abstract away anything, unless you run some text-mode demo.
Quote:
Good thinking.

In that case I'll be needing an icon for "Alternative platform" / "Misc" / "Other" / "Wild" / whatever we decide to call it.
added on the 2016-07-08 17:29:39 by Gargaj Gargaj
PulkoMandy: oh, well. the lists has been hidden for my eyes all this time. didnt know they existed. there's still an usage for easy access through tagging however.
added on the 2016-07-08 18:35:03 by rudi rudi
shouldn't icons help browsing not just add color to site?!
those icons are way too small.
added on the 2016-07-08 18:58:05 by 1in10 1in10

login