Hacker Newsnew | past | comments | ask | show | jobs | submit | more ertucetin's commentslogin

I also found myself feeling a bit dumb after using Copilot for some time. It felt like I didn’t have to know the API, and it just auto-completed for me. Then I realized I was starting to forget everything and disabled Copilot. Now, when I need something, I ask ChatGPT (like searching on Stack Overflow).


Same. I find myself having to pause and let Copilot finish. At some point, you lose/ not retain anything which you don’t use. I’m not sure I want to give that.


This is a very good read. I’m developing a multiplayer, third-person, spell-based shooter game using Lisp (ClojureScript). It’s a 3D web-based game. I’ll also be writing a blog post about my journey, including the tools and abstractions I created for the project. If you’re interested, here’s a demo link: https://wizardmasters.io


Jon Blow tried to make a game like this way back. It might be worth learning how/why it failed.


Link to any video or anything on the subject?


Unless I'm mistaken, I think fire_lake might be referring to a wholly unrelated first-person RPG spellcasting game project wherein the player would draw glyphs with their mouse in order to cast spells, and then there would be a surprise later in the game based on this mechanic (which was later repurposed for The Witness).


Yes, it reminded me of his talk on prototyping:

https://www.youtube.com/watch?v=ISutk1mauPM&t=426s


I am working on a multiplayer spell-based shooter game using BabylonJS and Clojure. It's a browser game; if anyone is interested, here is the demo link: https://wizardmasters.io

It's in the prototype phase, and I was heavily inspired by the game Spellbreak.


Kudos to you! I’m happy to see another Clojure developer like me using the language for game development, even though we sometimes make things harder for ourselves :) Currently, I’m developing a 3D multiplayer TPS shooter using Clojure. For anyone interested, here’s a demo link: https://prototype-game.pages.dev

I’ll also be posting a blog post about the journey soon!


It is one of my favourite things on the internet when a bunch of people can go to a virtual space and hop around and use an in game chat impromptu like this. Thanks for sharing.


Thank you for checking that out!


Why are there so many new browsers these days? Is there really that much demand for them? Considering that creating one is very hard and requires a team.


The situation is pretty bad, where there are only two browsers: an ad-company controlled one that is making life harder for ad-blockers, and Firefox which is… fine, but somehow both stagnant and unfocused.

So, the opening is there, can’t blame people for trying to fill it.

OTOH this is just a Firefox fork advertised as a new browser.


Don’t forget Safari. Essentially there are three browser engines that all browsers are built on. The only engine that is truly new in the last 15 years is Servo. (And maybe Ladybird)


lol, I posted the comment from mobile safari but didn’t think of it. Eh, closed source software doesn’t count, haha.


Now someone can create the new Lemon Squeezy, there will be a gap in the market.


I recently created 3D boss fight prototype using Clojure: https://prototype-game.pages.dev


This is great! I used to hate all forms of webdev but ClojureScript actually makes it enjoyable, I really hope it gets more traction.


I cannot make the controls work on mobile. I'll try when I have a PC in front of me again.


Yes it is for PC web. You can check sample video with your phone here: https://x.com/ertuctn/status/1796627956120399898


That's rad! What libraries are you using?


Thanks, using Reagent for UI, and for the rendering engine it is BabylonJS.


i mean this with absolute adoration for what you've created: it reminds me of avatar - legends of the arena [0].

one of my absolute favorite games of my childhood :')

[0] https://www.youtube.com/watch?v=dcJFldES9dg


You can also try ClojureScript, which runs on JavaScript. If you're developing frontends.


I've used one of my game projects, and here's why I don't want to use it again:

- You're locked into an online IDE if you want to use the PlayCanvas editor (which is the main selling point).

- Third-party dependencies are hard to integrate (for the online editor).

- You can't use different JavaScript languages (again due to the editor).

- I've seen lots of minor version changes that break too many things (not very stable).

- The editor had some major UI bugs back then (and probably still does).

Pros:

- Web-first library.

- Unity-like editor.

- Easy to debug/access things with only a link.

- Recently started to support WebGPU.

I've used ThreeJS, PlayCanvas, and BabylonJS in serious projects. I've concluded that BabylonJS is my go-to web-based 3D library from now on.


Hey ertucetin!

(Disclaimer, I used to work at PlayCanvas and still manage the Discord)

Just to help feedback on some points:

- ES6 Modules and NPM support is actively being worked on and should be ready by end of year

- Typescript support will follow after that

(Mark who wrote this now works at PlayCanvas https://forum.playcanvas.com/t/playbuild-a-compiler-and-pack...)

- If an minor engine release breaks existing project, the editor supports running and building with the last minor and patch release. Minor releases should never break existing projects unknowningly (shader chunks was the last (and painful) known big breaking change). The PlayCanvas team are usually pretty good at dealing with reported minor version breakages.

If you do take on another web 3D project after this work is done, hopefully this will help with reconsideration :)


7-8 years ago I created GlueList (https://github.com/ertugrulcetin/GlueList) in order to build faster version of LinkedList + ArrayList. It was a fun effort.


If I have this right, what you've built is this, storing M items in M / N nodes where N is the radix of the array?

    0                 1                        M / Nth node
    [ N elem ] [.] -> [N elem] [.] -> .... -> [M - (M / N) elem] [null] 
And so if you want to index the `i`th element you chase the pointers

    index (node i) :
        acc = 0
        while acc + N < i
           acc += N
           node = node.next
        return node.array[j - acc]
Or something like that? You can do better using a B tree and exploit the fact that you don't need keys to just store pointers in the branch nodes. This reduces the number of pointer dereferences in large arrays.

For example say you have N = 8 and there are 1024 elements in the list, you would need 127 pointer dereferences to reach the end of the array. In a B-tree you only have 3. (double check my math, I might be off by one).

This is the typical implementation for immutable/persistent vector types. If you keep the links between leave nodes at the bottom of the tree, you've got a B+ tree and have fast iteration through it as well.


You're probably right, I was in college back then and wanted to work on something cool, this was my idea.


It was fun because you didn't write it in Rust :)

https://rust-unofficial.github.io/too-many-lists/


Similar to an unrolled linked list: https://en.wikipedia.org/wiki/Unrolled_linked_list

But you size the nodes dynamically, rather than using a fixed size.


I believe that's called a "rope"


Rope is binary tree of arrays, for O(logN) index operation.


Ah, my bad. What's the name for the thing he's talking about?


It's called an "unrolled" linked list


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: