Arcade Tool for people who want to mess with it

This is definitely something I can look into.
I don’t think this will require any changes to the existing mouse callback implementation because the current callback is already (x,y,xrel,yrel,focused).

My tentative plan would be to add a function that requests mouse-lock on the host application (sticking the user’s mouse to the center of the screen and hiding it).
This would be similar to SDL_SetRelativeMouseMode.

If you could add this as a feature request on the Github (issues) page so I can keep track of it that would be very helpful.

I haven’t had a lot of time to work on Metacade due to my new job, but things are starting to wind down a bit and I’ve got some time to throw at it.

Cheers,
Zak

10 Likes

Spent some more time programming, and got some gameplay set up! Still need to figure out collisions, and track objects like items / pipes.

One question I have is if there will ever be a way to do color sampling, for example if I had a black and white collision mask for a map, being able to specify a pixel and get its color value to use in code.
I was also curious if Metacade will ever support multiplayer, as it would be super awesome to implement into my game and also save me some time instead of writing a crappy AI :grin:

15 Likes

Toss a request up here for any features you want (or bugs you encounter):

3 Likes

Added a request on Github.

I wanted to mention that while looking at the metacade source code is that, as far I can see, it only uses the provided evt.motion.x and evt.motion.y (see this) and calculates the delta values for the callback using the previous input state (see this) instead of the SDL provided evt.motion.xrel and evt.motion.yrel, so the current callback is more along the lines of (x, y, x - oldX, y - oldY, focused). (Though this might be a non-issue if the cursor will be locked to the center of the window after every motion event)

I was bored and made a Tetris Attack clone with this tool

31 Likes

I’ll lose my mind if you get a working tetris attack in tower. That’s seriously my favorite childhood puzzle game. :grin:

3 Likes

Assuming the arcade is ever going to be finished, it’s more of a question of when than if.
Because i’m definitively going to finish this and upload it to Steam Workshop as soon as uploading arcade games is possible.

6 Likes

- bump -

After putting it off for like 4 months I finally got back around to working on my project thing. It’s a super work in progress sonic engine!

It has some kinks lying in there (there isnt even ground collision), but for the most part it works! I still have a looong way to go before I finish and I don’t even know if I’ll be competent enough to finish it, but I’m really proud of what I’ve made so far so I’m here sharing it today!

My pride and joy in 446 headache inducing lines

I have no clue how I’ll even handle collisions and slopes, but here’s hoping it may come to fruition one day in the future and not break with the newer api.

41 Likes

Absolutely awesome job!

6RUaLF6

7 Likes

Sorry to bump/necro but is this still in development? Thinking on the thought that it’s been the 1 year anniversary of the last update to Metacade/Arcade Tool’s Github the month the before last. Also no issues have been commented on or resolved. This has left various bits in slightly unfortunate states, 99% the Lua implementation missing some vital features (which stuff like JS has it’s equivalent of) like require.

Of course things are still possible but it sorta ends with a noodle-y main file which spans many many screens, especially considering libraries have to be factored into the main lua file too.

1 Like

Zak (the author of this post) Left the Team some time ago, so I’m unsure. It was also developed nearly 2 years ago, so I think Mac may have a better/more updated tool released once Arcade hits.

1 Like

Ah I was dreading that.

so uhh
anybody here like emulators?


it looks all pixellated cuz of the sprite limit, but I’m still super proud of it
it would be pretty cool if there was a way to dynamically set the pixels of a texture rather than having to render each pixel as a separate sprite - unless there already is and i haven’t realized lol

20 Likes

That’s amazing! I’m curious as to how this all works. I tried setting up an emulator in the past, but had issues loading the rom since there is no way of reading from a file.

2 Likes

Incredible! Although I’d imagine distributing this with workshop would get tricky with roms and copyrights and all that.

I wonder if we’ll get any updates on the arcade tool soon, or if its even still planned to launch with the Arcade. I believe its still on the trello card but as far as I know the devs have been quiet about it.

3 Likes

Using some optimization tricks, I managed to get the whole image to render within the sprite limit! Any suggestions of games I should try?

22 Likes

I’d love to see Gradius get put through!

1 Like

Gradius works great!


Unfortunately I don’t think there’s a way to implement sound, as the tool only lets you play audio samples, and not a waveform in real time - if anyone has any ideas please let me know

18 Likes

After the extremely arduous task of learning the ins and outs of Emscripten/HTML Canvases and debugging for almost a week straight, I present to you my SNES emulator! This took ages for me to figure out, but in the process I learned a whole lot about framebuffers and managed to fake a browser environment in order to get it running :grinning:


It’s not 100% optimized yet, but I’m still super excited since it’s actually running!
i guess this makes my Mario Kart recreation obsolete now lol

24 Likes

I’m really at a lost for words here, have absolutely no idea how you managed to make something like this, but it’s incredible

3 Likes