pouët.net

64k intros and datafiles

category: general [glöplog]
I think the answer is quite easy: The data and libraries required for an intro should be sufficient to allw them running on the specified platform (like Win32, Linux or Amiga, accelerated or not) on several typical standard installations - not only one specific Distribution or Configuration. Otherwise, put it into the wild compo.
Concerning intros consisting of multiple files, it should be reasonable to drop all necessary files into an own directory with an overall size of less than the limit.
added on the 2003-11-05 11:28:01 by T$ T$
I think it's as simple as the compo machine's OS establishes the limits. The prod must run on the main OS installation + drivers, psonice said it. There's no discussion. Then, you can do what you want (or what you can) with that.
added on the 2003-11-05 11:30:05 by bfx bfx
kusma, linux is just the frigging kernel, are you going to claim we should do 4k and 64k on windows with just kernel32.dll and some gdi?

SDL is the *de facto* standard multimedia library for linux
added on the 2003-11-05 11:41:05 by _-_-__ _-_-__
$ apt-cache search sdl
(snip 97 lines)
$ tar tfj /usr/src/kernel-source-2.6.0-test2.tar.bz2|grep X11
(emptiness)

Huh? Apparently SDL is indeed part of my OS while there's no X11 in Linux.
added on the 2003-11-05 13:26:56 by 216 216
Knos: Yes, sure seemed to be what was happening in dos intros...
added on the 2003-11-05 19:13:35 by troll troll
i didnt read all postings, but just wanted to say that:
a rule that it has to be one file makes sense. otherwise people could store data in file and directory names without increasing the counted filesize.
added on the 2003-11-07 02:10:17 by Tciny Tciny
Btw, Spin's idea about using 0byte datafiles was already used. I remember a 256 byte entry once that showed a full 320x240 picture, encoded in directory names. The executable just recursed directories and put the filenames on screen. It was an awesome idea when it got released, but it's been done already, so I'd call anyone trying to do the same pretty much a lamer/ripper now and it'd not pass the preselection if I was to choose that at a party.

Can't remember the name of that production though :-)

About 64kb... I couldn't care less if it has datafiles or not, although I definitely find having datafiles on a 64kb stupid.
added on the 2003-11-07 08:17:32 by Jcl Jcl
troll, what about the often required univbe ? (and 4k were crap under dos ;)
added on the 2003-11-07 08:45:55 by _-_-__ _-_-__
I don't know what that is. I'm not a coder. I was speaking out of general observation, and my linux experience as a user. If you want to be picky, any outside files, libraries, including sdl, opengl, directx, hell even dos4gw, is bogus. But those things have been exceptions for a long time and are not going to change. Direct hardware access, from the single executable. That's all that is true and valid, technically speaking.
added on the 2003-11-07 09:30:50 by troll troll
How about including the FAT or ntfs entries as part of the file size if there are more than one file then? Say an extra 64b per additional file or folder?
added on the 2003-11-07 10:23:09 by psonice psonice
the 0byte-data-256b is here.

knos: directx is not "might be" in windows, you can't install windows 98 without installing dx6, same goes for XP and dx8.

psonice: how about counting the actual cluster-size of the prods? :)

troll: yeah well write anything like that, and we'll gladly watch it. on your pc, of course, since there's little chance it'll run elsewhere. and you're not allowed to call DOS-interrupts, kernel dll-s, etc.

overall i guess it's the partyorga's freedom to allow or disallow stuff, whether they stay reasonable or not, is their choice. thank god they mostly do.
added on the 2003-11-07 12:55:02 by Gargaj Gargaj
gargaj: yeah, your right. We need to include the cluster size of the exe, all additional files, plus all linked dlls, fonts etc, and then add 64b per file for allocation table space.

Of course, 256b intros will be disqualified unless they don't have any files, 4kb will be pretty tough too, but at least we'll separate the real coders from the boys :)

Oh yes, and using additional hardware that may be present in the compo machine (such as more than 640k of ram, or a 3d card) should not be allowed incase somebody somewhere doesn't have it.
added on the 2003-11-07 13:07:07 by psonice psonice
256b intros will be disqualified unless they don't have any files

...??? you mean i can't hand in an empty zip? SCOUNDRELS!!!
added on the 2003-11-07 13:19:16 by Gargaj Gargaj
Gargaj I dunno, I thought you might have grasped might point that considering that the SDL is
featured on just about any distribution's install cd and that quite a few useful applications
make use of it, it might be considered part of the OS. Especially since the only reason you
mention is that DirectX is on the install CD of some windows OS. Someone who is using his linux
distribution the same way a typical windows user uses his OS at home will have SDL installed.
(As well as a lot of other things)

