#2024-game-jam
1 messages · Page 2 of 1
Either or, with no team size limit 
both are fine, you can make groups if you want
Aha
In that case, maybe it would be easier if I just lent my services to another team as a composer and game designer?
Works for me!
I wonder if anyone will actually utilize Neuro RVC to make something very cool
Will be interesting to see what people do with it
im planning to use it for dialogue
I'd hope our team makes use of it
Note that dialogue is untested, although should function assuming a suitable base
guess we are
The model is optimized for singing, everything else is mostly untested
it depends on how much time we'll have left mostly, but if we have the recources and use dialogue i would like to use it
And as long as we have audio working in the engine
Sounds reasonable
Note that the most optimal base voice is a female, accent-free voice
Just because it fits Neuro best
I guess I'll be the one trying for our team then
thanks iggly, you're a real one 
There's quite a bit that goes into this RVC stuff, that's why I added the note about just asking me to RVC something, since I know a bit about what I'm doing
Of course you would still need to provide the base audio in that case, but I could clean it up and do anything like that if needed
We'll see what comes out of it
Would be extremely silly if someone used it to make an actual song for their game
But that's really what it's optimized for
audio files are supported so it should work
You can add a square image file named favicon.png in your game’s root folder to make Pygbag use it as the web package’s favicon.
Make sure all audio files are in OGG format, and all files are compressed. (that is, not in WAV/AIFF/M4A/MP3)
Avoid raw formats like BMP for your image assets, they are too big for web use; use PNG/WEBP or JPG instead.
Do not use filenames like *-pygbag.* that pattern is reserved for pygbag internal use (optimizing pass).
Would just need someone to write lyrics and then sing those lyrics with a clean microphone before feeding that into Neuro RVC, then those need to be mixed (I mix the Neuro covers me and Wispers make, because I'm good at it)
Favicon.png must be either
or 
so we have to use pygame.mixer.Sound("sound.ogg")
True
sure, why not
i dont think it will be visible on itchio tho
So you'll be making a web game I assume?
yes, thats the plan
I assume you'll make the local build using my HTTP server bundler thing
That is also the plan
I think that one does appear to be able to render tab icons by the way
So there having a custom icon would be a cool addition

Depends on if we got ideas for it, othereise we got the default stuff.
Will be very interesting to see what people can come up with
I myself don't really have the experience required for frontend and game dev, so I just provide useful stuff such as the Neuro RVC models and the semi-backend of the web bundler thing
we're already a team of 3.5, we can add a graphic designer if needs be
I'm just glad Superbox will have us as beta testers
I have already done two successful tests of the bundler, the demo application from earlier and Neuro clicker
I don't mind you doing engine and I can do design stuff

although im hoping to get the engine done by when the subathon starts
i think we should discuss our ideas for the first 10 min where we're both free after the theme gets announced, and then ill modify the changes that we need. hopefully in time so that i can make some 3D models in blender
One thing I hope for is that people use what I have provided them for something cool and to enhance the playing experience of their games
i hope so too, it would be reaaly cool to have actual neuro sounds playing im the games
Yeah, that sounds like a really cool thing since we have an extremely high quality Neuro voice model now
There's also progress on the updates for the Evil model, dataset pass 2 is probably completed by now

We'll see if Evil V7 completes before the jam though
These models take a considerable amount of time to make datasets for (and then I train them in a few hours)

i have no clue how they work, but it sounds like a lot of effort on your side
i respect it
There is a fairly large amount of total effort that goes into the process
And then making the actual covers takes a bunch more effort to get everything right
Post-Evil V7 there is something actually really cool planned for covers, but not gonna say much yet
I'm hoping on an unrelated note, to get everything automated in terms of building / bundling soon. Mainly to start on my own work for the engine.
The bundling part should be very easy to automate at least, just automatically copy the files for the bundler into the game folder
I am planning on trying to do websockets on the bundled version. So at least I'll be debugging any errors there
I assume websockets from the game client to something else
And not between the game and bundler
the compiling with pygbag is also just one terminal command, it takes about 5 seconds rn
Using that because it is better to test on what vedal will be using. It's more I want to test on that version
Atm the websockets are targrting localhost
On Vedal's thing I'm pretty sure the game will make a connection to Neuro's system, with Neuro's system being the thing to host the server
That being a different server from the one that hosts the game files
I'm not trying to imply the bundler has a step in that path, it is just the best option
You don't really have the ability to change the bundler code to make it do what it would have to, so you'll have to handle all the websocket stuff "client side"
Should be simpler to do it without a middlepoint anyway
Either way I can't test on the itch version due to "vedal is not whitelisting all of itch for the websocket connection"
I would assume all the Neuro integration games will have to run as local, so the bundler should be very useful for getting any web games that want to do that the ability to do that
That is my intent on doing it
Then the web game will handle the actual socket stuff "client side", AKA in the code that is served from the server
i think the localhost should work fine no?
although i think vedal is using the same ip adress
Serving HTTP on 127.0.0.1 port 8000 (http://localhost:8000/)
could be something i could use 
Port 8000 should not conflict with port 7272
And even then you can always reconfigure the bundler port with PORT_OVERRIDE
The bundler allows me to be on localhost, so it works out
ok 
Here I'm hoping none of our stack screws up the abillity to do websockets.
Which is what I'll be testing
i was reffering to this
i should have just forwarded this, i always forget discord has that
I'm reffrring to the convo below that, saying cors will block the web requests of "allow any"
ah, ok
So our best bet is to just use the localhost
With local you can also probably use the same environment variable method to set the server URL for where Neuro's API is
that image proves that vedal is totally lurking btw, so hi tutel 
So that Vedal can just go to .env or something and set it (more than one app should be able to use the same .env file)
The game needs to know where it needs to send the Neuro API requests to after all
.env isn't environment variables
Linux also has them
Well
I have no clue how to read those on web
.env is a config file modelled after environment variables, and is sometimes loaded into the environment variables depending on how stuff is setup
Interesting
i.e in python os.environ reads from the environment variables, and you can use https://pypi.org/project/python-dotenv/ to load a .env file into os.environ
Well, then for the thing they will either have to add some sort of config file to the game folder or figure out a way to get enviroment variables from the system on web
That does help with our team, for the others. Well, we'll deal with them when it comes.
Superbox's bundler is supposed to be universal
It's a fairly universal web bundler
It's just a simple web server, so it can handle basically any web game that just needs files served
Anyway, I have to sleep
goodnight!
making original songs?
no not really, maybe weegee will tho. im not gonna overwork them so we'll see
Let me know! 🙂
I read this and assume a song is gonna be cooked
does that mean people who can sing are in demand now?
I cannot sing 🙁
I’m pretty good at making dynamic music though, so if anyone can make use of that, I’m available
better start practicing now
actually could be quite possible, if weegee does the instruments and superbox's RVC does vocals
you're so right
But who gonna sing 
well, I'm already doing voicing...
or the whole team becomes a choir

that can just be the background vocal repeating the main vocal's line

holy im so clossssseeee to compilingggg
this is the last possible part that could give errors
At least it is last and not first
it gives the fps number to the webpage! 
tbh i have no clue why its not displaying video, lemme investigate
Ye idk, the python file is correctly compiled to wasm and running in the browser, its just not visible.
Goodnight 
I could do original music, itd be fun

For compositions I can write for orchestra or rock. Ive done a tiny bit of chiptune too
At the end of the day I simply want to make more music, Im fine if it doesnt end up being used
(but itd be super rad if it was)
I intend to make your talent known
I dont really know much about music so ill let you 2 handle it
I guess I've been picked via tribute to sing lyrics for the song.
Probably ye
Geez I'm going to seriously be creative director I swear.
Im glad i have other people to handle this now, cuz aint no way im gonna press random buttons in a music program till i get my "bgm"
Guess I need to pick up voice training again. Yippie 
Aight, so in the credits we'll have:
- Sam: head of graphics
- Igglyn: creative director
- Weegee: head of music
- Superbox: distribution managment

can i join a team as moral support and get in the credits that way
It'd be interesting if we got more people. But got to save some souls for the others.
- Heir: king of games
And whoever wants to use any of my asset stuff, can also credit me
can i be in the credits too?
I'll probably make some more generic assets stuff, maybe pixel art items
That'd help for those doing 2d, I'd want to see the least amount of AI art if I can help it.
Our group are in our own pit of hell.
Yeah, I've made Neuro and Vedal speaking portraits and a Neuro Collectable
I'm also gonna make a Vedal Collectable
most of our assets will be 3D (if the program EVER decides to WORK)
If we have a dialogue overlay then we could use some 2d assets.
i need to get textrendering to work too then
I'm also gonna make some item sprites that reference jokes in the fandom
Did someone say hardcoded image file 
I think pygame has some text stuff built in?
I seem to recall such, but not 100% sure
Oh it tottaly does, i used it last year
did i hear voicing

You still need a base voice to go off of
Like I said, for Neuro RVC, a female, non-accented clean voice works best
Neuro RVC very much allows for it, yes
The vocal and instrumental need to be separate for the RVC process anyway, so it can just be synced back
And if you use the RVC model(s), you can add me and Wispers for credit for that
Ye i know
We building a whole book
I wouldn't expect anything else
Living on the edge due to the kindness of everyone around us.
Interesting
Well, hopefully you can come up with something cool to do with Neuro RVC for that
I do want to do some test vocals later, so I'll have to set up that pipeline.
Want to take a small break on coding before doing engine stuff after finishing my class.
I'll get on that when I can
Alright then
Let me know if you need any help and if you feel like sharing what you get as output
I'd kinda have to be comfortable if I'm planning on doing vocals. But yeah, that is the plan.
Alright then
Hopefully your voice can work as a good Neuro voice and is not too low (Neuro has no low range)
I'll try it for the lols, but I'm confident I can pull it off.
Well, will be interesting to see what comes out of that
I don't think Neuro V11 has ever been ran on non-synthetic dedicated vocals
We'll see how it's worst case comes to light.
Well, I guess I'll wait and see what happens
Let me know if you need any help with any part of the setup
Will do
Best of luck to you!
Solo deving the jam was hard. I'd just make sure you manage your time well.
Decided to read through a list of game jam themes over the years and I've now come to a realization that there's a really high chance all my current visions might be thrown in the trash can
Guess my fate is in Neuro's hands lmao
always has been
i pray to neuro, last year her theme was pretty good
most game jams have awful themes that are either too broad or too narrow of a subject
(or just plain boring)
the worst ones are that decide by poll
I am wondering if there could be a way to test the implementation of the sdk before sending it. Was it explained somewhere on the repo and i just missed it or do i just have to thrust what i’ve done ?
for my own sanity I hope she picks something broad this time, that way I have more freedom of expression

What did she do last time ?
last year's theme was "Lost and Found"
Damn thats not very precise
randy should work
I wasn't even planning on joining last time, but when her theme perfectly lined up with my vision for a game where Neuro goes missing on his PC and he visits various VTubers only to find Evil took Neuro away, I was like "this is fate"
now I wanna make a game about Vedal & Neuro teaming up to infiltrate an evil vtuber corp that kidnapped Evil, but if Neuro's theme is something like "space" or "isolation" etc, it would all come crumbling down
Oh ok i though it was some wierd engine that i’ve never heard off. Thanks
What kind of game engine would be called randy ?
it could exist ngl, there are some weird game engines out there
randy is my oshi
you could modify randy with some LLM and then it'd be more akin to neuro
the familly tree gets more complicated
The family tree is a möbius strip
I might do it it could be a good project to learn about llms cuz I have 0 idea how to work with them
I finally got Unity WebGL to work with Randy, yayyy!
Things blocking the Neuro API to work with Unity WebGL out of the box:
- Randy uses unsecure websockets (ws), but browsers seem to just insta-reject any non-secure websocket (wss)
- Alex/Vedal used websocket-sharp for the Unity websocket implementation, but that doesn't support WebGL (NativeWebSocket does)
Don't think it'll be usable though, since the need to change Randy over to secure websockets would mean that Neuro would need to also swap over
Was hoping to be able to just make a WebGL build and have that contain everything, but I guess a standalone build is gonna be necessary to work with the Neuro API, unless Alex/Vedal decide to swap over to, or support, secure websockets :/
Even connecting to a WebSocket on localhost requires it to be sequre?
Yup, it's super dumb
Odd
I had to make my own self-signed certificate
What's even the point of unsecure WebScokets if the browser rejects connections from them?
It's like not allowing localhost over plain HTTP
There used to be flags and settings you could set on most browsers to allow unsafe connections like that, but they all seem to be deprecated at this point. I wasn't able to connect to an unsafe localhost websocket via Chrome, Edge, or Firefox, even after setting all flags and settings I could find to their unsafe-est
(If anyone knows of a good way to make unsafe websocket connections work from a browser, pls do tell)
Huh. NeuroTCG also uses unsecured ws connections and works just fine.
Only thing I can think of is CORS blocking it maybe
Maybe you could try if that way to connect to a WebSocket works with the Neurp API stuff
Or something like that, I don't know
Would be good for it to work in browsers, otherwise I have to make my bundler have a WS redirect or something that just passes a secure WS from the game to an insecure WS to Neuro
Sorry, I don't know what NeuroTCG is. Is that something that runs from a browser?
If so I'd be interested to find out how they managed it, cause from everything I can find it seems like just a flat out policy of refusing unsafe websockets, not some permissions or headers issue.
Its a game made by some community members. I didn't do anything special to get it working except for completely disabling CORS on the server.
Are you hosting the files and server on the same port?
because browsers treat all files (file:// urls) as their own origin and therefore CORS applies
Maybe trying it with my bundler would give different results, my thing kinda at least tries to disable CORS stuff
I was using out of the box Neuro API + Randy basically, so Randy hosts websocket server on port 8000, while also listening to post requests on port 1337, then the Neuro API attempts to connect to port 8000 by doing a pretty standard new WebSocket('ws://localhost:8000'); but Chrome comes back with an error saying WebSocket connection to 'ws://localhost:8000/' failed
I was using your bundler Superbox by the way
Interesting
I assume you ran it according to the instructions and not by clicking on index.html
Also CORS errors should mention CORS, I had a different header error at one point and that was called out in the error message, but this is just a straight no details fail
yup, run.bat
Do you see an OPTION request in the network tab of your browser?
What was that header error by the way?
violates the following Content Security Policy directive: "connect-src chrome://resources chrome://theme 'self'"
Odd
I have no clue what that means
In the Network tab I get the websocket attempt:
Name: localhost
Status: Finished
Initiator: VM286:1 (I just ran console.log(new WebSocket("wss://localhost:6000")); from the web console so as to not have to rebuild)
Size: 0B
Time: Pending
(I'd send an image but I don't have those permissions yet)
Why wss?
oops, sorry about that, I had the wss version on my clipboard because I'm using the secure stuff now, lemme do it again but with ws
console.log(new WebSocket("ws://localhost:6000"));
Name: localhost
Status: Finished
Initiator: VM290:1
Size: 0B
Time: Pending
VM290:1 WebSocket connection to 'ws://localhost:6000/' failed:
Is there an insecure WS host on port 6000?
There needs to be a host for a connection to work
You can try it yourself if you've got Randy installed, just run Randy and then put console.log(new WebSocket("ws://localhost:6000")); (Replace 6000 with your port) in the web console
Yup, Randy is running there
Modified or unmodified?
I commented out my modifications, so should be unmodified
(Apart from changing the port)
I'll try and undoing back to the start though, so that it's fully unmodified, port and all
Odd
I have no clue what could be going wrong
Hopefully there's no CORS or something going on with Neuro's API
After some googling, ws shouldn't even have CORS. So I have no idea why it isn't working
...... I hate ports...... -_-
port 6000 fails, but 8000 and 8443 work....
I just had to change the port before starting to develop 😭
Well at least that means we can use a slightly modified Neuro API to work with Unity WebGL and still connect to Neuro/Randy's websocket
Then my guess is that it's probably your firewall causing issues
I turned off my firewall entirely though, I think reserved port ranges or something like that are the most likely, but who knows
And I guess that also means my bundler is sufficient to use the Neuro API
found the reason https://superuser.com/a/188070 6000 is used by X11 and chrome blocks it
By the way Superbox, WebGL apps can't read system environment variables, but they can read the URL parameters and then set process-level environment variables.
I currently am using index.html?WebSocketPort=8000 and passing the port to the environment variables from there, which the Neuro API then reads correctly
You might be able to make the docker read the system environment variables on launch and redirect to ?WebSocketPort=[ENVIRONMENT VARIABLE HERE]
I assume you just changed the configuration in .env for the path to browse to
yup
Makes sense
It's quite simple to do so
On the Unity side it's then as simple as just putting this in an Awake that runs as soon as your game starts up
if (Application.absoluteURL.IndexOf("?") != -1)
{
int customPort = -1;
string urlParameter = Application.absoluteURL.Split('?')[1];
if (!string.IsNullOrEmpty(urlParameter))
{
string? portValue = urlParameter;
if (urlParameter.IndexOf('=') != -1)
{
portValue = null;
string[] values = urlParameter.Split('=');
if (values[0] == "WebSocketPort")
{
portValue = values[1];
}
}
if (!int.TryParse(portValue, out customPort))
{
Debug.LogError("Failed to parse URL parameter!");
}
}
if (customPort > 0)
{
Debug.Log($"Found custom port {customPort}!");
Environment.SetEnvironmentVariable("NEURO_SDK_WS_URL", $"wss://localhost:{customPort}", EnvironmentVariableTarget.Process);
string? websocketUrl = Environment.GetEnvironmentVariable("NEURO_SDK_WS_URL", EnvironmentVariableTarget.Process) ??
Environment.GetEnvironmentVariable("NEURO_SDK_WS_URL", EnvironmentVariableTarget.User) ??
Environment.GetEnvironmentVariable("NEURO_SDK_WS_URL", EnvironmentVariableTarget.Machine);
Debug.Log($"WEBSOCKET URL: {websocketUrl}");
}
}
It would make more sense to have a GET endpoint dedicated to environment variables, but it would have to be one that is guaranteed to not be used as a file path
I'm just saying that I think that would be the simplest way of getting it to work without having to make many modifications to existing things, and also using the same system environment variable as non WebGL games
I have no clue what enviroment variable it should be trying to even get
It would probably be possible to make a build that does that though
NEURO_SDK_WS_URL is the one in the docs, you have to set it to ws://localhost:8000 to get non-WebGL games to connect to Randy
Basically since a web app can't access your system data, we need another way of passing that in, and having your docker grab that and pass it through as a URL parameter seems like the easiest
It would be possible
Your implementation working depends on if the environment variable contains a port or not though
And I would need to make a bit of logic to handle the case where the user wants to specify some of their own URL parameters
Based on the name the environment variable appears like it could contain a full URL
My implementation reads a port you pass in via URL parameter and then connects that to ws://localhost:, and finally sets that to be the value of the process-level environment variable
I should actually change it to take in the whole websocket URL, in case someone actually sets a different one than ws://localhost: in their environment
only problem I could see is that Vedal probably doesn't want his ws url public (assuming it isn't local) and he would have to hide the url bar
very true, hadn't thought about that :/
A GET endpoint would solve that
But that would require more stuff, no?
Like we'd need to have GET endpoint running on a consistent url, which would then need to respond with the data in the environment variable, and then finally we could use that to make the connection
Well, the URL would just be another URL on the bundler that can be accessed like any other as a relative path of the URL
Just like getting a file, but instead for environment variables
But I have no clue what character a URL can use that a file path can't
Oh, maybe $?
Maybe just one with a complex name otherwise, and a clarification not to use paths ending in some specific sequence, like -superbox
So /$env/{variable name} would pull it from the env?
Try it out, if that does work that'd be awesome
Let's see
If that does work out, then the only thing that would be needed for Unity WebGL to work with the Neuro API is some slight modifications to the Unity implementation
I'll need to figure out how to do get requests from HTML or JS
Just go to the URL in your browser and it should pop up as plain text, no?
just have in input box where you type the url before starting the game. keep the query param for testing though
It works
It can get the session PATH variable (which is literally just the JVM)
Nice!
Time to package the full thing and add it to the public assets
Lemme know and I'll put together a test to make sure it all works 👍
Test this and if it works, then I'll post it into the assets thread
Should be a drop-in replacement, just has the env stuff as additional
@unreal plinth Just to make sure you saw it
yup, am building right now, time to see if it works
Had to figure out how to make callouts from Unity, I'd never done any before
Well, hopefully you did it correctly
How wrong did it go?
It just didn't send any callout
Oh
That is very wrong then
trying a quick copy-pasted stackoverflow fix now
You need to just send a GET request to something like /$env/PATH and you should get back the JVM folder
Or whatever the value of whatever other environment variable you read is
It works!
Here's my little test function
private async void TestGet()
{
UnityWebRequest request = UnityWebRequest.Get("http://localhost:7272/$env/NEURO_SDK_WS_URL");
await request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
string websocketURL = request.downloadHandler.text;
Debug.Log(websocketURL);
}
}

Note that the thing returns a 404 error if the variable does not exist
Should be easy enough to handle
People will have to hard code their docker port to 7272 in the code, or whatever value they set via PORT_OVERRIDE in .env, but this way at least we can get the environment variables in the browser and without leaking them
Can they not get the full URL that is in the browser bar?
Then they could get the current port from there
oooo, you're right, I can read the browser URL and that contains the port!
Yeah, should be simple enough
Well, I'm gonna put the new version in the assets
Alright, it's on there now with the bit of extra docs
Nice
Here's my updated call from Unity, which'll use the current base URL
private async void TestGet()
{
if (string.IsNullOrEmpty(Application.absoluteURL)) return;
string[] urlParts = Application.absoluteURL.Split(':');
UnityWebRequest request = UnityWebRequest.Get($"{urlParts[0]}:{Regex.Split(urlParts[1], @"\D+")[0]}/$env/NEURO_SDK_WS_URL");
await request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
string websocketURL = request.downloadHandler.text;
Debug.Log(websocketURL);
}
}
Well, I guess Neuro integration on web games is solved by using my bundler locally
Imma see if I can make a clean set of changes to the Neuro API to include this stuff, and then see if I can get a PR approved, so that it can handle WebGL out of the box
If not then I guess I'll just have a fork that I can post in the public assets thread for people who want it
You would have to include the bundler as a requirement of the thing somehow
Since it depends on a feature probably exclusive to my thing
A fork would probably make the most sense in this case
Not really, if anyone decides to make their own bundler or use another one, they'd just need to make sure it exposes a GET endpoint for /$env/NEURO_SDK_WS_URL that gets the environment variable
It does sound a bit weird though, so I think it'll probably stay as a fork though
Yeah
It makes more sense to just have my bundler as a dependency
Which can be easily achieved by putting the thing on the public assets thread as a fork and referring to the env-enabled version of the bundler as a dependency in the message you send it in
Yeah, I'll put all that together in a couple hours and send it in the public assets thread
Might as well send a PR anyways after that, explaining what it does and the downsides, even if it'll probably be rejected for the strict requirement
The fork will at least be available for anyone that wants to make a WebGL game with Unity
Sounds good to me
You should use a message link to be explicit on what is the depended on version
if anyone wants to try testing with an LLM (and maybe a less stable API implementation) instead of Randy, I made an implementation of the Neuro API and use ChatGPT for a model. If you want to try it at some point just lmk, cause I wrote no documentation for it lol
Heya gamejammers! 
Feel free to use the MP3s I've been uploading to Google Drive for your game jam games. As of now, I've uploaded ~450
and
sounds, and I'll likely be adding lotsa more during the subathon: https://drive.google.com/drive/folders/1fbblgWmHDEqNsJu5PF9oYeH3emrY22UF?usp=sharing (shortened link for the drive should also be in my discord profile if it isn't being blocked)
There's also this one in Mega that CJ (
) maintained, but the last update was 5th of April this year: https://nuero.fun/noises or https://mega.nz/folder/LIo2BDoA#EowtnSDt-ULtmXEwtljEDg
CJ


