488
submitted 4 months ago* (last edited 4 months ago) by Xatolos@reddthat.com to c/technology@lemmy.world

You can play it in your browser here.

top 50 comments
sorted by: hot top controversial new old
[-] mPony@lemmy.world 96 points 4 months ago

On another forum, I was complaining about how Microsoft was planning to remove WordPad from Win11. I was advised that installing OpenOffice or LibreOffice was an appropriate replacement. I replied that WordPad was only 3 megs large, as opposed to the recommended replacements, which are decidedly larger.

I guess not everybody appreciates tight code, but I surely do. Things like this are amazingly impressive.

[-] sugartits@lemmy.world 110 points 4 months ago

Appreciates tight code

Runs Windows 11

Pick a lane, son.

[-] MazonnaCara89@lemmy.ml 35 points 4 months ago

Appreciates tight code

Proceed to run a 13KB Javascript game in a browser.

[-] bruhduh@lemmy.world 20 points 4 months ago

Brother, look up kolibri os, then you'll see some TIGHT code

[-] sugartits@lemmy.world 13 points 4 months ago

AmigaOS 1.3 or bust.

I will die on this hill.

load more comments (1 replies)
[-] MazonnaCara89@lemmy.ml 43 points 4 months ago

Anyway don't install OpenOffice for any reason, just pick libreoffice or onlyoffice. OpenOffice doesn't get a functional/security/compatibility update since 2014.

[-] Dark_Arc@social.packetloss.gg 33 points 4 months ago

I don't particularly care about code size as a user or as a programmer.

Hard drive space is the cheapest thing you've got on a computer.

You could always run gentoo and use -Os ... that can make things a lot smaller but also slower.

[-] ICastFist@programming.dev 28 points 4 months ago

Hard drive space is the cheapest thing you’ve got on a computer.

I hate this "storage is cheap" mentality, it's a cop out for being wasteful without a reason. "Gas is cheap" was common up to the early 1970s, until it wasn't anymore. "Freshwater is cheap", until it isn't anymore.

[-] frezik@midwest.social 10 points 4 months ago* (last edited 4 months ago)

Are you willing to give up 1080p screens and 16-bit/44.1kHz sampled music? Or how about languages that can't be represented in ASCII, much less Latin-1? Because handling those take up way more space than code.

[-] ICastFist@programming.dev 14 points 4 months ago

Let me quote myself:

I hate this “storage is cheap” mentality, it’s a cop out for being wasteful without a reason.

[-] frezik@midwest.social 10 points 4 months ago* (last edited 4 months ago)

And there's almost always a reason. Code size tends to be modest compared to supporting data around it.

[-] ICastFist@programming.dev 11 points 4 months ago

I see you've never dealt with a real life project that requires god knows how many different libraries off nodejs because 🤷‍♂️

Dependency hell takes a lot of space.

[-] frezik@midwest.social 7 points 4 months ago* (last edited 4 months ago)

I have. Still small compared to the images and such that are used in a user facing application.

Edit: just to bring in real numbers, I have an old TypeScript project that results in a 109M node_modules dir. Which I agree is absurd. I also have an old anime video, 21 minutes long, at only 560x432 resolution, 24fps, which takes 171M. And that's my point: even in really bad cases, code size tends to be swamped out by everything else in user-facing applications. If there's any kind of images, music, or video, the code size will be a small part of the complete picture.

load more comments (1 replies)
[-] Flipper@feddit.de 9 points 4 months ago

I'd rather have the audio compressed and decompress in realtime instead of a game taking 100Gb in size. Or maybe give me the option to only download languages I can use.

load more comments (1 replies)
[-] abbotsbury@lemmy.world 6 points 4 months ago

You present a false dichotomy. Yes, things like uncompressed audio and HD video take up more storage space, but that does not negate that modern commercial software is very inefficient with how it uses resources. You could improve the efficiency of the system while keeping HD video, it is not a mutually exclusive choice.

For example, booting up Windows and doing nothing takes up 4gb of RAM, while doing the same with a lean Linux installation would take up a quarter of that, despite both operating systems having identical functionality (run web browser, open applications, edit documents, play games, etc).

load more comments (5 replies)
load more comments (4 replies)
[-] MonkderDritte@feddit.de 8 points 4 months ago* (last edited 4 months ago)

What was it again, 1 critical bug every 1000 loc?

That's why, code as much as needed but as less as possible.

Of course not measured in KB, because readable code takes a bit more space than clever hacks.

[-] Tanoh@lemmy.world 10 points 4 months ago

Counting in lines of code is the most stupid metric.

