pouët.net

Go to bottom

Demoscene front-end tool

category: code [glöplog]
 
Evenin' all!

I've been playing around with the pouet xml/rss feeds and thought it might be an idea to build a front-end to make it easy for anyone to download and run productions from their local PCs, and having something like a fall-back to YouTube if a demo fails to launch. Having big whopper archives can also help for those who want /everything/ - It's about 60MB for all 64kb prods, don't you know? I have no problem setting up a mirror with all the prods in and providing the bandwidth.

So, simply put I'll have an RSS feed with production descriptions based on XNFO data, and maybe a bit more metadata to help with launching a demo - stuff like whether it needs any extra DLL files to run, or if it detects a DOS executable it fires up an emulator.

So far I've hacked together a few proof of concepts using PHP to present a browser based front-end, and I've managed to get it to download, extract and run demos using a mixture of wget, .net (mental, I have to use .net to perform a non script blocking shell execute) and php's unzip feature.

Ideally it'd be nice if a bit of software could be installed that presents a one-click (or maybe a bit more) way of running a demo, or amassing all the latest prods in one hit without the usual download, extract, find the .dll, find the next .dll, find another .dll fun that we encounter.

Some smart file / metadata handling could help with making sure the production works well, as well as maybe downloading any other emulator type stuff to make it run.

For the record, some old demos behave badly on modern Windows installs - I guess this is to be expected.

Anyone interested? I could github the code once I've got the basics done, and I might write a GUI for it in .net (haven't touched it in years!) to make it a bit nicer. If it is terrible though, I could at least just provide the metadata to get anyone writing a front-end started.

P.S. A lot of prods on Pouet have succumbed to linkrot - maybe we should talk about that as well... :O
added on the 2013-11-06 22:17:01 by rc55 rc55
+1 :)
added on the 2013-11-07 00:50:01 by wysiwtf wysiwtf
+2 :P

sounds like a cool thing to poke around with..

also, demozoo (did it launch? i forgot my beta pw) has a dbase which has different metadata and is designed for this kind of thing too?
added on the 2013-11-07 10:12:54 by Canopy Canopy
Years ago I hacked something together as browser page (in IE JScript) that scans a folder for demos, takes the subfolders as demo name, searches the executables and music files, offers them as links to run them from the browser, and shows a picture from the demo folder as screenshot, rendering some search links and shows the readme. I wanted to perfect it (make it a launcher exe with 3D graphics and render a music playlist from the found music files automatically) but never got around to it:

BB Image
added on the 2013-11-07 11:11:13 by Salinga Salinga
https://addons.mozilla.org/en-US/firefox/addon/pouetcochon/ - i made this some time ago for pretty much the same purpose; it doesn't get you the DLLs (although I suppose it could), but you can use it in about 80% of the cases for one-click demowatching.
added on the 2013-11-07 12:59:57 by Gargaj Gargaj
All of these look really cool. I'm 80GB in pulling productions down so far - damn those wild demos! HUUUGE.
added on the 2013-11-07 15:47:15 by rc55 rc55
Sounds like a plan!
added on the 2013-11-08 00:09:43 by numtek numtek
What do you mean by "find the dll"? Automatically find D3DX etc from the interwebs? If so, that's a bad idea for some not-so-obvious reasons; some versions of D3DX dynamically loads other DLLs when needed. So I guess something like autoinstalling (or offering to install) the right redist might be more appropriate.
added on the 2013-11-08 02:45:17 by kusma kusma
kusma: I'm guessing he meant checking / preinstalling required frameworks, Steam-style. The only issue with that is that of course these have to be enumerated somehow, either by the authors or by the audience.
added on the 2013-11-08 08:47:22 by Gargaj Gargaj
apt-pouet

Years ago at Cebit 2004 I met some people from digitalekultur‎
running a demoscene "stand".

They had a framework with a play list system for executable demos.
added on the 2013-11-08 09:24:14 by Deus Deus
once upon a time I had a python script that used to start a random exe from a folder.
added on the 2013-11-08 11:51:14 by xernobyl xernobyl
about the automatic launching of lists of demos, i remember there was a demotool a few years ago for that, which also remembered the settings for the popup boxes after you set them for the first time and would re-use those settings. or maybe i hallucinated that part.
added on the 2013-11-08 11:55:58 by psenough psenough
Quote:
kusma: I'm guessing he meant checking / preinstalling required frameworks, Steam-style. The only issue with that is that of course these have to be enumerated somehow, either by the authors or by the audience.

Well, I guess you can try reading EXEs and reading DLL imports from them for some demos. Won't work in any case, of course, but it might be a start.
Package management for demos is a good idea, but also a lot of work with many pitfalls (linkrot, dependencies, configs, etc.). I have recently been working on a very well defined subset of the idea, namely installing WHDLoad demos on the Amiga using a CLI. Its still far from being finished, but here is what I have got so far: video showing three demo installs
added on the 2013-11-09 09:29:04 by noname noname
Gargaj: Would you mind especially if I made a patch for pouet to dump a file containing all prod information in one whop?

It could be a cron job if you think it might be detrimental to server load.
added on the 2013-11-09 18:42:49 by rc55 rc55

login

Go to top