You could posts this on the https://discord.com/channels/574720535888396288/1316605675631022192 thread so people can more easily find it
i'll do that

what da hell, new channel 
Got the fork working and published #1316605675631022192 message

Well, we'll see if someone uses that
At least the env read feature should be useful for web game devs wanting Neuro integration
@royal jewel does this need any kind of additional setup on vedal's end?
He just needs to download the application that has the bundler, essentially plug and play
The webserver I made handles the envs, while the web game can just ask that to get the env, no setup needed
do you want to add a link to the main readme with this webgl version?
You can do that if you want
I just made the webserver bundler
Or something like that
It's a couple simple things that work together to make it very easy for this stuff to function
@unreal plinth could your fork maybe be merged into main?
Nope, Randy is untouched, this is entirely on the Unity side
so we switch from websocket sharp to native ws for the entire sdk?
In the middle of doing that
Nope, NativeWebSockets doesn't work outside of WebGL
So preprocessor directives to swap between either package depending on build target
I can make a link to the bundler if you want to link to that too
what does the bundler do more specifically?
I have my own server I can host the file on
does it open a local webserver which exposes the environment variable?
It serves the files on localhosts and gives the application env access
And is pretty much dependency-free
I feel like it would be cool to move that to vedal's pc perhaps
So no fiddling with the PATH like last time
PR sent 
It only works if the game is ran on localhost
But takes away the need to use a separate build target for Neuro integration
ah, because of CORS?
Because the server doesn't magically start running if you just run the game on itch.io
^
i.e. have that running permanently on vedal's pc
To call out to the server we'd need a way to know the URL to reach it though, and don't think Vedal would want to be leaking his IP...
That might be possible, just have the server running on a consistent port and tell everyone what port to use on the itch build
Default is 7272
Do you think calling out to localhost:7272 from inside itch.io would work as expected? Would be cool if so, that'd make it simpler
Basically just take the bundler and run it without modifications, assuming CORS doesn't get in the way
Don't think so, but I'll try some stuff out
If the server can be ran on Vedal's PC, the games would need some way to refer to localhost
To be able to make a call to localhost:[port]/$env/NEURO_SDK_WS_URL
Ah, also current approach allows you to run the server on one PC and access it from another, since there's no hardcoding of localhost anywhere.
(Don't know if Vedal's gonna be running everything on the same PC)
Yeah I looked it up, even if you chance CORS you can't really access localhost from inside a webpage
Which makes perfect sense
This would have been cool because it would have allowed vedal to play the games directly in itch
It would have been pretty cool yeah
But still, having the ability to just download a single thing and do no further setup is also cool
Would've been cool, but makes sense you can't start mixing together stuff like that, sounds real unsafe
https://neuros.click/WebBundlerWithEnv.7z
This link now points to the bundler files with env access in case you want to add that into the repo for the SDK as a thing you can use
I'd just linked your Discord message in the documentation as the source for your web server :P
That would work well too, assuming everyone is on Neurocord
Might be easier too since no need to copy over the docs for it either
Either way, this setup is probably the best we're getting with web games X env
Unless Vedal wants to assign a domain to his PC's local IP and then give that to everyone so they can refer to that instead