load more comments (2 replies)
[-] lolcatnip@reddthat.com 5 points 4 months ago* (last edited 4 months ago)

Sometimes a program is slow to start up because it's so boated that just loading it from the disk takes multiple seconds. Wasting a few kB doesn't hurt anything, but if you're doing it thousands of times in one program, your users are gonna have a bad time.

[-] imecth@fedia.io 8 points 4 months ago

Size doesn't matter much when you have SSDs that read upwards of 5000mb/s. It's why we're seeing an advent of web-based apps despite them being woefully inefficient, and why games regularly go above 100gb. The reason file size gets so large is that assets can take up a lot of space and they come with plenty of libraries that they just have to bundle. These "small size" software optimize for size at other costs, like speed, asset quality, development time... Reducing file size is just not relevant anymore and if anything you should be wary of software that do it.

[-] mPony@lemmy.world 19 points 4 months ago

yeah, you know what?... no. This is the kind of attitude that got us here to begin with. Yes, processers get faster, and yes size gets more available. But that shouldn't be an excuse for poorly-written code.
An empty Microsoft Word document is larger than the first word processing program I ever used. That is just crazy when you think about it. but "oh people have lots of resources they're not even using so it doesn't matter", right? When companies have this attitude of "oh the resources are there I may as well use all of them for myself" then their code runs like garbage and you need a faster computer just to make it work halfways decently. And because of this we all end up on this goddamned technology treadmill where we have to keep buying bigger and faster and more expensive computers to do the same thing the old computers did just because the programs written for it are too bloated and the people writing the code couldn't be arsed to make it work well. It wastes our time and our money. I reject that. I think others should too.

[-] imecth@fedia.io 11 points 4 months ago* (last edited 4 months ago)

poorly written code and tight code

This is where you guys lose me, it's just code that not optimized for size and that's because most people don't give a shit about that. People want want their 4k assets, their localization, their accessibility features, their application to run on any device... All this comes at a cost. You want to change things, that's fine, but start by understanding why things are the way they are because shitting on developers won't get you anywhere.

load more comments (1 replies)
[-] frezik@midwest.social 5 points 4 months ago* (last edited 4 months ago)

If you're old enough, then the first word processing program you ever used was probably on a screen 640x480 pixels or smaller, didn't support internationalization, couldn't provide true WYSIWYG to match output between the screen and a printer, and couldn't render fonts with anti-aliasing. Which of these features would you like to drop to reduce the size?

Everyone loves "tight" programs until they realize what they have to give up to make it work.

load more comments (1 replies)
[-] IllNess@infosec.pub 7 points 4 months ago

I just looked at how big LibreOffice Writer is, 210 MB as a portable app... Wow...

AbiWord Portable is probably the smallest and even that is 15 MB installed...

load more comments (1 replies)
[-] altima_neo@lemmy.zip 75 points 4 months ago* (last edited 4 months ago)

Reminds me of kkreiger, an fps with impressive graphics and sound for the time, that weighed in at 96KB.

https://youtu.be/2NBG-sKFaB0

[-] confusedpuppy@lemmy.dbzer0.com 23 points 4 months ago

A long time ago I came across a game that was part of a 1mb challenge. It's called A New Zero. I played it quite a lot, just flying around and dive bombing boats was entertaining enough for me.

I was impressed with 1mb but 13kb and 96kb is pretty amazing. I really enjoy seeing stuff like this.

[-] Gamers_Mate@kbin.run 5 points 4 months ago

Nice I have been thinking about doing a either an 8mb or 5mb gamejam challenge but I wasn't sure if 5mb would be to low but if there are 1mb challenges I guess it does not seem to impractical. Also I am going to test that game out in wine it looks interesting.

[-] dustyData@lemmy.world 16 points 4 months ago

kkreiger is more impressive to me, because it creates itself on execution time. While this 13kB game is willfully ignoring the fact that the average web browser today is already a 2GB behemoth. While kkeiger is pure C++ and it does the whole thing, including the game engine and sound processor and everything else.

load more comments (2 replies)
[-] mPony@lemmy.world 15 points 4 months ago

kKrieger was always kind of amazing to see. Even understanding a little bit about how the game works, it's still kind of mind-boggling

[-] Corkyskog@sh.itjust.works 13 points 4 months ago* (last edited 4 months ago)

This is crazy!

I have so many questions, but lack the technical know how of how to ask them.

[-] Coasting0942@reddthat.com 36 points 4 months ago

Instead of actually storing images, sound files, maps, etc, whole program relies on algorithms computed at runtime. Level generated automatically, sound follows a set math pattern with randomization, etc etc

Benefits of less file size but more processor requirements

