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
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).
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.
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)
- 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 :)
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.