Just a little bit of development of a solution to the Neuro SDK socket address env problem with web games
My bundler has an updated version that solves that for locally running the game now
I feel like this would just result in a ddos like with the subnautica stream
That isn't possible with a local IP
Local IP != public IP (in most cases)
I wonder if vedal could do some cursed dns shenanegans, i.e. games first try and connect to wss://neuro_game_websocket.vedal.ai (which could probably just be an unregistered subdomain), then vedal could host a local (ssl enabled) websocket server using the certificates from his site and overwrite the hosts file to a local ip (or make an unproxied cloudflare record to a local ip, but that feels like too much effort)
Why would it need to be a WSS? The API uses plain WS
I don't think you can connect to plain websocket from a https site
Idk how any of this works, ill let yall do the websocket stuff
Seems like you can from localhost though
the main issue is crossing https (on itch) with ws://
a scuffed solution would be to create a CNAME (e.g. neurows.vedal.xyz) to point to 127.0.0.1, and get a letsencrypt cert for it
oh bred already posted the same idea
smh vanor
yh anyways, the ws server would only have to serve wss using the letsencrypt private key, and all itch io clients just have to refer to neurows.vedal.xyz
Seems like quite a lot of work for one game jam
No clue if Vedal would want to do that much
I mean it doesn't even have to be a seperate cert
he can probably reuse the one he has from cloudflare
right, he does have a wildcard cert
iirc they're wildcard by default
my only worry with that is how someone other than vedal would test the integration while its hosted on itch, given they'd have to have a valid cert for whateversubdomain.vedal.ai
skill issue 
vanor is it unreasonable to expect devs to create their own certificate, install it in their browser / os and use it to fake ownership of vedal.ai
Yeah, would make testing very imposssible
With my bundler solution testing is extremely simple
Ye im going to sleep, this convo is too big brain for me atm, il be back in 6 hours to fix webgl bugs
I actually wonder if https://mitmproxy.org/ could work here
ooh great shout actually
its been a hot minute since I've last tried to use it
but iirc it generates a certificate and might be able to install it system wide
oh my god vanor even stupider idea
wait nevermind
I feel like using something a lot more complex than my bundler could become a massive development pain, not sure
My bundler seems like a fairly good solution already, even if it requires running locally for Neuro integration, since you can still use the exact same build files on itch and just if it can't get the env variable, it will asssume playing without Neuro integration
if this is a workable idea, I'd be happy to dig into making it work - I don't think its actually too complicated
it's less about the dev ease of use in this case and more about how the current vedal-side websocket impl can still function. all he really needs to do is 1 cname and upgrade ws -> wss with a private key
altho it makes dev life alot harder immediately
Yeah
I have no clue how someone would test that properly
Could also use the Vedal URL as default and fall back to some URL defined elsewhere that the dev could specify, no?
so true, just code game to use fallbacks
oh actually, given its just neuro that would need the game to autoconnect, devs could just hide a setting somewhere that's "alternative websocket location" or something
But that gets back to the reason I made the env solution in the first place, to make there not need to be any configuration on Vedal's end
i think automatic fallback based on ssl exceptions is reasonable
in fact it could fall back to your bundler solution
alternatively, we could just try wss://xyz.vedal.ai, then if that fails ws://localhost:{some port defined in the sdk} - otherwise no 
The bundler solution is really a lot easier to implement and test than whatever that mess of redirects is
Or that but with the difference that it gets the second URL using the bundler method instead from envs
It should just be like an added second of delay on the connection for devs, but allow for Neuro to play straight from itch.io, don't think there should be any issue
yeah I guess, either works (or even both could work, i.e. it could try a hardcoded one, then try your bundler's)
The pain of testing issue in question
no it'll be fine, the fallback just needs to be implemented correctly ™️
i just got hit with the wildest idea that could be really cool and even fit probably being neuro playable, now to just hope to god it somehow fits the theme
anyways this is all in theory land, we have no idea if its actually viable with whatever's actually setup vedal-side 
ill plan out the idea ahead of time just in case its worth doing
I think it could be possible to combine both methods into one entity if you actually do something cleaver like use the same redirect URL Vedal would set up to point to localhost to get a URL from the env, and then Vedal could set that env variable to be the full WSS URL for the WebSocket part of the redirect, returning us to sensible testing land
Then since that URL would be a set URL, if it fails to get from env, try with a relative URL instead to check the bundler on localhost method, and if that fails, disable Neuro integration
That could be a system you can test with a simple enough setup process and allows for all of the posssible configurations to be valid
So the hirearchy would be
- url from
http://[vedal-redirect-url]:[set-port]/$env/NEURO_SDK_WS_URLwhere Vedal has the bundler set up, possibly on the default 7272 port - url from
[current-site-url/$env/NEURO_SDK_WS_URLfor the bundler on localhost configuration if the redirect fails - no WS URL, effectively disabling Neuro integration
This method would also make it not matter if the local testing URL is not a WSS, since you would be testing from localhost
Thoughts?
this is a slightly better representation of what I'm trying to suggest, incase vedal is reading this and going "bred what the fuck are you talking about"
I feel like that should work for any of these cases of: itch.io, other hosted site, bundler, standalone executable
(this is all assuming itch.io doesn't religiously block cross-site requests, which I hope it doesn't
)
that diagramming speed 
Seems a little overly complex
The method I came up with would make the check more consistent, you could probably just use one tryConnect(envUrl: String) function or something, try it twice with the URLs I listed, if it works it should return the WS URL, if it fails both times, don't do WS stuff
i think the both of you are saying the same thing
minus some nuances like retry count
Mine has a slight difference of always trying env reads
i mean you can just reorder my if statements to get what you've got, they're basically the same
Yeah, I guess the core idea is the same, yes
I have no clue which would be less code to implement though
Mine uses the same check every time, so it could be, but I can't tell
Either way, my bundler is definitely gonna be useful for some devs that don't feel like doing a ton of extra work
It's designed to be easy to use, configurable and solve the Neuro SDK WS URL env problem when running the game locally with the latest bundler version
(the original reason I even provided it as a resource instead of just having it for making Neuro clicker run on local was the mess that was dealing with all the Python PATH stuff last time)
Yo! There are a lot of messages here, is there anything important?
Something that should be pinned
Just conversation about how exactly to handle web games X Neuro, the current functional solution is to run using my simple web bundler that exposes the env variables needed for the Neuro integration stuff
It just doesn't allow for running via itch.io, and instead needs to be ran on localhost to work
Uh! That means vedal will have to download and run the games locally for it to work?
That doesnt sound great, guess he will have to run a virtual machine again 😛
There's a potential solution that might be able to allow Neuro to play games straight from itch.io up there in the mess of messages, maybe it'll be implemented and work
But Vedal was gonna have a VM up anyways for sure, the Neuro API didn't work with web games until today
Yeah, at least not as smoothly as now
Well, at least that downloading and running locally process iss very streamlined by my solution to the eternal web game locally problem
Like with that it's just
Run a single batch file and the game opens on any Windows system
No matter if something like Python or Java is installed or not, it brings all of its dependencies bundled
Then the Neuro integration will be able to read the same exact env variable as any other Neuro API enabled game, because, well, the bundler includes env access
That is the revolutionary new feature my bundler brings that was mainly stopping web games from having Neuro integration easily before
Hopefully when all is figured out we can make some sort of guide or documentation of how to implement it so there are no issues
I imagine 1 game out of 5 working correctly.
Things like what type of games would work best for neuro to play?
And other info people who want neuro to play might want to consider before making said game 😛
What types of games work best for Neuro -> documented on Neuro SDK GitHub
Bundler usage -> documented on https://discord.com/channels/574720535888396288/1316605675631022192
uh! documentation is already out? 😄 nice
Backreading on this just to get an idea of what I'll have to do later.
What you'll have to do later is simply send GET request to /$env/NEURO_SDK_WS_URL
And then do regular Neurp API stuff
Would be cool if this could be pinned, i didn't know there was a thread 😛
I don't usually check
A link to the thread pinned here would probably make sense
Got it, doesn't seem too complex to implement along with the requests.
Yeah, that will justs get you the WS address you then connect to for the Neuro API, from there on it's all "client-side"
you don't, that's handled in the changes I made
They're making their own engine
I think
ah
Not everyone uses Unity after all
We poor souls are using pygame, It's going to require a bit of porting both the websocket code and the sdk
Then yeah, probably look at how stuff's implemented in the Neuro API. Hopefully the web changes I made get pulled into the main branch
Well, at least now with the $env GET endpoint you should have all you need available to you
Yep, that was an issue I was thinking about but glad that's solved
The env stuff was the only thing really lacking on the web side that would have made things difficult
And all it took was adding a simple special endpoint to a new build of the bundler
Should be otherwise completely interchangeable between each version
But if you want to use env, you want to make sure to download the env-enabled version
Got it 👍
Neuro and evil voices are public?
#1316605675631022192 message
I thought vedal didnt want to share em 😛
He doesn't
I made my own
With the help of Wispers
From the Machine love example cover, you can hear how accurate my version of Neuro's voice is
Hmmm, thats fair.
Still not sure if its ok 😛
I'm quite confident it's fine
If someone was to complain, they would have
There's multiple Neuro RVC models out there already anyway, mine just probably is the best one
I actually just got that up and running, doesn't seem to work well for normal dialogue sadly, at least I haven't been able to get anything good
I don't think he said "i don't want for people to copy their voices"
But he mentioned wanting background music/sound so it was harder to copy their voices 😛
What base voices are you using?
Been grabbing clips from random videos online, like I just tried a clip of Anny speaking
It was really not that hard
Everything needed was already provided with the Neuro covers
Strange emote naming
I assume there's BGM
You gotta get rid of that
Nope, no bgm
Sure, I'll DM you the source, output, and screenshots of the settings
Alright
Now all we have to do is get a vedal one and we got the full family
Vedal is probably the hardests of the three to do
(also, you forgot Anny)
I misread a bit, mb
there is going to be an official renPy sdk
Odds are it won't work for us, but it is a good start
oh wait you said py game and I read it as renpy 
I just woke up sorry
Honest mistake I get it
people in the community are working fast there are already rust, java and javascript/typescript SDKs
it's not far fetched that pyGame will get an sdk as well
But on the other hand, it might be one of us doing it
Not like I'm opposed to doing such, in fact that is what I'm hoping to do.
Interesting
Is the Javascript one designed around my bundler or does it require hardcoding the socket address?
(also, the Java one would be the one I used if I was doing something with it, since I work in Kotlin/JVM most of the time)
It was before you made the pull request
Are they planning to continue using your server ?
I didn't make a PR, that was someone else
I just posted my bundler thing here
It is likely
It has a quite good solution to getting the Neuro API URL
The conversation here or somewhere else?
a couple days ago
small isue with the wasm stuff, import pyrr causes ungodly loading times
im just gonna steall all of the functions and put them inside main.py
all the transform, projection, view matrixy stuff seems to work
the models not rendering seems to be an index buffer problem, when i remove it it does render them in the browser. at the cost of the vertex order being wrong
@royal jewel I was talking about this
Interesting I guess
Well, at least it seems like Vedal liked the workaround I came up with for env variables
Nothing of particular note I can see there
If there's something I could add to my web bundler to make it more useful, let me know I guess
how do you even know that?
oh, i didnt see that, I only read the top part 
Still doesnt resolve the main issue which was being able to have a public server to be able to connect the ws to since connecting to the local server would be very not secure. being able to specify the URL was trivial.
Yeah, it can't connect to localhost from itch.io
But at least this solution allows for not having to separately build for local to get Neuro integration
Would be even better with pure JS games if someone did that for some reason
btw, would your bundler allow for safedata to be stored?
cuz i dont think webgames can do that
What is that?
i meant savedata
Could make another special endpoint for that
But can't CC do that too already?
And CC doesn't need a special endpoint
what is CC?
Cookie Clicker (and the mod of it I originally made the bundler for Neuro clicker)
i dont know how cookie clicker did that
It says in the code it uses localstorage
ah ok, localstorage should indeed work
If CC can do it, others can do it too
this is apparently a bug with zengl
Guess you gotta patch the lib
i pinged the dev (like i did 2 days ago, poor dev), ill see what he says
Dev

something to do with pyodide having the wrong version's index.
its fixed on his end but the pmp-p person needs to run a command on their end too, so its almost fixed


the gltf lib I'm using doesn't work in browser, so I'm storing all the model data in numpy arrays.
i made a typo tho so all the files with normals are called {gltf-model-filename}VormalDataList{index}

its apparently also using that as the filetype cuz of the .gltf being included in the model filename 
i saw that vedal put the github thing so people can have neurt and eliv play games vs others or vs each others but i wonder if he added one where it's twins vs chat ? iirc doug already made public the code to have chat interact with games that totally won't farm bitcoin on your pc so we could take a page from his book to make fresh content using all of chat vs the twin & vedal
he said that wont work iirc, no twins
really? i could have sworn he didn't deny the possibility in his talk with Alex, perhaps he denied later

you guys are talking about different things
nvm i misread
im referencing this
that or extension but idk if networking is allowed in the games is it? or is the neuro websocket the only connection allowed?
i dont think there's a rule against that
chat integration or some stuff could probably work too
i will not be doing that, iggly can if he feels like he doesnt have enough on his plate already with the websocket, RVC, and possible song
Artist 
Yeah, there is quite a bit I'm trying to tackle
the websocket stuff doesnt need to work perfectly from the get-go, we'll have time for that after the game-jam
I just need to make sure it is possible and that the toolchain doesn't fight it
That's all I'm testing before the jam
via the nag vedal action
im polishing the code rn and it will hopefully work completely by tomorrow

I'll have to hook into your keybind system if it exists yet. That's where I'd see the easiest way of adding these into existance.
Should write some test code for my idea just to see if my idea can be completely implemented before thr jam.
Is it alright if I turn this into a functionaly identical structure but allows for adding and removing binds?
I should be able to just poll it's state and generate the correct api call
last game jam i had a menu where you could change thekeybinds, it wass really scuffed burt worked
That doesn't seem hard to add
That does look scuffed
i was a fan of using global in those days
Man, in this day and age. This entire keybindings are now a class
i present to you the worst piece of code i have written so far.
last year i also had a window resize, this was implemented on the 28th hour of my all nighter just before i sunmitted the game
now this, this is art
Glad you had one, I sure didn't have a resize function 
I mean it also crashed on arrow keys, but I blame my libary for that
It was supposed to be "linux versions of the methods for windows" but the function I used didn't exist on windows so I swapped in a replacement.
Shame it was a few line fix

oh even the way i typed that was scuffed
What a great start 
Take your rest
oh those messages got deleted, (even the github ones? I thought that was allowed cuz there are github links in the public assets thread)
anyways goodnight
prepare by making a document with every feature you want in the game.
then cut out half the features. and then cut another half. and now you might actually be able to make it in time
What do you recommend to use as a GE for a beginner like me?
doesn't really matter. any engine can do anything you need
godot,unity is probably one of the better to start out with
Yes but I’m more concerned about the learning curve
i personally like using godot because there is no compiling time so if you play around and test something it basically instantly changes
but unity is also fine since it got a butt load of tutorials out there
Game maker studio could also work tho i personally have no experience with it, but it does seem pretty user friendly
O well I’ll have to see if I’d have time for the game jam
In the process of moving
Has anyone made any test mini games yet? I want to test out actual "realtime" games or games with non-forced actions. My conclusion so far is that rapidly changing contexts is confusing for an LLM. It sort of works if your game is guiding it, which is kinda pointless in my opinion.
Im not a programmer, so im still trying to understand how it works 😛
What do you mean by real time games though?
like games that actions can happen at any time.
I think usually neuro plays games where you do an action then wait for the next action.
Mmmh, i guess neuro can still play those.
But she will just take one action at the time 😛
I assume the amount of actions you can have at any time should be limited
Also, for now, i dont think she can play something like a platformer
i assume as long as there is sufficent time between actions it should be fine... but something like a RTS or thing would be difficult for the llm
I also would prefer making a realtime game and wonder if a "half control" for Neuro would work where the game acts a bit like a turn based game. So there would be skills that Neuro can use and when they are done executing (when it's time for the "next turn") then Neuro can use another skill. Do we have any idea how fast Neuro gives new commands? Does this Randy have some delay to simulate that? If Neuros reaction time is very fast then more realtime should be possible but it's hard to make a game if we don't know.
Yeah, I was thinking more like a tower defense game might work. There's a lot of time to do actions like use abilities or place/recruit defenses.
Neuros realtime reaction time maybe 😉 : https://youtu.be/nRWq31STK-0?si=Shd2tkrAPvS84jrR&t=119
Data decides to create an android
I would keep time as a factor out of the games neuro will play.
For example if you make a visual novel dont give her a time limit to pick an option.
I´m actually curious. Does neuro pick an action as soon as you prompt her?
Or can she choose to wait, talk, read chat, play a sound... and then send the action to the game?
I´m asking this to know if neuro picks actions based only on the game prompt
Or if some other factors can influence what she does.
You can force an action which Neuro will do "as soon as possible". Forced actions can have some context sent with it, like instructions or game state.
You can send context to her also, but she doesn't have to respond to those if it is "silent". She can also use any actions registered at any time, presumably.
Ohhh roger!
So she can "learn to play" in a way and potentially use an action when she knows its there and might work
In general it would of course be good if Neuro could play realtime games. They could kinda work like fast paced turn based games: N times per second she is given the option to make an action. I don't know how much guidance she can be given. Like it could be like a DnD session where the gamemaster explains all the options with possible consequences.
This is going to be a test of how good are we at prompting 😛
Also, are prompts going to be filtered?
Cause people can just say weird stuff on the prompts 😛
Physical games like platformers might be very hard since you have to estimate where things will be at a given time judging by their speed and movement in previous frames. Maybe it could also be programmed somehow like an assisting AI to her. The game would be like "Moving platform A is at X,Y now." multiple times per second or even "Moving platform A is at X,Y now and moving with a speed of X,Y.". Maybe Neuro could plan a jump properly then if extended for such things somehow.
oh we need to specify json format etc? and the schema also? wont the neuro backend handler handle that?
Like an prediction and aiming computer for Neuro.
That prompt wasn't for the SDK, that was for an LLM I was using, Llama3.2. 😛
You are not using randy?
Nope lol.
Is randy an llm or just send random commands?
Randy does random actions and only forced ones. It can't choose any action which is why I'm testing using an LLM.
Yeah that sounds more like a "real deal" type of test.
Is it hard to set up?
I have llama set with tavern ai (for whatever is worth)
But I'm not super savvy 😛
I see so its like your own websocket server neuro api backend replacement that is interacting with Llama3.2 model
Yeah I don't think it's fully functional just yet, but it works with the Tic Tac Toe example at least.
Also I only chose llama3.2 because it's small and fast. Other models are way way better.
Try Ollama. It's probably the easiest way to just get started. If you have any JS experience you can incorporate LangChain. But if you know python, I would just go to the source, which is HuggingFace. All the Big companies basically release their models there with a "research" license
Oh! thanks 😄
Ill make the game with the intention of having Neuro play
And then, when its done ill sent it for review.
To be sure i dont waste time with the sdk if she will not play it 😛
I wonder about premade/external assets and code: It would be weird to slap a ton of good looking premade stuff together and have that be ranked against a game that made every asset during the game jam. But when making a real game you can also use a lot of external stuff so disallowing that would be weird too. Also everyone is already using premade engines, being it Unity or even a premade own ones so one won't be making everything from scratch.
Maybe there should be a requirement to precisely list everything that was made during the game jam vs. stuff that was there before it.
hmmm, it's like AAA game vs indie game, the former may have more assets than the later but the later can be much more fun than the former
it's not just about the visuals and assets. if at its core your game is fun, it will much better than a game with many assets but no substance
so I am of the opinion of: use what you can but what will make a game truly fun or not is you as a game developer and how you want your game to be
https://discord.com/channels/574720535888396288/1316605675631022192
This exists, so external stuff is allowed for certain
Yeah I know. I mean it's hard to compare and judge things. But team sizes and experience levels can be very different as well so results will probably vary greatly.
i think thats okay
Does it say anything about that on the rules?
"While you can use pre-existing code or assets, refrain from writing code or creating assets specifically for this jam in advance unless you are releasing an asset pack for everyone to use. Remember that the point of the game jam is for you to create your entire project within the 72 hours period."
this one applies as well
Feel free to utilize pre-made, publicly available, or purchased assets, as long as you have a license for them and proper credit is given as necessary.
so people are mostly working on the non-game parts, like the websocket, or publicly available things, like superbox' RVC
AAA gaming is ded.
I'm kind of curious how much context neuro gets for games like slay the spire
Like is she constantly getting context about her relics, or just once?
Maybe a good way to do context for large quantities of static data is to give her an action to recontextualize it on her own (limited to prevent spamming)
Does she keep all the context?
it's kermit dead and we watched it as it slowly died over these years as "shareholders" devoured it.
indeed
Tbh the shareholders probably played a role, but these companies played themselves by cowtowing to the political whims of black rock. Now that this money is gone, they have to survive on the merit and good will they flushed down the toilet through employee purges and passing their customers off.
It's wonderful to see the downfall.
Meanwhile I'm just a indie game(larian studio etc) enjoyer.

the game was lost the moment they went public.
there are cases of ceo losing a court case where all they did was give his employees a raise instead of buying stocks of his company to further increase the value of those stocks. those putting him to court being the shareholders of course
the ceo is just a puppet for the "shareholders" at that point, and they can legally remove him and put someone else instead
should have stayed private like Steam, Gabe is winning by litterally doing nothing and just being a proper company that don't just value short term monetary gain to please shareholders
well, reality is not that simple and i can think of arguments to both sides but i think it boil down to that really.
larian studios is far from indie
its one of the biggest game studios in belgium, where i live
i have school games from larian studios
it seems that we have diffrent definitions of indie
you define it by if the company is private or not?
ah nah, was just saying how you generally lose when you go public, and if you stay private you are not restricted by shareholders whims
if it counts as indie or not...hmm i can see opinions for both sides
they have over 300 peps iirc, so if i am forced to decide, i will say no, they are not
idk, Tencent owns 30% of Larian
really? where did you find that?
its somewhere on the wiki iirc
its with capital T
T and t are the same for searchs
it worked for me
actually found it, the page was french, changed it to english and it was there
however the article used for that, seem to be untrue
hmm, guess ive been misinformed
someone should change the wiki info
welp, my bad
i guess larian truly is indie
weird
actually its more complicated than that
tencent does own 30% but its a prefernce share, so no voting rights
anyways, this is getting off-topic
I see, got it, well, as long as they don't have voting rights it's the same as being private. won't have a say in how they do things
true, glad we got out of this with better knowledge


And old friend told me indie doesn't mean small. It just means independent from larger studios like Electronic arts, Microsoft and Sony. Meaning they don't have to bow to such weirdos. 🙂
okay
Yeah, Indie comes from independent.
But Valve games isn't considered indie even though its privately owned.
I think its a matter of scope and resources.
There are also small dev teams that get outside funding and have to answer to someone else.
And they are still considered indie
Wait uhh funny question because I’m curious
Can you make the game on Roblox for the game jam?
Probably not cuz itch.io
I believe people have done links to hosted outside of itch before. I feel like you'd be able to, but I'd check if you're wanting to.
Thank you
❤️
My curiosity has been fulfilled
Also luna sucks so yea probably not gonna be using Roblox for the game jam
Why roblox?
Is it easier to make a game there?
Would be easy for people to try the game?
I never tried roblox before, if getting to your game is too hard maybe less people will play?
I’m just curious lolz


openXR is available in python
What if you submited a game made with Scratch ?
Thats allowed, happened last year iirc
Somebody submitted a game made with brainfu*k
So 
Just keep in mind that the Neuro SDK does not support scratch
It doesnt, but it actually does
https://github.com/janwilleke/scratch_websocket i dont recommend using scratch but it exists
I was just joking but im suprised that it could be theoretically feasible.

Is there a good database or wiki with all the neuro verse references and such? 😛
^this would be useful
Text input-based games (you type in commands like "get key" or "go west") could be a neat genre for Neuro to try. Are there any existing systems that help with simplifying handling the input? (E.g. that could process "pick up the key")
"win the game"
Honestly, we don't have much tooling at all for it. The only things that exist are language binds and a few validators.
That's why I'm trying to look for a more flexible parsing tool on the other end.
The game has to be fun for everyone, not just neuro 😛
Choice based games exist, it's called visual novels 
make her play all of umineko (just press the next button for 120 hours)
Yeah, every visual novel is just a text based adventure in the end for neuro 😛
can neuro recognize bountiful assets in a woman, thats my question
tbh i'm not sure how the ai/bot interfaces with a video game. im assuming it just has data fed in on how to play and can only send out rudementary commands?
Vision is not enabled for those that use the API to have her play, so you'd have to send that in as context.
i should probably look up how basic bots work, huh
(def not for botting in runescape ;;;;;)))) )
The difference is that for text-based adventure games you can have more choices than are visible.
I'm going to be real, that was a knack to the person above saying that it has to be fun for everyone.
I like the idea of text-based adventure.
You've been eaten by a grue.
Here's our basic action
In theory you could set the schema to accept an arbitrary action and describe it as such.
The toughest part is updating the context of the game.
does anyone know the amount of people allowed on a team?
No team size limit
There was a joke in the start of this channel about a 20 person team
Context doesn't seem to invalidate actions, so that seems possible to implment.
Your idea looks possible in the spec sheet, Just got to register an "interact_with_game" action and parse the resulting json.
What is bro trying to put on itchio?