[-] wagesj45@kbin.run 7 points 4 months ago

Oh yeah. I can remember back in the day it could take quite a bit to compile and start these things, especially if you were running at higher resolution and detail values.

[-] altima_neo@lemmy.zip 16 points 4 months ago* (last edited 4 months ago)

Basically it's all procedurally generated assets. It takes a long time to start to because it has to make all it's textures and sound effects.

Check this video out by Nostalgia Nerd

https://youtu.be/bD1wWY1YD-M

load more comments (1 replies)
[-] Lodra@programming.dev 20 points 4 months ago* (last edited 4 months ago)

Ok that is an impressive number but it feels a little disingenuous. You still need to something on your machine to interpret the js code, right? Is that included in the 13k? How much storage does that take?

EDIT: Well this is by far my most negative comment here. That’s almost entertaining. I’ll share a few more of my thoughts here rather than respond to individual comments. Maybe the context will make this more palatable.

First, I expect that the js language is doing most of the work here. Which makes sense. But having a browser installed as a prerequisite is an enormous dependency.

How would that stack up against other languages? Can I build a 13k binary using C? How about C#? I think Go is maybe the most interesting because the binary is entirely self contained by default. No external dependencies aside from the OS. I don’t think this or a similar game is viable with only 13k. Which is fine! I just that I find 13k is disingenuous.

That brings up the question of whether or not we should include the OS in the storage size. I would think not. But that’s only because the OS is (usually) the least common denominator when we talk about developing software. It’s generally assumed by default. But if someone wants to compare with a game that interfaces with hardware directly, then yes, we should absolutely include the OS as a dependency.

Now that I’m giving this more thought, I suspect that the devs wrote 13k of code + assets to make the game functional. Still impressive. But the more I think about this, the more meaningless that number gets. Does pre or post compiling matter more? What if we compress the thing as tarball? There’s just too many ways to manipulate this number.

[-] Godort@lemm.ee 34 points 4 months ago

Should the machine's operating system be calculated in the storage too?

[-] catloaf@lemm.ee 4 points 4 months ago

Is there a competition for smallest bootable 3D FPS?

[-] db2@lemmy.world 6 points 4 months ago

Your bios screen could be if you're brave enough.

load more comments (4 replies)
load more comments (1 replies)
[-] tsonfeir@lemmy.world 24 points 4 months ago

That’s irrelevant to the contest.

[-] admin@lemmy.my-box.dev 10 points 4 months ago

Sure, but important to put into perspective when you compare it to .kkrieger and other old school demos - the browser does a lot of heavy lifting here.

Having said that, this is a majorly impressive feat. I love it that this is still a thing.

[-] tsonfeir@lemmy.world 17 points 4 months ago

One could argue the OS also does some heavy lifting.

[-] Saik0Shinigami@lemmy.saik0.com 8 points 4 months ago

in the case of kkreiger, absolutely... Uninstall the wrong font in windows and you actually break kkreiger. So it's not even fully self-contained and relies on static windows assets to function.

load more comments (1 replies)
load more comments (1 replies)
[-] ICastFist@programming.dev 6 points 4 months ago

Depending on how "pure" you want to get, you'd have to look into games that play from boot, so not unlike stuff you'd get from the SNES and older consoles.

[-] Coasting0942@reddthat.com 5 points 4 months ago

Everybody has a browser that runs JS. Only 13k has to be transmitted via floppy disk

load more comments (1 replies)
load more comments (9 replies)
[-] dohpaz42@lemmy.world 19 points 4 months ago

How much of that is third-party libraries, and/or third-party hosted? Obviously the assets (images and music) aren’t being counted.

[-] cley_faye@lemmy.world 37 points 4 months ago

The whole page transferred about 7kB and shows 18.2kB of ressources according to the debug tools.

[-] uranibaba@lemmy.world 27 points 4 months ago

The game also requires a renderer (browser) to play.

I think what they did is impressive but the claim about the size feels like taking source code and saying "look how small on disk it is"

load more comments (4 replies)
[-] Gamers_Mate@kbin.run 13 points 4 months ago

This is amazing for only 13KB.

[-] Teknikal@lemm.ee 8 points 4 months ago

And I was blown away the ps1 game Vagrant Story turned Into 90mb file as a chd.

That said one of the games I enjoyed most even when I had an Amiga was a 48k ZX Spectrum game called Chaos.

[-] ace_garp@lemmy.world 5 points 4 months ago

I did not know that I needed loderunner-quake in my life.

Thanks for posting.

load more comments
view more: next ›
this post was submitted on 02 Jun 2024
488 points (100.0% liked)

Technology

58713 readers
2654 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS