Opensource browser balls rolling game up to 1000 dimensions on screen. r/place is to pixels as DagBall is to 1000-dimensional shapes. TODO massively multiplayer
Dagball V2 released https://t.co/zYlkxFxgxF (neural shapeshifter net_1715087349.349.dagball) but probably wont update Dagball for long time, Ive found more efficient algorithm where everything can touch/push on everything in many dimensions which Im pursuing in Blob Monsters Game
Dagball V2 released https://t.co/zYlkxFxgxF (neural shapeshifter net_1715087349.349.dagball) but probably wont update Dagball for long time, Ive found more efficient algorithm where everything can touch/push on everything in many dimensions which Im pursuing in Blob Monsters Game
In the newest dagball (not online yet) if you hold the \ button, "doApDotJsTests, see browser console" appears near the mouse cursor. If you go to browser console you can see the tests. In dagball.html you can change these controls if you dont like what button does what.
Experiments to do. I think I found a way to use a 20 node recurrent (15 time cycles) sigmoid neuralnet as a 2d TILE that partially overlaps other such neuralnets to form a scaleable smooth 2d neural space that 8 billion players could all be in together. https://t.co/wSX7mfnx2a
I made a checkbox option that it doesnt compile until you push ; (semicolon), instead of after every key press, so it doesnt slow down your typing. And I'm working on another checkbox to make all number literals (like 2.34) into dimensions so it doesnt recompile when change them
Dagball can now train recurrent sigmoid neuralnets up to 22 nodes (might get up to 30 later) in a GPU shader, 300 training batches per second, but compiler got VERY slow (delays up to 20 seconds) which makes it hard to use. Have to fix that before continue https://t.co/6FSyXZ0oNI
This should be buildable by any user in dagball level editor (textarea on left) up to running neural-turing-machine in shaders but not qlearning parts (need to use dagball/lib/Ap.js a different way for that). Balls are training data. Weights are dimensions https://t.co/tVE4C16RCn
Possible #AGI in GPU shader: Each pixel compute 1 dimension of loss func of qlearn train batch of 1+numActions tiny world states. 11 recur LSTM nodes (4*(1+11)*11+2*11). 300 floats neural-turing tape. 3 bellcurve heads: writeAve, writeDev, valRead. 1 head also writeAdd writeDecay
The UI wasnt made for this many lines per circle, but it will work. These are the arrays for a LSTM of 5 nodes. gonna get that working then go up to 14 nodes that fit in a GLSL shader so can call the LSTM once per pixel massively parallel and once per pair of ball and weight.
dagball already calls goalFunc(worldState)->loss about 20 million times per second. Every pixel displays loss as brightness. Balls roll toward lower loss aka the dark valleys, away from bright hills, in up to 1000 dimensions. those 1000 dimensions could hold a size 14 LSTM
If I make smaller game levels, whole games state space would fit in inputs of a neuralnet. If u score by lifting balls higher, and control game by moving rocks (they stay where you last touched them) that reshape the world same as balls do, neural-qlearning could be NPC players.
It would be a big problem for me if my mostly CPU based Axgob system could not connect efficiently to my mostly GPU based Ap.js GPU system, which both run in browser javascript and are planned to scale up in p2p. I want a network of many CPUs, GPUs, Humans, and whatever else
@wikibinator New Axgob license 2024-3-8+ is the Wikibinator203 license. Earlier version, 33kB MIT licensed is in lib/old/Axgob_oldMIT.js https://t.co/h1nRL5WU4h
I think Ap.js language needs new opcodes maybe called gradLoop, gobPtr, gobMem for POINTER ARITHMETIC in defining SCALAR FIELDS (like this 15000 dimensional convolutional rule110 sim here you can paint with 2 mouse buttons) and make other custom game rules https://t.co/9OKPK2jMad
@Andercot Im trying to make games that have advanced programming tools in them so they can expand from inside the game to do real things that change the world, maybe someday, but to get started they'll probably just become a variety of different kinds of games https://t.co/jY2sW9C0oD
Im merging object types in Dagball into Gob (Game OBject). Each Gob is 1 dimension with a position/p and velocity/v, and theres dp dv kv ap av zp zv number vars that are added to, min, or max (order invariant) once per physics cycle per query to select gobs and run a rule on them
Each dimension in CPU, such as the y position or team or blueness, will update p/position and v/velocity using 7 temp vars each: dp and dv (change of those), kv (velocity decay), ap and zp (the min and max to set p to directly), av and zv min and max set velocity
These rules could be user created content, though they'd need to be whitelisted against creating infinite loops since they're general javascript code of "(gobA,gobB,dt)=>{...modify gobA andOr gobB...}"
Game rules (in dagball.fobs) can now turn on/off repainting per gob (game object), adjust variables per gob such as life and mana and any made up var name, and paint the gobs icon based on those vars. See life as brightness of a red diagonal line, and mana as brightness of a blue
I just simulated newtonian gravity on 4100 gobs (game objects) at 60 FPS but it was very very slow (4FPS) when many of them were near eachother, since its ignoring them when farther than dagball.maxGobDistToRunRule=2
Im looking for help choosing kinds of gameplay and game objects, how they work together. Practically there can be 200 balls that reshape the ground by rolling on it. We can have alot more objects that dont reshape the ground except by interactions with those balls.