Oh btw igglyn, the index buffer fix for pygbag+zengl means the web needs to run python 3.13, and there isn't a compiled version for numpy that supports 3.13 yet. So if it doesnt work by when the gamejam happen im gonna just not use index buffers
It will be slower and use more vram, but shouldnt be noticable
This does mean that what you wanted to do is probably not possible
But the schema needs to be kept simple for Neuro to be able to understand it
so not
?
I was trying to help with a text based adventure. The person seemed keen on not having any real actions, wanting to have neuro type a response or something.
How simple is "simple"?
2 lines at most?
would it work if you supplied the possible actions first?
yeah, i just replied to you because you were the one to remind me that i forgot to list which keywords shouldnt be used. probably should have turned ping off
All good, I do need to implement a language binding anyways
there is no length limit (apart from common sense), but you cant use most of the complicated keywords, most notably oneOf, anyOf, allOf
So instead of something like
{
"oneOf": [
{
"properties": {
"do": { "const": "pickup_item" },
"item": { "enum": [ "item1", "item2" ] }
},
"required": [ "do", "item" ]
},
{
"properties": {
"do": { "const": "pickup_object" },
"object": { "enum": [ "object1", "object2" ] }
},
"required": [ "do", "object" ]
}
]
}
you would do something like
{
"properties": {
"do": { "enum": [ "pickup_item", "pickup_object" ] },
"item": { "enum": [ "item1", "item2" ] },
"object": { "enum": [ "object1", "object2" ] }
},
"required": [ "do" ]
}
and then ask neuro nicely in the description field to specify item if she does pickup_item and specify object if she does pickup_object
do you have to ask nicely?
Preferably
also for this, yeah you can just have one single action and let neuro just pass whatever text she wants, and parse it like you would parse any regular human input
im so glad im not doing the websocket stuff

