Problems on the Games and Demos list

Use this forum to share and discuss Uzebox games and demos.
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Problems on the Games and Demos list

Post by D3thAdd3r »

For the MB one I tried this in Gimp like you said as well as some other options and I was only able to get around the 340K mark, except where reducing the colors a lot and it looked bad at 100K. But, I suspect the web tool may have already done some dithering by default, which I guess, might hinder Gimps attempts. I will try recreating some directly in Gimp and see if I can get some smaller sizes. The MB ones is about 53 frames, though that in itself is pretty excessive.
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Problems on the Games and Demos list

Post by uze6666 »

Nice work on that list Lee! That image size is perfect for me. Thought I'm afraid animated gifs of all games will be heavy to load and perhaps overwhelming? Perhaps have a rollover on the images that would load an animated gif dynamically? I like the C64 pages simplicity. I also like http://c64.krissz.hu/jatekok/ since that's what I wanted initially. We should try to find a way to put the name of the game and it's other info under the images. The other benefit of using static images is that we can simply reuse the pictures in the games pages for the thumbnails.

Btw, with the images, that list goes on and on, we really have a lot of games!! :mrgreen:
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Problems on the Games and Demos list

Post by Jubatian »

I did a little proof-of-concept on Buddha. I wanted to do on Joyrider, but having only a laptop here and having to awkwardly hit printscreen in the emu on this ridiculous keyboard I simply couldn't get anything worthwile done as base.

With Gimp notably I did the following: First I imported the whole set of screenshots with the "open as layers" feature (this gets all nicely ordered, fitting for animation), then reduced the size to 160x112 with bilinear interpolation, then indexed palette to 255 colors without dither. On the right click menu, I navigated to filters, animation, and optimized for gif. When saving (export) I simply overriden the time between frames to be 300 milliseconds rather than the default 100 (which appears after optimizing).

On Lee's "fat" Buddha animation, if you check closely using Gimp, the dithering artifacts and their variation becomes clear. Most of the size comes from that, and once the 160x112 image is dithered, it is not reversible (you have to start over from the original size undithered source). I would expect most non-scrolling games to produce images of similar sizes (so Mega Bomber too shouldn't be much more than 50K either), and usually you should still be able to reduce color count to, say, 50 without much notable quality loss for a further cut on size.

(The colors are only slightly darker than what you are used to since I have my hacked emu linked to the uze file type, which has a cheap CRT monitor simulation with scanlines)
Attachments
Proof of concept for small animation.
Proof of concept for small animation.
buddha.gif (13.9 KiB) Viewed 5757 times
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Problems on the Games and Demos list

Post by D3thAdd3r »

Excellent!

I will have to try again, I guess the one I used does dithering no matter what settings and GIMP had junk to work with when I tried.

I suspect then that the size is OK to load. My cellphone loaded the huge ones in a reasonable time and after loads are instant of course (or would only need to load 1 when a new game is released). The other option of static images with gif zoom/mouse rollovers might be easy too.

I think there is some way to specify frame delays for individual frames so you could have short pauses when the sentences display in Buddha for not extra cost (like me doubling the frames in my huge versions :roll: )
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Problems on the Games and Demos list

Post by Jubatian »

