15 ms·
I’m only making business card sized games now
- magoon 8y agoThis reminds me of early BASIC games that would run on IBM PC, compatibles, and other early computers with BASIC interpreters. I remember one such game that was almost exactly this.
- Jolter 8y agoI recall typing this exact game into the old Amiga, in the AMOS Professional interpreter, from a code listing in some magazine. It was not a very long code listing, but significantly more than 960 bytes! It had sound effects, too, and I think it scrolled the opposite direction. I guess that made it a racing game, not a skiing game.
- vaidhy 8y agoIt looks like a fun programming project..However, I am getting lost as to the purpose. Why write something so hard to comprehend just to get it into ~< 1K unless the only purpose is to get it small? Why not a larger game that is more fun to play? Why not a larger game that is still tight code, but good to teach game mechanics?
- munificent 8y agoWhy play videogames at all? What does that accomplish?
- ToFab123 8y agoDoes it have to accomplish anything? Isn't it OK with you to do something for no other reason than is fun?
- Scarbutt 8y agoIsn't it OK with you to do something for no other reason than is fun? That was his point.
- munificent 8y agoDing ding ding!
- ilovetux 8y agoIMO art is all about working within constraints. i think this might be some of the most beautiful (if not maintainable) code out there. No body needs to maintain a picasso, just preservation.
- MaulingMonkey 8y agoOne always has constraints, if only in time/budget/imagination. And those are some pretty boring, vanilla constraints. Different constraints encourage or force different approaches, which gives you different results. You're not going to have a budgeting meeting over a <1K demo. You're not going to contract out to an artist. You're not going to use a large engine. You're not going to make a doom clone. You're not going to hum and haw over what middleware to use. It limits how much over-engineering you can invent. <1K is a pretty extreme constraint... but it's not that far off from what the demoscene does, and they discover some fascinating techniques and tricks in the process.
- emptybits 8y agoThat's an excellent description of why I recall the days of inherent constraint as fondly as I do. I was an 8-bit console programmer back in the day. I've also worked in a later era of sophisticated engines, huge teams, artists and coders often assigned narrow specialties, managed by tiers of development directors and producers and administrative staff. Pros and cons, for sure. So in hindsight, two more joyous aspects of constraint in game development (whether inherent or self-imposed): 1. Bugs, testing, quality. When you know your binary will be burned into a cartridge with no hope of a patch or update, one tends to code and test carefully! You fill your allocated ROM banks with as much "fun" as you can (code and content) but you know it must be well tested for both play balance and bugs because you can't release a version 1.1. :-) 2. Scope creep. This is much easier to avoid when you're given (e.g.) four 16KB banks of ROM for all your code and assets. So you burn midnight oil for mere months, not years, before you find out if your game is a hit or a stinker. Short feedback loops. More variety per year. Refreshing.
- rococode 8y agoI think the concept here is like Code Golf. It can be fun to just write code that meets certain odd requirements, even if the end product is nothing super special. https://codegolf.stackexchange.com/ https://codegolf.stackexchange.com/
- KilledByAPixel 8y agoHi, I'm the author of the post. The reason I made it is because I've already worked on a ton of other games and I wanted to try something different! I've worked in the AAA industry for years on many games. Just recently on Doom, I remember that code was so bloated you could open "hands.cpp" and just hold page down for days. I've also released many games on my blog, like close to 40 games on there. So the main point is just try creating something different. Maybe for you it's not writing tiny code, maybe it's something else that seems pointless but you know you will have fun doing it and at least create something in the end. Trust me, it will be worth it.
- coolreader18 8y agoIf you want to use this on Linux, you need to have wine installed, but it does work! curl https://www.dropbox.com/s/rmagppsuhwms28k/TinySki.exe -OL wineconsole TinySki.exe
- seba_dos1 8y agoA pity that it uses windows.h API.
- coolreader18 8y agoIt does work with wine using the pre-compiled version and `wineconsole`: curl https://www.dropbox.com/s/rmagppsuhwms28k/TinySki.exe -OL wineconsole TinySki.exe
- munk-a 8y agoI feel like using MFC would have been a better choice here for future portability.
- jrockway 8y ago> We all know that modern games have become bloated, weighed down by useless features, achievements, anti piracy measures, piles of assets, and other junk. Not only that but developers are constantly taken advantage of, made to crunch for no pay, mass layoffs, etc. Lives have been ruined, and for what? So you could watch your horse poop or play dominoes in an open world game? I am not sure that it's fair to compare a business card game to AAA games. The depth and complexity just isn't there. It's a randomly generated ski slope that you press left or right to navigate. Fun for a few minutes? Sure. But fun for multiple sessions? Not really. I've played something like 1500 hours of Overwatch that I bought for $30. The depth of the game is just spectacular, and it keeps you coming back to play more. They add new heroes and new maps regularly. The core game itself is fun. I've made many friends. I met my girlfriend in that game. The polish and complexity is just not comparable to a business card game. Yeah, they had to pay developers to make matchmaking servers and automatic update processes and add new heroes and code "events" and make a storefront to buy lootboxes. I don't think there's anything wrong with that. Blizzard made money. The engineers on the project made money. I enjoyed my time playing the game. It's just a totally different universe from a 30-second throwaway game. The lesson to take away, is that anything can be simple. The question is: is the simplest possible thing even worth it? Games like Overwatch changes people's lives and become apart of them. Random skiing... good blog post I guess, but where is the impact? What would the world be like without this game?
- munificent 8y agoI think the lesson to take away is not to take the author too literally.
- munk-a 8y agoOh right, it's that day... so this is all just April Fools' BS. Is it possible to get a [Parody] tag for HN to just highlight "Intelligent discussion need not happen here."
- icebraining 8y agoNobody said this was just a joke.
- leggomylibro 8y agoOh, they print the game on a paper business card - I thought this would be about handheld games on one of those credit-card-sized consoles. Those are cool, but I guess the games are also much bigger at tens to hundreds of kilobytes. Fun project, thanks for sharing!
- hinkley 8y agoI thought it was a card game printed by a business card company (which probably doesn't make sense anyway. I'm sure they charge more per card than other printers, and the cards would have to be sorted)
- stickfigure 8y agoIn fairness, he's optimizing for "fun to write", not "fun to play". It reminds me of a cartoon I saw 25 years ago, "the perfect airplane" drawn from various perspectives: * The perfect airplane (pilot's perspective): Super sleek jet fighter. * The perfect airplane (mechanic's perspective): A giant pile of access hatches in vaguely airplane shape. * The perfect airplane (builder's perspective): A 2x4 with another 2x4 nailed across it as a wing, a smaller 2x4 nailed across it as a tail.
- KilledByAPixel 8y agoDo you think great artists make things that are fun to make, or do you think they really just try to make stuff that other people will enjoy?
- kakarot 8y agoA great artist makes things that are exceptionally unique and thought-provoking. A successful artist makes things that have wide enough appeal to generate sustainable income. Whether the piece is fun is irrelevant to the caliber of an artist, I think. Some artists toil night and day for finished products that mean nothing to anyone but them.
- ozzmotik 8y agoideally both, but with a preferential disposition towards the former. I see no reason why it has to be one or the other. false dichotomy etc.
- jobigoud 8y agoNot just artists. This is relevant for probably anyone with multiple successful side projects. Finding stuff at the intersection of the set of things fun to make and the things other people will enjoy is the hardest part of deciding what project to work on. It's a skill. You need to have a lot of ideas to find one landing in this sliver.
- joemi 8y agoI'm assuming that the business card size restriction is an April Fool's joke. There's already a pretty big movement of people dissatisfied with the big AAA games: the indie video game scene. I can't believe someone in the video game world wouldn't know about that. Actually, now I wonder if the whole post was actually supposed to be taking the piss out of indie game developers? If so, that's pretty damned elitist, as there are many many many good indie games that I'd happily play over most AAA titles. Plus there are great AAA titles that started life in the indie game scene, like Portal.
- KilledByAPixel 8y agoHi, I'm the author of the post. I actually am an indie dev myself and have many smallish games as well as worked in AAA for years. I think indie developers tend to get it right more often, but anyone can fall into the wrong approach of over-complicating their games with needless features that actually detract from the fun. Like take for example RDR2. Imagine if instead of having all those silly mini-games, they just polished the core combat and movement mechanics more. That's the game I want to play. I guess I was trying to say a few things with this post, but one big part is that removing stuff from a game and making it simpler is often better then adding more stuff. I talk much more about that in my epic js1k post coming soon!
- mysterydip 8y agoI think the code length restriction is a great way to distill a game concept into the "core fun", which is what more people should be focusing on when making them IMHO. If you go on say /r/gamedev, you'll see all kinds of posts of people stuck down rabbit holes of negligible design, like how to make the best hair physics. A lone developer could spend a year's worth of free time implementing things that don't make the game any more fun or complete.
- joemi 8y agoI think you get that kind of potential to get stuck on inconsequential details in any design. It happens in video game design of course, but also board game design, and graphic design, and software design in general, among many other fields. Most general design guides encourage iteration and refinement, and when it comes to game design specifically that comes across as the push for frequent prototypes and playtests so you can refine the mechanics. (In the software world it often comes across as the "minimum viable product" concept.) I think people who get stuck on details in ways like you mentioned are people who never learned this, whether self taught or formally educated, or they're forgetting those tenets of design.
- colonelpopcorn 8y agoI like the idea of business card sized pieces of useful or potentially useful code. However, it's not useful for much beyond putting it on a business card.
- crooked-v 8y agoThis makes me think of Kairosoft (the company that makes all those relaxed, bite-sized simulation games) as one of the examples of a company sustainably making a huge number of small, inexpensive, but engaging games. I think part of their secret sauce is in how they take some of the same basic gameplay concepts and adapt them to different themes with just enough new stuff to change the gameplay loop, so the conceptual development overhead is minimized to just the new stuff.
- sigmaprimus 8y agoLess bloated software is always a good idea, I am a bit concerned with the idea that smaller source equals better programs. It seems to me that by sacrificing source size he has lost some readability, his example may be <1K but it's at the cost of increased difficulty debugging, porting and modding. IMHO removing formatting just to reduce source size and or line count is as bad as loading a huge library only to use one of said library's functions.
- ehnto 8y agoI agree. Code is ultimately for human consumption, so optimize for human readability and good organization. That is of course very different to bloat. Bringing in hundreds of dependencies, tracking, analytics and using engineering patterns that are over-complex for the use case are probably habits we coule get better at in the industry.
- cyberferret 8y agoThat ski game reminds me so much of the Olympic Games Pack that Microsoft sold as an add on to the original games (Solitaire, Minesweeper etc.) that can installed with Windows back in the day. I must say that those little mini games were some of the most enjoyable ones I've ever played. Useful to burn a few minutes while waiting for compile to finish or a call to be returned. I've never really gone for any really immersive games in my time. Nowadays, my favourite game to kill a few minutes at a doctor's surgery or something is F-Sim. It doesn't classify as a simple game, but just 2 minutes as a test of skill to shoot a random approach and landing in the Space Shuttle and I am happy.
- ndnxhs 8y agoThose games were the best for wasting time at school
- IvyMike 8y agoThis is a blatant rip-off of my 17-line c64 basic game, Space Caverns, published in 1986 in Run Magazine. http://www.gamebase64.com/game.php?id=12367&d=24&h=0 http://www.gamebase64.com/game.php?id=12367&d=24&h=0 :)
- animal531 8y agoYou sure you didn't rip off 1982's Horace goes Skiing? :) I remember the Horace games quite fondly, which usually in themselves were usually just Horace themed remakes of other games.
- HenryBemis 8y agoI remember metrics such as how long can you keep playing it, e.g. people still play Kong or PacMan or WoW, different styles, different depth, but each has its own crowd. Another metric is 'how long does it take to finish' and we know that for games like WoW or Fortnite, it is 'eternity'. I find this more as an interesting notion, get people to appreciate the format and then develop it to something else, but for some reason (most) people have rejected those pixels and are on-board to far larger widths and heights, and in colour. I do not want another WAP when I have 4G though. I do admire and respect the effort and the skill though!
- wyattpeak 8y agoPeople are taking this awfully seriously for what is pretty clearly a tongue-in-cheek writeup. An article doesn't have to be an April Fools joke to be fun, nobody's obliged to be literal in all they say.
- ToFab123 8y agoWhen I was a kid in the 1970's games came in a credit card sized form factor. Pacman, donkey Kong, (MAME types of games). We all had a bunch of these games with us in our bags. Each device could play one specific game.
- ehnto 8y agoI remember the orange coloured casing for the donkey kong game we had in the house. It was my mothers, and I eventually grew up with the original Game Boy. But it was my first game device and I played it religiously.
- ToFab123 8y agoyeah, me too )) Here is how it looked like. Donkey Kong has dual screens. Most other games only one. https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Nintendo_Donkey_Kong_Game_and_Watch.png/1920px-Nintendo_Donkey_Kong_Game_and_Watch.png https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Ni...
- Hackbraten 8y agoThis gives me 509 Bandwidth Limit Exceeded. Here’s an archive.org link to the website: https://web.archive.org/web/20190402050012/http://frankforce.com/?p=5826 https://web.archive.org/web/20190402050012/http://frankforce... The embedded video is on YouTube: https://youtu.be/PeWdBE82uLw https://youtu.be/PeWdBE82uLw
- curiousgeorge 8y agoHilarious game. I actually like this a lot.
- dalbasal 8y agoIt's interesting that a "business card sized game" is still interesting in 2019. IE, there will be people who want to play it... a game that would have been at home in 1978. I think there's a parallel here to film/tv. You can make a billion dollar "avatar." People like those, but there's always room for a "blair witch project" or a "clerks" that someone can decide and make.
- SmellyGeekBoy 8y agoThe massive success of YouTube vlogs would be another great example.
- pmontra 8y agoI had 1 kB to write my games in BASIC on my Sinclair ZX18 at the beginning of the 80s. One of those games looked like that Tiny Ski in the post. I don't know how many people would have enjoyed playing it (but there weren't many great games back then for the ZX81) however I definitely enjoyed programming, playing and fixing those games.
- pp19dd 8y agoCan't remember the exact name, but yeah, I've seen that game before in the 80s, either on a C-64 or MSX.
- camochameleon 8y agoHow can you make a skiing game, out of ASCII characters, and not call it Askii?
- irfanka 8y agoHaha
- MisterTea 8y ago[rim shot] Will you be here all night? How's the fish?
- samstave 8y agoSuper good. I suggest you try the freah Alaskan Slalom.
- christophilus 8y agoIs it ASCII or Unicold?
- beatgammit 8y agoThat's irrelevant. Pretty much everyone calls text games "ASCII" regardless of the character set used. Take Dwarf Fortress, which uses an extended ASCII character set (code page 437).
- loco5niner 8y agocough, cough... UniCOLD
- contingencies 8y agov1: Aski. v2: AskII. v3: AskiiFree. Sorry, couldn't resist.
- peteretep 8y agoThese can be encoded as QR codes, which would make it much easier to read and run the games
- alpn 8y agoHere’s a slightly more readable version of the FPS one: https://gist.github.com/alpn/cd16f96034c5f71f053b714ad032eaf3 https://gist.github.com/alpn/cd16f96034c5f71f053b714ad032eaf...
- Tepix 8y agoI like small games. They force an emphasis on game design. How about restricting yourself to QR code sized games? The maximum size of a QR code is 2,953 bytes. You may want to use "H" error correction level instead which can recover 30% of errors.
- deckar01 8y agoThis reminds me of the PICO-8 [0] environment used on the PocketCHIP [1]. It supports encoding the full game data into a picture that looks like a cartridge [2]. > Pico-8 games and the program's interface are limited both to a 128x128 pixel, sixteen-color display, with a 4-channel audio output. > The .p8.png format is a binary format based on the PNG image format. A .p8.png file is an image that can be viewed in any image viewer (such as a web browser). The image appears as the picture of a game cartridge. > The cart data is stored using a stegonographic process. Each Pico-8 byte is stored as the two least significant bits of each of the four color channels, ordered ARGB. The image is 160 pixels wide and 205 pixels high, for a possible storage of 32,800 bytes. [0]: https://en.wikipedia.org/wiki/Pico-8 https://en.wikipedia.org/wiki/Pico-8 [1]: https://shop.pocketchip.co/collections/frontpage/products/pocket-c-h-i-p-new https://shop.pocketchip.co/collections/frontpage/products/po... [2]: https://pico-8.fandom.com/wiki/P8PNGFileFormat https://pico-8.fandom.com/wiki/P8PNGFileFormat
- dspillett 8y agoBrings back memories of the little "ten liner" games and other toys in Electron User magazines and similar. Sometimes one-liner examples (it was surprising how much you could squeeze out of 253 bytes of BBC Basic). Anyone with back-issues of that bread of magazine from back then has a little trove of inspiration for this sort of thing. You can do a lot with small amounts of code, especially if you allow the use of complex libraries and only count the include() & calls in the byte-/character-count rather than including the whole size of the library.
- emilfihlman 8y agoIn the post the author mentions the fps game. Anyone have insight into the mvaddnwstr function used? I can't seem to find the library it's included in yet it works, just complains about implicit declaration!