She knows she is using this as tool so if she doesnt run it properly its her fault if she gets an error
So its in her best interest to do what the description says
So I would say you dont have to ask nicely
I'd only say be nice in action forces
Be as rude as possible 
Rig her response by bribing her with cookies in the description
these messages should mostly be objective though, without any kind of emotion
👍
Does anyone have some idea of how the game state, context, etc. is stored on the Neuro side?
Like when we specify context, is that stored permanently, until the next context message, for some time frame, added to Neuro's chat history, etc.?. Should we be specifying the entire game context, like long-term overarching objectives and stuff, and also short term in the moment happenings, or is there some differentiation in how we specify the 2 things?
The docs on the context are a bit vague in just saying a "message that describes what is happening in the game"
I see, so probably should just include the entire game state whenever the context is updated then
Good to know
so this means neuro purposefully chooses to not remember how to spell anny's name correctly 
hello space anny 
@unreal plinth why did you say native websockets doesnt work on windows build target?
nvm it didnt work for me either

It specifically uses pragmas that change the code compiled when (!UNITY_EDITOR && WEBGL), and the code it uses outside of that just looks like stubs to me.
Or maybe it's not stubs, but it doesn't work, so might as well be.
Nevermind, it actually does implement non-WebGL websockets as well, it should work in Editor and in builds to other targets
It has this weird thing where if you're not in a WebGL build you have to tell it to dipatch the message queue
void Update()
{
#if !UNITY_WEBGL || UNITY_EDITOR
websocket.DispatchMessageQueue();
#endif
}
wait
It's explained in the "Usage" section on the GitHub, I just had glossed over that and assumed it was WebGL only
Hi
, im apart of a team of 3 programmers. It would be great to have a artist and composer onboard but any help will do. If you interested feel free to dm me.
What type of game are you all thinking of making?
without knowing what the prompt will be
We didn't really think about it right now, we only now kinda forming up. Originally we wanted to be with people that we were a year ago but it didnt worked out. I think we would go for something 2d maybe 2.5d for ease of asset creation and level design. I have nothing to say about gameplay for now.
I'm part of that team and yeah, we were the team that made Neuroshock (ranked 39 overall)
with the biggest mistake being a 3d unreal engine game with ligh source that consumed a loooot of computing power and being the first time coding in ureal for us
I would like to preferably focus on a 2d game on unity of godot.
and just to note: I don't know for the other but I have no experience in unity of godot so it will be a good learning experience ! (outside of vrc avatar but that do not count)
Do it like me and try to learn the engine before the game jam
good idea tbh. (and last year I got myself to familiarise with unreal before the game jam. but not enougth)
Weegee might be willing to help with music composition and Hayhaycoat wants to help with art
Tho I don’t know what their current availability status is
the parkour made me rage so hard
also made my pc overheat
yeah mb 
we got new, lighter graphic after the game jam but tbh I was not the one handling these things and it changed look and was strange by how the light object was place. 100% there would been a better way to do things and look better but I'm not into graphics 
or just make the engine you'll be using 
making a engine specially for the game jam only for it to break rule 5
(refrain from writing code or creating assets specifically for this jam in advance unless you are releasing an asset pack for everyone to use)
it was also soo easy to softlock self
well there's where i have the loophole, my game-engine isn't actually made specifically for the game-jam
i was planning on having released something by now but its still cooking
thanks, we're focusing on web compatibility now
I tried mine a long time ago. failure/20 since the start 
my first attempt wasnt great either, but i managed to get a pretty high score anyways on graphics on last years jam
Heya 
I made <Neuro's RAM Rescue> which ranked #17 in last years game jam.
Last year I bothered an artist friend to make some few pixel art additions for the game but this year she is on vacation during the holidays. That is why I wanted to ask if any other artist would be interested in teaming up.
My goal is to make just a small game, hopefully with the Neuro SDK implement.
So if anyone is interested in collaborating with a bad solo dev, hit me up in DM's or something.
Just make the websockets impl that you'll be using 
joke on you I made the java sdk and do not plan to use java for my game
even im not crazy enough to do that
I liked playing your game last year btw !
especially when I cheated by keeping things between runs 
I wonder if there's a fully Kotlin port of the SDK or if for Kotlin the Java version would have to be used instead
I don't see why would you not use the java version for kotlin tbh
still need to finish writing proper usage doc and make things pretty 
Sometimes it's more convenient to have a lib designed around usage with Kotlin
Either way, I have no Kotlin game engine, so I won't be making anything
yeah maybe
at least I won't make one bc too lazy too and would use the java way anyway bc used to java 
I'm a Kotlin main when it comes to programming
ohhh nice !
I only used kotlin like for one of my project and heavily mixed with java bc still prefer it sometimes by habit
I never lost to Eliv that is why I did not catch the bug. Guess it is a feature now 
Maybe if I figure out how, I should make a proper game engine in Kotlin one day
Would have to use something like OpenGL directly probably though
I don't know, but I do know I won't be doing something like that any time soon
don't it happen when you win too ? bc tbh I just forgot since last year 
Hmm, don't remember exactly either
will test it and dm you my result 
or vulkan 💀
I don't know
Never worked directly with a graphics backend
We'll see, could be interesting to try to make an actual proper game engine in Kotlin
Currently there's only like one terribly badly documented thing that exists for Kotlin
good to see recurring participants
we back
I was looking at the list of disallowed JSON schema keywords in the API spec and I saw that description is disallowed. Does anyone know why that is? I can see why the rest of the keywords are disallowed, but this one seems important
https://github.com/VedalAI/neuro-game-sdk/blob/main/API/SPECIFICATION.md#:~:text=Note-,Please do not use
alex posted an example of how simple the schema should be. Personal speculation: Keep it simple so neuro doesn't get confused. #2024-game-jam message
I see, I see. So the explanation just needs to go in the Action description rather than having descriptions in the schema. Thanks!
Heyo! Team of 3 here, we're looking for an artist and sound designer!
We have @winter aurora and @naive walrus rn
They are devs, and I am also a dev but also a 3D artist
That's a good point, I didn't consider that.
I excluded description because it would just be extra tokens
For now it should be fine to just use the description of the action itself as you said.
_ _
@royal jewel is your bundler on github somewhere?
so i can link that in the readme instead of the discord url
Not as far as I'm aware
hello! i'm a new game dev wanting to join this year's game jam, and i'm looking for a team to work with. I am familiar with using godot & unity engines, but im open to learning other stuffs
Don't know of any teams who need devs atm, Just keep posted or feel free to create your own team.
I'm sure this channel will be more active once the subathon starts.
got the neuro api working with gamemaker
Not currently, but should be possible to put it up on there
It was originally just meant to be for bundling Neuro clicker, so the code might not be the best thing ever, but it works
@fleet goblet https://github.com/Superbox2147/simple-http-server
There you go, it's on GitHub now
If anyone wants me to make event specific art and sprites once it starts, lemme know once the theme is announced
on a random note, is there any known visual representation of staz? hes such a key neuroverse character now but i dont even know what id use to reference him
how does this work? as in how do I join etc
the itch link its pinned
there you can press join
we already have more people that joined than last year, and the subathon hasn't even started yet