D3thAdd3r wrote:I think there is some way to specify frame delays for individual frames so you could have short pauses when the sentences display in Buddha for not extra cost (like me doubling the frames in my huge versions :roll: )
This is possible in Gimp. If you load a bunch of frames, and hit "Optimize for Gif" it will assume 100ms between each, and will optimize out completely identical frames. The only step missing is to change that 100ms default (or hack the emu to do auto-screenshots at such intervals on request). There is still a "hack yourself around" way: export the unoptimized variant (after size / color reduction) to GIF first, when you would have a chance to globally override the delay between the frames. Then reload that GIF, and optimize it. Of course once you hit "Optimize for Gif" or load a Gif image, the layer name will encode the delay, so you can edit individual delays (but it is cumbersome since there is no obvious easy way to look at the individual frames, or I just couldn't find how to do that yet).
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: Problems on the Games and Demos list

Post by uze6666 »

Just noticed ffmpeg can also export to animated gif. It's probably worth experimenting to find optimal results and make a simple script. Eh, perhaps even straight in uzem. :)
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Problems on the Games and Demos list

Post by Jubatian »

I was looking around a bit in the games & demos list again...

A feature I realized I am missing is a search by author. Lee has several games already, I just found this (Columns), judging by the sync signal and that the .uze file has no "UZEBOX" header it should have been made using some old kernel, but it is a very nice game (and it doesn't even have a topic here). It would be nice to be able to list games by him or with him as contributor for example.

OFF: Any chance for the older games to ever receive a few fixes? Columns for some reason by default offers to start at Level 9 (is this really a good idea?) and has slightly broken sync (there is an 560 cycle long pulse before the VSync, totally off, and otherwise all display pulses are 1818 cycles wide which should be trivial to fix, needing 2 nop cycles). There is also a Boulderdash clone there which I wanted to try but seems to require a NES controller (doesn't work properly with SNES), it isn't alone with this problem. With several games I run into broken Google Code links (although I see Lee's sources are there). If any game had or received a well-defined source code repository, I could help in fixing these (such as the video mode problems, I think I can easily patch up any timing problem now with ease as long as it produces lines with less cycles than required, the other way around is a gamble).

EDIT: I started digging around in the Games list on the wiki, adding and fixing up some categories, links and stuff where appropriate.

I noticed a weird thing. Here is the Mode 9 demo, look at its category listing. What the heck is a Possible copyright violation in this thing? Even the font shouldn't possibly be (6px wide fonts weren't exactly common, and even if so, there aren't many choices for pixeling one anyway, I can't believe it could be something eligible for copyright). Possibly this category needs some revising (whatever is within), it would be nice if the discussion pages at least were updated to contain info over these (or I think it could be better to mention these straight away on the game page to be clear).

What is the purpose of the Games category? (It has only one entry which is not even a game...)

The Media without a license category might have a valid purpose? (although technically every game must be released at least under GPLv3 here if it uses the kernel which requires this) This only have a single game... Some WIP from 2009, wonder if it even exists today.

Completely dead games which no longer even have any source (at least a functional at least somewhat playable ROM) to restore them should possibly be swept away, not deleted, but possibly isolated in a "dead" category to avoid them cluttering up main lists.

What's the reason of the existence of both this and this? (The former should possibly be deleted, I didn't do it, just in case, just noting for now).
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Problems on the Games and Demos list

Post by D3thAdd3r »

Jubatian wrote:A feature I realized I am missing is a search by author.
This is a good idea. I added in the info using "Real Name(username)" or just "username" based on the info provided in the individual game pages. I checked out this link and realized it already has the authors there(after I re-researched it all down individually :roll: ), but it never got added to the standard text only games list.
Jubatian wrote:Any chance for the older games to ever receive a few fixes?
We never got source code for Boulderdash from previous attempts, which is really a shame. Pretty classic game, it might be worth it to re-implement it in mode 3 with more features some day.

Columns was an old and hacked kernel, but I ended up not needing the hacks(save ram) so I should recompile it. I am going to complete development on it to fix some bugs but namely to add network play. For the "Uzenet Edition" there is not enough resources for a CPU player, so it will be able to trigger on demand an AI bot on uzebox.net to play against over the network. When any of that starts to happen I will make a topic for sure.
Jubatian wrote: What is the purpose of the Games category? (It has only one entry which is not even a game...)
Weird. I have no clue why that exists, but I think it should not :?
Jubatian wrote:What the heck is a Possible copyright violation in this thing?
Seems to me Alec did a really quick copy, paste, modify from an existing entry on that one. I just guess that because it is exactly what I always do!
Jubatian wrote:or I think it could be better to mention these straight away on the game page to be clear
I agree if there is an issue it should be added at the top and in bold on the actual page, else it will never get fixed. Barely any discussion pages on the wiki that I ever saw, so I doubt anyone checks. Anyone else agree here?
Jubatian wrote:The Media without a license category might have a valid purpose?
I wonder about that one. I can't imagine why anyone wouldn't GPL their code even if they didn't use the kernel at all, as it would be pretty much against the spirit of Uzebox. For things we don't know about, I think it is safe to assign it the GPL license until someone complains and edits it to their preferred license(though not sure of any game that isn't GPL automatically, as they all seem to use the kernel, as why wouldn't they).
Jubatian wrote:Completely dead games which no longer even have any source (at least a functional at least somewhat playable ROM) to restore them should possibly be swept away, not deleted, but possibly isolated in a "dead" category to avoid them cluttering up main lists.
That would be nice to say the least. I almost don't like the demos and WIP being in the same table as the games even though you can sort it. It might be nice to have a separate table for game, demos, and WIP, what do you think?

I was going to write as example of what you are talking about: Air Hockey not having a rom, game page/source or anything, anywhere, so to delete it entirely..but then I found it on the forums. Really awesome, a hidden Uzebox game I have never even seen with roms and source!! What is there, actually impressed me, graphics, ai, sound, etc. so there is now a extremely empty skeleton wiki page for it..anyway back on topic.

I think a little research should be done into each one, and anything that is clearly a fly by night kind of thing with no historical value or material to be found, should be in a "historical" or "dead" category or separate table. A legitimate WIP seems to be something which was/is either significantly developed and/or have some possibility the author will finish them.
User avatar
Jubatian
Posts: 1561
Joined: Thu Oct 01, 2015 9:44 pm
Location: Hungary
Contact:

Re: Problems on the Games and Demos list

Post by Jubatian »

D3thAdd3r wrote:I was going to write as example of what you are talking about: Air Hockey not having a rom, game page/source or anything, anywhere, so to delete it entirely..but then I found it on the forums. Really awesome, a hidden Uzebox game I have never even seen with roms and source!! What is there, actually impressed me, graphics, ai, sound, etc. so there is now a extremely empty skeleton wiki page for it..anyway back on topic.
Nice find! Those pages which are apparently dead shouldn't be deleted or removed right away for this purpose: those games might actually exist.

Yesterday I went through several randomly chosen entries, I fixed some source links (mainly for games which are in the Uzebox master repo but still pointed to the defunct SVN repo), and defined and populated several new categories to identify problems (along with for example merging the three distinct categories coarsely named "game stubs", neither actually defined). You (everyone) should look in the category listing to see what is broken or problematic and try to fix stuff where possible.

A massive problem is that several games lack source making it impossible to reproduce them if any problems / bugs surfaced. Much more than those in the Games without source category, several ones have notifications like source will come soon, will be tidied up etc., then the last update is, say, in 2010. The attitude there should be changed: if there is a source (in any state) it should be published since you might have problems later, other things to do, the doggy peed on the HDD, whatever, and even you could lose it, making for example a game stuck with a NES controller and half-broken video sync forever (the NES / SNES problem is quite critical: unless the game had ROMs for both, without the source, it is stuck with one or another as far as I see).

Related, I would also add categories like "broken sync" or "needs NES controller" to indicate such. A "needs SNES mouse" is also a valid category, and "needs SD card" or "SPI RAM" as well, these are indicators for real hardware owners what they could possibly run. (The used video mode is not really important as category since it doesn't really signify any possible compatibility problem, it's just a technological matter).
D3thAdd3r wrote:Columns (...) When any of that starts to happen I will make a topic for sure.
Should be done, at least the game somewhat revised! It has a nice and polished look, would deserve it!

The experimental list... I just realized that it is indeed possible to order by any column. The list with images however as a whole is a bit large (not by megabytes, by visual size), something should possibly be done in some manner to allow for paging or searching (Maybe some page using the MediaWiki API to interface the full games list). As a whole it would also grow just too large in megabytes as well as a single download (many animated images).
D3thAdd3r wrote:Seems to me Alec did a really quick copy, paste, modify from an existing entry on that one. I just guess that because it is exactly what I always do!
But what? Code-wise he couldn't have done anything which wouldn't be GPLed anyway as whoever wrote code interfacing with the kernel before by definition must have GPLed it himself. On this term all what could happen there is that an author isn't properly mentioned (but that author couldn't raise any objection against the reuse of code since if he did, he would be violating GPL the first place, the same time he has rights for his contribution such as to release it under alternative licenses, so any probable objection against forgetting to mention him is valid). Otherwise it is only the font. If Alec lifted it from another Uzebox game, then again by GPL he wouldn't violate any copyright. What could happen is that who used the font the first place ripped it from somewhere violating some other copyright, but I doubt that this small font by itself would be eligible for such. (This is why it would be important to identify ripped content properly since otherwise everything in the Uzebox software ecosystem should be GPLv3, so a safe ground for reusing so long you properly slap a GPLv3 on your own project: that is, for a moment assuming everything here was proper GPLv3 licensed content, no copyright violation could ever happen within the Uzebox community. Improper or missing attributions could happen, but no copyright violations: the GPL just works this way).

A different case is this Red Bull demo which I think is improperly put in the possible copyright violations category (see the discussion I added, in short, this rather seems to be a trademark issue). Here is a clear example of something not a copyright, but rather a trademark issue: the Pong clone. See this Stack Exchange thread for explanation. This distinction could also be important (a trademark is something of different nature than a copyright). In the case of Red Bull the Uzebox entry shouldn't have any problem (since they made it and GPLv3 has an exception for trademarks), but it has to be noted that the bulls are their trademark (so that graphic can not be reused).
User avatar
D3thAdd3r
Posts: 3221
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Problems on the Games and Demos list

Post by D3thAdd3r »

Jubatian wrote:But what? Code-wise he couldn't have done anything which wouldn't be GPLed anyway as whoever wrote code interfacing with the kernel before by definition must have GPLed it himself.
True, I mean just copying the wiki page from something else and not removing categories that might not apply for that particular entry. Past that even if there was a font or something I don't think that is a big issue even if it was from something else. There is "fair use", but also the fact that it isn't blatantly using something like Mario through out the game for instance where it couldn't be a problem anyways.

We really should go through this information and correct it. For things like this, wrong information is worse than the information(categories) not being there at all.

On source code I don't know what to do, but the attitude needs to change like you say. Also how easy is it to lose source code when you wait to "clean it up", which I myself did on the game "Sokoban" the first one I did(the bad one, before Sokoban World). Screwing around with dual boot and multiple drives way back then....whoops, source code to a game lost forever :cry: I believe the intentions are good, but it just doesn't get done fast enough in some cases. Certainly I think there has been reminders to authors when they release something to also release their source, but not sure what else to do on this except put pressure on right away for some even messy state of source code immediately when a game is released with a cleaner revision to come later possibly. It seems like some of the cases, a developer's "pride" rests in how his source code might be judged by others as messy, which is silly versus having a complete game with some kind of source code that works.

Do you propose we discuss individual items here or on the wiki discussion page for the games and demos page to get this decided and done?
Post Reply