11 ms·
I don't know what it is about game development that really brings out the yak shaving in people. One time, about 8 years ago, I backed a game called Nowhere[1]
by Centigonal 5y ago
I don't know what it is about game development that really brings out the yak shaving in people.
One time, about 8 years ago, I backed a game called Nowhere[1] by a very talented programmer. The original premise was an alien life simulator.
Well, it's been eight years, and development is still going strong!
The developer is currently working on the String implementation for the programming language he invented[2], which he's using to write the other programming language he invented[3], which is eventually going to be used to write the game.
[1] https://duangle.com/nowhere https://duangle.com/nowhere
[2] https://hg.sr.ht/~duangle/scopes https://hg.sr.ht/~duangle/scopes
[3] https://hg.sr.ht/~duangle/tukan https://hg.sr.ht/~duangle/tukan
- onion2k 5y agowhich is eventually going to be used to write the game At what point do you stop believing that?
- jfoutz 5y agoShhh. The man of La Mancha has a windmill that must be faced. I mean, never. But sometimes people just need to make stuff, and that's super cool. They're doing no harm, let them enjoy their fantasy.
- headsoup 5y agoI think sometimes the followers find out that being engaged in the process of creating something brings more value than the game they're waiting for anyway. I have been in a couple of communities involved with developers as they built games and it was almost disappointing when the game was released because the 'journey' was finished and so time to disband. It can certainly be a curse though if the developer isn't or stops enjoying it.
- bendbro 5y agoSorry about the game, but it looks like you funded a pretty cool programming language! https://sr.ht/~duangle/scopes/ https://sr.ht/~duangle/scopes/
- pkaye 5y agoNow I know how to get funding to develop a cool programming language!
- KronisLV 5y agoThis is a lot like what a YouTuber by the name of Randy has been doing: he decided to create his own game engine instead of using something like Godot/Unity/Unreal and it's been quite the adventure. His main YouTube channel: https://www.youtube.com/c/RandallThomas/videos https://www.youtube.com/c/RandallThomas/videos His secondary YouTube channel: https://www.youtube.com/c/RandytheSequel/videos https://www.youtube.com/c/RandytheSequel/videos Of course, he still has nothing close to an actual game and the progress he's made in a year is visually similar to what i threw together in a month in Unity for a freelance client once. Though admittedly, he's probably learnt a bit more about how game engines work by creating his own and it's been quite the educational experience, as well as something that actually has gained him a nice following of people who support him towards more videos. But that's still not very conductive to shipping finished games. It's very much the same as people whose games tend to balloon in scope, another thing that's as damaging to finishing a product in a reasonable amount of time as writing your own engine is. I do suspect that not everyone has the utilitarian approach to game development that i or other people like me have: who just pick Godot/Unity/Unreal for every single project of theirs without ever caring much about the inner workings of everything. Then again, i'm the kind of person for whom, for example, adding graphical effects to their game consists of utilizing pre-made shaders instead of learning to use the shader language properly and all that. Not that there's anything wrong with that, but those are wildly different mindsets.
- mwill 5y agoIn case you missed it, some further context, his website now reads: I’ve decided to shelve Arcane (a video game I’ve been “working on” for 7 years) so I can practice shipping smaller games first I’ve been sending out a personal changelog every Sunday I’ve started using Unity so I can hone my design & prototyping abilities I scrapped my old custom website with this WordPress one I’ve transitioned to having writing (this site) be my main communication medium since I’m not the biggest fan of chasing the YouTube algorithm
- KronisLV 5y agoYep, that is actually the eventual outcome for many of these grandiose projects. Nonetheless, i hope that his further pursuits are more successful or at least fulfilling for himself! Who knows, maybe he'll be able to create interesting content about Unity some time in the future, like Sebastian Lague and others make: https://www.youtube.com/c/SebastianLague/videos https://www.youtube.com/c/SebastianLague/videos (if he ever feels like doing more YouTube content)
- AceJohnny2 5y agoWait, that's the game by Leonard Ritter, aka paniq! I loved his (demoscene) demo Masagin[1] way back when, and have the SVGs of the geometric shapes somewhere, with a vague idea of bleaching them onto t-shirts (speaking of old projects that never come to fruition...) Frankly, I can't say I'm surprised that's where he's at with Nowhere. Well, I'm glad he's having fun. [1] https://www.pouet.net/prod.php?which=50131 https://www.pouet.net/prod.php?which=50131
- selfmodruntime 5y agoAt least the game's name also records where its progress is going.
- Centigonal 5y agoI'm a huge fan of masagin - it was one of the first demos I saw that really spoke to me about the expressive power of graphical programming. I'm glad he's having fun, too :)
- ngc248 5y agoThe name is apt then, since its nowhere :)
- thom 5y agoI think a lot of people get into game development to go back in time to their early experiences of computing. Before all the enterprise projects, before all the tools and frameworks, before all the tiring interactions with people and teams and managers and customers. Just an empty BASIC prompt, just a blank C file. It’s a search for a blank slate, open to infinite creative possibilities, before the world put everything in boxes within boxes within boxes and drained much of the joy from these magical machines. Finishing a game is coming back up for air, who’d want that?
- moonchrome 5y ago>I don't know what it is about game development that really brings out the yak shaving in people. People get into game development because they want to have fun programming. Getting projects done involves a lot of things that are not fun, so it usually goes nowhere because the incentives are misaligned. I've noticed this in many hobby professions - eg. hobby woodworkers spending more time on creating workbenches/tools/jigs/sleds than actually building some projects, hobby guitar players spending more time on gear than playing, etc. and I'm 100% guilty of it as well.
- huseyinkeles 5y agoIn my first year of 3D printing, I printed mostly parts about upgrading and modding my 3D printer. But the good thing is it also made me get used to the whole process of refining a 3D print and after a year I barely started to print functional&useful things. So yeah, I don't see a problem with this approach :)
- journey_16162 5y agoI'm somewhat guilty of this when working on a desktop app. I made a state management library, though I realized I cannot possibly finish it in full so I spent only 100h on it to get it minimally working. I don't consider it a waste though. The waste was trying to come up with some kind of strict error handling ala Rust in TypeScript, I went far with this and got an idea to do it with minimal development, thankfully I pulled the plug on this after a month and went back to work. As a solo bootstrapper founder it's really hard to do development and business / marketing in the early stages. Focusing purely on development is preferable when time limited, however, I think it's sometimes helpful to stop development and take a break to spend on business / marketing - i.e. some education, or preparing marketing content for the future. This tends to put in perspective how much time sometimes is wasted on meaningless things and gives clarity on what is really important - shipping a quality product.
- jasfi 5y agoThat is absolutely fine, and you can learn a lot with that sort of approach. It really depends on your objective. The only thing to keep in mind is that writing software for business (e.g. SaaS) requires the exact opposite approach. You go lean, write what other people want, and go for an MVP first.
- shultays 5y agoWell, it's been eight years, and development is still going strong! The developer is currently working on the String implementation for the programming language he invented[2], which he's using to write the other programming language he invented[3], which is eventually going to be used to write the game. Haha, sorry but was that intentionally snarky or just happened to be?
- bartwe 5y agoThank you for backing his work, his posts and twitter feed are a gold mine for some pretty unique ideas in signed distance field and other rendering research.
- thyrox 5y agoI read an amazing quote online about any satelite company trying to create their own custom rocket to launch its satellite instead of using existing infrastructure. The day they decide to get into that is the day they stop being a satelite company and become a rocket company instead. The person put in much more eloquent words so wish i could find that comment but its sounds similar to that.
- Tomte 5y agoSimilar: https://spacecraft.ssl.umd.edu/akins_laws.html https://spacecraft.ssl.umd.edu/akins_laws.html > 39. Any exploration program which "just happens" to include a new launch vehicle is, de facto, a launch vehicle program. > 39. (alternate formulation) The three keys to keeping a new human space program affordable and on schedule: > 1) No new launch vehicles. > 2) No new launch vehicles. > 3) Whatever you do, don't develop any new launch vehicles.
- thyrox 5y agoWow these are just excellent and even though it says spacecraft design most of them ring just as true for software design.. or maybe just true in general! This one really made me laugh :D > At the start of any design effort, the person who most wants to be team leader is least likely to be capable of it. What an excellent link, thanks for sharing. Definitely bookmarking this.
- marginalia_nu 5y agoGame development is a weird place. You want to be low level to get the most performance, but you also want to be expressive to be able to write an ambitious game. Really does invite the notion that there ought to be a better way, you get a sort of itch you can't quite reach to scratch. I'm having a lot of the same struggles working on my search engine. What I want to do with files is often somewhere between what the operating system provides (too low level), and what a DBMS provides (too high level). So I'm having to build all these weird bespoke disk-based data structures myself. It's clear these things can be done and there is a lot to gain from doing it, but the language support for non-trivial disk based data structures is a bigger pain in the ass than sitting on a burning cactus covered in tabasco sauce.
- maccard 5y ago> Game development is a weird place. You want to be low level to get the most performance, but you also want to be expressive to be able to write an ambitious game. The vast majority of games don't need to be low level for performance. Practically nobody outside of massive AAA studios is writing architecture specific assembly for modern PCs or consoles (and even in those studios, there are very few people doing so). The majority of gameplay programmers are writing bog standard C++ that would be just as performant in C#, or in many cases a lot of the logic is written in a higher level scripting language that is orders of magnitude slower than the native C++, or even just writing all of the game code in something like C#. > Really does invite the notion that there ought to be a better way, you get a sort of itch you can't quite reach to scratch. Oh for sure, and there often are better ways to solve these problems. In my experience, one of the most common reasons for not doing things better is because the codebase is based on an engine from 20+ years ago when they _did_ have to avoid interfaces and virtual function calls for game performance, and you have "modern" systems that are built on top of those abstractions (in the same way that lots of modern networking libraries still leak details about concerns from the 80s/90s)
- marginalia_nu 5y agoDepends entirely on what you want to do. Use a bog standard engine, and you get Satisfactory. If you build your own, you can have Factorio. The former will never reach the sort of simulation complexity the latter can even on modest hardware.
- tikkabhuna 5y agoGame development methodology has fascinated me recently. With the Battlefield 2042 debacle, its interesting to compare it to what I know (financial trading platforms). With trading platforms, they last for years, decades maybe. They're created with some ideas around how to manage performance and to support evolving requirements. Developers know this thing is going to be around for a long time, so its treated as such. Years down the line, you start creating a new platform and look to do a long migration to keep clients happy because you can't just turn off their favourite functionality. Modern AAA FPS games seem to be the complete opposite. Reinvent significant amounts every release. Dump the old game as the new one is released. Much seems to be from scratch. The BF2042 scoreboard issue seems like it should be almost off the shelf. There also seems to be this big shift towards short release cycles which pushes even more churn and reinventing the wheel. Look and feel must be updated to keep things "fresh". Although most of the popular games on Steam[1] are older games that have been around for years. So many places to shave a yak, I'm surprised games get shipped at all. Of course take all of this comment as an outsider who just yearns for the old days of cool mods and custom servers. [1] https://store.steampowered.com/stats/ https://store.steampowered.com/stats/
- jhanschoo 5y ago> Modern AAA FPS games seem to be the complete opposite. Reinvent significant amounts every release. Much seems to be from scratch. I think this should be qualified. The audience and creative workers demand new assets for new titles, but gameplay concepts and codebase seem to move at a slower pace, though live services seem to be distinct systems and not expected to live long, of course. On one extreme, you have EA's sports titles, where new releases have just incremental updates.
- adampk 5y agoIf you don’t mind a digression for someone who needs help… What is the architecture pattern of a trading platform? I am looking to build a system that is able to: - receive 1000s incoming streams of data - save the data - make data available to live subscribers The closest analogous system I can think of is bond/stock/commodity/etc price subscriptions for traders. I feel like this many in - many out data stream architecture should be solved by now and I rather not start from scratch in architecture and technology choices. I can’t find the right phrase to even google to get started.
- matheusmoreira 5y agoTruth is developing the engines is a lot more fun than developing finished products. Game engines are like virtual machines purpose built for interactive audiovisual program execution. The games themselves aren't that interesting. Operating systems are fun, the applications running on them are boring. Browsers are fun, the web sites are boring.
- mattgreenrocks 5y agoWorking on languages and runtimes is just fun on its own. It ends up pulling in many facets of CS: graphs, perf, grammars, automata, resource allocation, etc.
- ModernMech 5y agoIt's not game development that brings out the yak shaving, it's programming language development. Game development is just a gateway drug because it provides so many opportunities for good abstractions to make things easier. The mistake everyone makes is thinking that they can create a programming language while also doing X, where X is whatever they had doing when they got the itch to do a PL. Really, if you want to do a PL right, you have to do it full time. Actually I'm not sure it's really a mistake, it's just that doing PL development is so much fun that there's no reason to go back to the original project, if original the impetus for it was to have fun.
- ChadNauseam 5y agoYeah. After wasting two years working on a programming language I realized nobody was ever going to use, I made an oath to just stick to hacking on top of language that already exist
- deleted 5y ago[deleted]
- paniq303 5y agoOh no, we are on Hacker News. ;-) Hi, this is the yak shaving developer in question speaking. I was worried we'd get grilled hard over our slow progress, but I'm relieved to read that most of you understand how perilous and long-winded gamedev can be. Our backers are also very patient with us, and I don't want to destroy this relationship, but keep being as open and forthright as I can with our progress. I don't mind the jokes (after all, yes, the whole undertaking is a bit ridiculous), but just want to make sure the facts are understood as they really are: * Yes, the premise of Nowhere continues to be that it's an alien life simulator (as in: simulating the everyday life of an alien). * The game is being developed by not just one, but two people: My wife Sylvia Ritter[1] is responsible for the concept art that drives the procedural design (she has given me a lot of work), and I am responsible for programming and direction. We both have a hand in the game design. * Yes, development is still going strong, and will continue to do so, until the game is done or I keel over, whichever comes first ;-) * Yes, I am absolutely yak shaving, and there's definitely some sunken cost thing going on here, but there is still no project I'd rather work on than this one. When we launched the crowdfunding, I had a hunch that this would end up taking us 10 years. Now we are on the far side of it and I had to start cutting features and workflow improvement ideas in order to have a chance at making it in time. * Yes, I developed a programming language for the game, because the art is procedurally driven, and that requires both fast turnaround in prototyping (close to Scheme or Python) while providing C level performance at the same time. There simply was at the time that I started, and still is, no adequate solution available. Originally, I didn't want to do it, but we rationalized that innovation of technique requires innovation of tooling, and hence worth the effort, provided we'd open source everything we made in pursuit of our goal. * No, Scopes' string implementation is complete for several years already, the recent commits are all touch-ups, augmentations and small fixes for the userbase that has grown around the language, which were quick to do and cost me no significant time. We have in fact other, much larger, support problems that I can not adequately cover because the game is main priority, and the language exists to service the game. * Yes, I developed a pure functional reactive language on top of Scopes for our game engine that I wrote a few examples with, in the intent of finally merging the CPU and GPU models so we save 90% of pointless and repetitive boilerplate code for CPU/GPU resource management. It's a fantastic idea that is going to go places, but after realizing how much more I'd have to write to get it all the way to its final, visual programming oriented form, I aborted the prototype and focused back on the game. * What else have I spent my time on? I spent most of those years writing a bunch of prototype shadertoys to explore possible technology used for the game and also teach mathematical concepts to other developers, and they're all released here[2] * What's going on right now? After streamlining package management[3] for both Scopes and Nowhere, I am presently working on our sculptable terrain engine. There is a by now somewhat outdated video demo[4] of one of its earliest incarnations. The LOD stitching has been fixed, and we have occlusion culling now, but I still have to rewrite parts of it to get a rock solid sub 10ms per frame performance. It would have been more fun to do all that with FRP instead, but tooling is never quite where you want it. Thanks for reading all that, Leonard [1] http://sylvia-ritter.art/ http://sylvia-ritter.art/ [2] https://www.shadertoy.com/user/paniq https://www.shadertoy.com/user/paniq [3] http://majoreo.rocks http://majoreo.rocks [4] https://www.youtube.com/watch?v=5JOzqsJZmCo https://www.youtube.com/watch?v=5JOzqsJZmCo
- tester89 5y agoHonestly, my problem is: I don't want to write low-level code, I want a game engine where I can focus the majority of my time on implementing the actual game mechanics. I don't want to have to deal with manually redrawing the screen every time, I want a sprite graph. I also don't want to have to use slow and clunky UIs like Unity, I just want to spend the majority of my time writing code in text files, and making assets in other tools like Tiled or photoshop or whatever. It really surprises me how few engines there are in that category. Only ones I've found were: PhaserJS and HaxeFlixel, and unfortunately no 3D ones.
- jrootabega 5y agoImplementing and refining game tech is not easy, but it's fun, is mostly a science, and gives you rewarding feelings regularly. Game design/production is a mystical dark art (or at least can feel like one) that can be incredibly discouraging, so people avoid it, and avoid the point at which the end is in sight and the game will be judged as a game, by gamers. Modern games leave such a potent impression on our psyche that trying to design one of your own without excessive imitation or feelings of inferiority asks a lot of us. There's also the phenomenon of "devlogs," whose quantity is proportional to development time, and which are useful to show backers that you're making progress (in good faith or otherwise.) And in many cases, somehow they are always long enough to maximize ad placement!!