added on the 2003-11-07 13:25:44 by _-_-__ _-_-__
knos: don't mistake me; i did get your point. what i mentioned was that sdl _does_ have the chance of not being installed, while directx doesn't.
added on the 2003-11-07 13:33:00 by Gargaj Gargaj
note that this doesn't mean i think sdl can't be demanded as a minimum req in a 4k e.g. (altho sdl sucks :))
added on the 2003-11-07 13:35:35 by Gargaj Gargaj
i think basing the software available for intro on what is installed with the os is a bit of a grey area, particularly in linux, but windows too

eg, directx is installed as standard with win2k, but what version? 7? Limiting prods to directx 7 would suck, so you upgrade it. Now you're already installing extra stuff so the demo can run...

So, i think it's down to the orgas to decide what should be installed, which would basically be something like all the updates for the os, drivers, and standard multimedia interfaces like directx, sdl, x86 etc.
added on the 2003-11-07 14:10:45 by psonice psonice
again on the multiple file issue: as said, atleast on breakpoint, this is mainly a "convenience" rule for me to make deciding whether something fits the size limit or not easy to decide (and also to prevent pathological cases like the one i've mentioned :). i hope we can agree, however, that that requirement changes NOTHING in practice unless you try to encode information in filenames or sth like that, which would cry for disqualification anyway?

on the linux/sdl issue: X11 is not an integral part of linux either. nor is, strictly speaking, ANY software installed, or any kind of audio/framebuffer/multimedia support in the kernel. needless to say, that kind of argument is absolutely USELESS to specify what the minimum requirements for a compomachine should be. specifying rules for any sizeoptimizing competition based on a "minimal" configuration doesn't make any sense. it's a 64k intro compo, not a 64k OS compo, and even under DOS you had access to minimal "drivers" (DOS, BIOS interrupts) to do the "dirty work" (file access, video mode setup etc).

IMHO, the only reasonable way to define rules like that is by estimating what a PC with the configuration of the compopc would typically have installed. For Windows, this includes current display drivers, the current DirectX release, etc. For Linux, this means X11 and SDL (atleast for any machine with a distribution newer than 3 years old and meant to run multimedia applications, like demos :).
added on the 2003-11-07 14:26:12 by ryg ryg
the point was that SDL is not a route to the hardware it self. it's an abstaction libs that use other hw-routes itself. therefore it should be staticly linked or included in the filesize.
added on the 2003-11-07 18:22:54 by kusma kusma
knos: SDL is by no means the de facto standard for multimedia on linux. for sound alsa/oss is. for framebuffers and gl-contexts x11 or fbdev is. SDL only WANTS to be de facto standard. SDL is an abstraction-lib availible for a lot of platforms, not one platforms most direct route to the hardware. I't like calling OpenPTC a standard-lib because a lot of coders used to use it some years back.

Sure, some linux coders envy us windows coders for having directx. and i don't blame them. ;)
added on the 2003-11-07 18:32:09 by kusma kusma
You're so wrong it hurts.

- Fbdev is no workable standard considering its hardware support. Only a few applications support it.
- ALSA/OSS. Do you include Alsa-lib in the list of libraries we should be able to use? Because after all, it's an abstraction layer and could just as well be layered on top of something else. It has been ported to QNX once before actually.
- By your logic, shouldn't we just call DRI directly instead of passing by X11?

Again by your logic, why opengl.dll should even be allowed on windows? For reasonable people it is quite clear, almost all users have a driver for it, and that's because it is being supported by popular applications. A de-facto standard.

(OpenPTC never was and never will be a standard lib, as outside of the demoscene it's application support has always been small)

Ryg said it all already..
added on the 2003-11-07 19:16:00 by _-_-__ _-_-__
sigh. SOMEONE obviously only read the words, not the message.
added on the 2003-11-08 04:35:13 by kusma kusma
The message being that we should code / allow APIs that are native only to the target OS ?
added on the 2003-11-08 11:42:46 by _-_-__ _-_-__
I'm on the verge of coming back to coding intros/demos and stumbled upon this discussion --

I would like to go ahead and code 64/4k intros and also demos that are 100% cross-platform and SDL would obviously be my first choice for that. Has any intro or demo been done since that uses SDL? Is SDL "officially allowed" now?

In the end, it's just a way to make sure the application will be able to run on both Linux and Windows and if you don't include the OpenGL libraries in your filesize, you shouldn't even think about doing that with SDL.
added on the 2007-08-13 13:47:32 by ferrex ferrex
SDL is commonly assumed on Linux, at least. I don't think anyone really cares if your Windows version is bigger, if only one of the versions (the one shown in the compo) is under the size limit.

The ports of Traction 64k intros to OS X and Linux take something like a megabyte because of a huge bitmap font, and I don't anyone has complained about that.
added on the 2007-08-13 13:53:59 by Preacher Preacher

login