The theme will be decided on the start date right?
i think your options are between these 2 representations of him. his twitter pfp and and an animation posted by miwa
hmmm i see. might just have to get literal with it and label it staz then, cuz i feel like noone would be able to get it otherwise XD
i think it would be so funny if staz pops up in some way anytime any dialogue has the word vedal in it
staz is in neurocord so you could also just ask him directly
oh huh
this one? just wanna make sure i dont go pinging/messaging some random person lol
im pretty sure thats him ye
@slate knoll vedal vedal vedal 👀
Yeah
hey staz, sorry for bother but i was wondering if u have an opinion on this^
I don't
hmmm, i see
guess ill just have to figure out something then, thank you for your time~
P3r drew me as eyes honey drew me as a camera
makes sense, eyes cuz ur always watching, or camera because ur a clipper.
also if i fake a twitch chat again, i guess i could just sneak in a message from staz.
what's happening the 26th?
Second day of Christmas
wasnt the planned first day the 27th tho?
Christmas really snuck up and decided to land on the 25th, right in the middle of Neuro's birthday
It was kinda but the game jam page says 26th now
That will be updated
ah ok, no prob
hi chat
hi 
are we allowed to work w others during the Game Jam
i myself am a coder but not an artist
yes

maybe ask them
what style of art.
I do a lot of anime and cartoony art
I already wondered why the jam starts on the 26th which is a holiday here in Germany and wondered if there is no second day of christmas in the UK or whatever. One day more to learn the engine 😉
@worldly sinew what are you working with?
as in my Game Engine?
Gamemaker
because most other game softwares dont work with linux
Yeah, last I worked with Godot on linux so I won't be learning that xD
Godot is on linux?
are you wanting to work w me bc if so i can use Godot's 2D engine, i know how to code in godot,
That was the question, yes. 😅
i will be up for using Godot instead
just found out I could get github copilot for free for vs code, this will be usefull lol
github has copilot?
wanna go into dms for this?
sure.
Copilot sucks though
better than nothing ig
I rarely use vs code anyways so.
why are you wanting to use AI to code
especially when its not neurosama your using
why not
I'm perfectly content with the one that is integrated into intellij as a part of intellisense.
what coding format does VS use?
This I don't understand.
Coding Language
looks like cursor
The ide is typescript, but you can code "whatever" in it.
ok
Does the godot client for Neuro work from the browser?
You could make it Windows and Browser




it was fun tho
