<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: joeyjojo</title><link>https://news.ycombinator.com/user?id=joeyjojo</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 05 Jun 2026 05:43:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=joeyjojo" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by joeyjojo in "3D + 2D: Testing out my cross-platform WASM graphics engine"]]></title><description><![CDATA[
<p>> The point of Haxe seems to be as a meta-compiler to generate code for a bunch of different languages/compilers?<p>That's basically correct, although there is also a cross platform runtime called Hashlink but is unsupported by Kha.<p><a href="https://hashlink.haxe.org/" rel="nofollow">https://hashlink.haxe.org/</a></p>
]]></description><pubDate>Wed, 03 Apr 2024 04:35:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=39913624</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=39913624</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39913624</guid></item><item><title><![CDATA[New comment by joeyjojo in "3D + 2D: Testing out my cross-platform WASM graphics engine"]]></title><description><![CDATA[
<p>I am glad people are working on it!!<p>Have you seen Kha by any chance? It has similar goals. I find it quite awesome, but it won't gain mass adoption for a bunch of reasons. <a href="https://github.com/Kode/Kha">https://github.com/Kode/Kha</a><p>Someone built an immediate mode renderer on top <a href="https://github.com/armory3d/zui">https://github.com/armory3d/zui</a>, which is utilised by ArmorPaint <a href="https://armorpaint.org" rel="nofollow">https://armorpaint.org</a>. I also use Zui for my own bespoke 2D game engine.<p>I find this tech and tooling really quite amazing (just look at how little source code Zui has) given just how small the ecosystem around it is. I think Kha really illustrates what can be achievable if the lower levels have robust but simple APIs, just exposing the bare minimum as a standard for others to build upon. It really suggest taking a look at the graphics2 (2d canvas like) api.<p>For the kind of project I work on (mostly 2d games), I think it would really awesome if your framework also supported low level audio, and a variety of inputs such as keyboard, mice, and gamepads. If it also had decent text rendering support it would basically be my dream library/framework.</p>
]]></description><pubDate>Wed, 03 Apr 2024 01:58:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=39912863</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=39912863</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39912863</guid></item><item><title><![CDATA[New comment by joeyjojo in "3D + 2D: Testing out my cross-platform WASM graphics engine"]]></title><description><![CDATA[
<p>There absolutely is a need for a robust cross-platform rendering/multimedia solution, more in a similar vein to SDL than Unity or Unreal. The offering of Unity, Unreal, and perhaps Godot is just abysmal when considering that for all of the man hours put into the game development space, that is basically all we got. There should be hundreds of viable cross platform game engines catering to a wide variety niches that continually stretch the bounds of what a game actually is and how it can be represented. Game libraries such as Monogame, Heaps, Raylib, Love2D, etc just wouldn't be that popular if Unity and Unreal are the be all and end all. Adobe Air was once a popular choice (a very large number of top 50 app store games were built with Adobe Air) and I'd wager still would be if it didn't collapse under its technical weight.<p>Currently it is the low level, cross platform layer that is the most complex and the biggest hurdle towards making a game engine viable. If it wasn't so insanely complex, and the technical barrier towards making your own engine is reduced, the tired cliche of "don't build an engine" wouldn't hold as much weight, and it opens the doors to building a bespoke, fit for purpose engine for every game you create. Don't underestimate what an individual or small teams can produce if they are operating on a solid platform that facilitates a rich ecosystem of tools.</p>
]]></description><pubDate>Wed, 03 Apr 2024 00:57:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=39912541</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=39912541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39912541</guid></item><item><title><![CDATA[New comment by joeyjojo in "The Law of Leaky Abstractions (2002)"]]></title><description><![CDATA[
<p>I suppose it should be considered where the abstraction actually exists. If the abstraction exists in logic or mathematics (ie. a triangle is a 3 sided polygon) it probably doesn't make much sense to consider the ramifications that thought occurs in a physical brain that can fail. On the other hand if the abstraction is physical (ie, hardware), then the fact that it is bound by physical law is obviously implicit. Software encompasses both physical and logical abstractions, so you need to pick a lens or perspective in order to actually view its abstractions.</p>
]]></description><pubDate>Wed, 06 Mar 2024 22:12:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=39622382</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=39622382</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39622382</guid></item><item><title><![CDATA[New comment by joeyjojo in "Game Development Post-Unity"]]></title><description><![CDATA[
<p>Also, for even things like physics there are many simple ways to do things. Take Towerfall's arcade physics for example[1]. In under 100 lines you can create the basis for your platformer game. Sure, it's not just pluggable into other pre-existing solutions, ie tile maps, but at least you aren't endlessly hacking all over the place to tweak Unity's physics into submission to get the controls feeling right for your simple 2d game. There is a massive wealth of gamedev knowledge that doesn't seem utilised to its potential because existing engines want sell their pre-canned solutions. I think what the gamedev scene needs are more tools like LDTK[2], with more thought given to how such tools could interop, and a better selection of low level rendering libraries (like Monogame and Raylib) with very robust cross platform support and dead simple build systems (or none at all).<p>I use a very obscure library called Kha[3] and it has by far and away the best performance for 2d rendering that I have encountered. It is amazing what you can do with just a very basic immediate mode ui library called Zui[4]. I think it is shitty advice to say that you are either building an engine or game. This advice would be applicable if you are building a general purpose game engine, not the highly specific and bespoke engine used for you own game. Your game and your engine are basically the same thing and you take many shortcuts, make many compromises, and build out a rough and minimalistic "editor" used just by your small teams (or yourself) to get the job done.<p>[1] <a href="https://maddymakesgames.com/articles/celeste_and_towerfall_physics/index.html" rel="nofollow noreferrer">https://maddymakesgames.com/articles/celeste_and_towerfall_p...</a>
[2] <a href="https://ldtk.io/" rel="nofollow noreferrer">https://ldtk.io/</a>
[3] <a href="https://github.com/Kode/Kha">https://github.com/Kode/Kha</a>
[4] <a href="https://github.com/armory3d/zui">https://github.com/armory3d/zui</a></p>
]]></description><pubDate>Thu, 14 Sep 2023 07:53:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=37506180</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=37506180</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37506180</guid></item><item><title><![CDATA[Deluge code is now open]]></title><description><![CDATA[
<p>Article URL: <a href="https://forums.synthstrom.com/discussion/5280/deluge-goes-open-source">https://forums.synthstrom.com/discussion/5280/deluge-goes-open-source</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36220687">https://news.ycombinator.com/item?id=36220687</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 06 Jun 2023 23:43:25 +0000</pubDate><link>https://forums.synthstrom.com/discussion/5280/deluge-goes-open-source</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=36220687</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36220687</guid></item><item><title><![CDATA[New comment by joeyjojo in "As a US Navy fighter pilot, I witnessed unidentified anomalous phenomena"]]></title><description><![CDATA[
<p>I have wondered if the UFOs specifically exist in a plane that will always be at the edge of our awareness. They aren't so much moving through physical space, but though our collective consciousness. Similar to how a physical person may temporarily exist in your mind, a UFO may temporarily exist in the physical space, and attempting to "capture" them is like trying to control a dream.</p>
]]></description><pubDate>Mon, 06 Feb 2023 04:35:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=34673387</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=34673387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34673387</guid></item><item><title><![CDATA[New comment by joeyjojo in "As a US Navy fighter pilot, I witnessed unidentified anomalous phenomena"]]></title><description><![CDATA[
<p>It just seems to be the same guy going on the podcast circuit talking about the Tic Tacs, and all I see is a video with a black blob in the centre. Have you got any links to back up your claims about all these people telling their stories?</p>
]]></description><pubDate>Mon, 06 Feb 2023 04:12:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=34673246</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=34673246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34673246</guid></item><item><title><![CDATA[New comment by joeyjojo in "JSON Hero: Enhanced JSON structure visualization"]]></title><description><![CDATA[
<p>It just opens your json in a publicly accessible page at <a href="https://jsonhero.io/" rel="nofollow">https://jsonhero.io/</a></p>
]]></description><pubDate>Tue, 29 Nov 2022 04:40:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=33783766</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=33783766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33783766</guid></item><item><title><![CDATA[New comment by joeyjojo in "JSON Hero: Enhanced JSON structure visualization"]]></title><description><![CDATA[
<p>I could see a tool like this being really useful on my web game projects, where I would like artists/animators making contributions.</p>
]]></description><pubDate>Tue, 29 Nov 2022 04:35:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=33783735</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=33783735</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33783735</guid></item><item><title><![CDATA[New comment by joeyjojo in "The indie web is dead, long live the indie web (2019)"]]></title><description><![CDATA[
<p>I don't see anyone mention affiliate links when talking about the indie/old web. Affiliate links were such a crucial element to the early web 'surfing' experience. It's a pretty shitty web without those affiliate links, IMO, and the only means of discovery is generally through some giant platform.</p>
]]></description><pubDate>Tue, 29 Nov 2022 04:33:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=33783716</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=33783716</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33783716</guid></item><item><title><![CDATA[New comment by joeyjojo in "PSA: React 18 calls code twice in strict dev mode to detect side effects"]]></title><description><![CDATA[
<p>Outside of Vue, and maybe Angular, are there any other stable alternatives with a decent ecosystem? I'd love to hop off the React train, but I haven't found anything that compares to the experience of just using create-react-app with Typescript support.</p>
]]></description><pubDate>Mon, 11 Apr 2022 00:59:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=30983393</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=30983393</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30983393</guid></item><item><title><![CDATA[New comment by joeyjojo in "Building a web app with no framework"]]></title><description><![CDATA[
<p>How do you manage the lifecycle of objects with the observer pattern? I saw an example of the pattern below that is crucially missing a 'remove' function to unsubscribe from the subject. Like when using events at the app/controller level, I have found a layer/glue starts to form associated with the adding and removing of subscription handlers, and it is this subscription management layer where the majority of complexity and bugs lie. Being inspired by immediate mode renderers, this is what makes React so great - it basically eliminates this entire layer. I might have PTSD working with observers and events from my AS3 days, but if I were building a single page app I wouldn't use the observer pattern over React unless there was a robust way to manage the subscriptions. Perhaps I am overcomplicating something that is actually pretty simple, but I imagine using the observer pattern by itself doesn't really scale beyond the component level?</p>
]]></description><pubDate>Sat, 05 Mar 2022 23:52:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=30573278</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=30573278</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30573278</guid></item><item><title><![CDATA[New comment by joeyjojo in "Solid.js feels like what I always wanted React to be"]]></title><description><![CDATA[
<p>This is just iteration on the awesome groundwork that React laid, and shows that things can still be much better. React has some very peculiar patterns that don't really jive well with javascript as a language, or its ecosystem. If the setInterval example is fundamentally against what React is, then IMO that really hammers the point the author is making. I have a few React projects under my belt, and often times still find myself confused by hooks or the mess that I create when I use them.</p>
]]></description><pubDate>Tue, 01 Mar 2022 05:13:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=30509924</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=30509924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30509924</guid></item><item><title><![CDATA[New comment by joeyjojo in "Flash Sucks –- But everything else sucks more (2011)"]]></title><description><![CDATA[
<p>I'm not sure it is particularly desirable to clone Flash's vector drawing tools. They were certainly nice to use but also pretty glitchy as you say. Functionality like vector shape tweening, while nice to have, is also not that important IMO. If the tools optimised more for artists and animators, they would mostly be using graphics tablets for more illustrative graphics. Vector tools for UI could perhaps be more along the lines of what Sketch offers.<p>I reckon taking something like Godot's vector draw tools, and combining that with a Flash timeline/library, with a Javascript runtime, and you would win over all those animators that keep saying "why can't they just re-make Flash".</p>
]]></description><pubDate>Mon, 06 Dec 2021 22:29:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=29466551</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=29466551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29466551</guid></item><item><title><![CDATA[New comment by joeyjojo in "Flash Sucks –- But everything else sucks more (2011)"]]></title><description><![CDATA[
<p>At its core the beauty of Flash was the extremely tight interplay between vector graphics in nested timelines, and the the programming environment. Many people compare Flash to Unity, but I really don't find the two all that comparable. You don't create your assets in Unity, and by the time those assets get into Unity you have lost most potential for dynamic behaviour. Flash's tight integration allowed for extremely fast iterations, and its hierarchal model was very flexible and allowed you to work very fast and creatively.<p>I'm surprised no one has had a good crack at re-creating the core functionality of Flash circa 2004, based on web tech, or something like Kha[1]. I've thought many times about starting such a project. I think the biggest challenges are developing a solid vector rendering runtime alongside the vector drawing tools, but just about everything else that ex-Flashers want can be reduced down to some pretty simple functionality. You could even forego all the cruft of the display list, the event model, etc, and just go with a simpler immediate mode renderer and I think you'd still be retaining those core components that made Flash special.<p>There are so many use cases (eLearning experience, Digital Signage, Touch Screen Kiosks) that Unity isn't particularly suitable for, and for which HTML/Javascript is just clunky, that such a tool could far better accomodate.<p>1. <a href="https://github.com/Kode/Kha" rel="nofollow">https://github.com/Kode/Kha</a>.</p>
]]></description><pubDate>Mon, 06 Dec 2021 09:24:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=29457775</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=29457775</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29457775</guid></item><item><title><![CDATA[New comment by joeyjojo in "Ask HN: What are the best-designed things you've ever used?"]]></title><description><![CDATA[
<p>I wish Nintendo would just give us a decent battle mode, with the N64 levels.</p>
]]></description><pubDate>Sat, 27 Nov 2021 08:26:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=29358568</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=29358568</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29358568</guid></item><item><title><![CDATA[New comment by joeyjojo in "Ask HN: What are the best-designed things you've ever used?"]]></title><description><![CDATA[
<p>Synthstrom Deluge. <a href="https://synthstrom.com/product/deluge/" rel="nofollow">https://synthstrom.com/product/deluge/</a><p>I had an OP-1 for a number of years but I could never progress beyond 2-4 bar loops. When I bought my Deluge I made a full track in my first two hours with it, and I was pretty proud of it. I own a number of groove boxes now, but have only ever managed to completed tracks on my Deluge.</p>
]]></description><pubDate>Sat, 27 Nov 2021 07:49:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=29358394</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=29358394</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29358394</guid></item><item><title><![CDATA[New comment by joeyjojo in "CSS Is an Interface"]]></title><description><![CDATA[
<p>For the majority of my React projects I just import a single index.scss file in index.ts, and it has all the imports for my /style folder. It's not much different to the old school approach and is pretty pragmatic IMO.<p>For my last project I went with CSS in JS. It has some shortcomings and I don't think it would work very well if I use a lot of components from NPM, but it was really nice at encapsulating the component to a single file.<p>I don't think either approach is more or less proper. Inline styles had obvious large shortcomings in 2010, but not so much in the current context of front-end development.</p>
]]></description><pubDate>Wed, 17 Nov 2021 23:31:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=29260283</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=29260283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29260283</guid></item><item><title><![CDATA[New comment by joeyjojo in "Rich Harris joins Vercel to work on Svelte full time"]]></title><description><![CDATA[
<p>I'm looking forward to picking up Svelte and just going back OOP for state management. Immutable state with React was a massive eye opener, but right now I think OOP is just better for state management, especially with all the insights gained from using React.</p>
]]></description><pubDate>Fri, 12 Nov 2021 04:21:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=29196272</link><dc:creator>joeyjojo</dc:creator><comments>https://news.ycombinator.com/item?id=29196272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29196272</guid></item></channel></rss>