This online tool is a no-code environment designed to allow someone to create a game for Atari 2600 without knowing much about programming and without installing anything on their computer.

It uses Blockly to allow the user to implement the logic using blocks and then, behind the scenes, generate a Batari Basic source code, that is then be compiled using batari-basic-js in order to generate an Atari 2600 ROM, which is emulated using Javatari.

Github: https://github.com/haroldo-ok/vcs-game-maker

StatusIn development
CategoryTool
PlatformsHTML5, Windows
Rating
Rated 4.9 out of 5 stars
(17 total ratings)
Authorharoldo-ok
Tags8-Bit, atari, blocks, Game Design, Game engine, GameMaker, no-code, Retro, tool, tools

Download

Download NowName your own price

Click download now to get access to the following files:

vcs-game-maker-0.47.2-win32-x64.7z 79 MB
vcs-game-maker-0.47.1-win32-x64.7z 76 MB
vcs-game-maker-0.39.0-win32-x64.7z 79 MB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 162 · Next page · Last page
(1 edit) (+1)

will you add access to make more high quality backgrounds? (i'm not referring to color)

Maybe in the future,  but, for now, the tool only supports the standard kernel

(2 edits) (+1)

Hello, can you please help me with something? I am trying to make a chasing game using player 1 as the enemy but its too fast for player 0 and I'm using the example blocks for collisions and those have limits so I cant make the actor go faster than the enemy and there is no support for decimals, help please, also i need help making wait seconds blocks for events! your engine is so cool!

Hello!
A simple way to slow down the enemies is to use blocks that allow a piece of code to be executed on even frames: that would make them 2x slower

Deleted 4 days ago
(+1)

wow it worked! Thanks alot

You're welcome

(1 edit) (+1)

Is there a way to make the enemy even slower? its still too fast.

There are blocks for executing something evey few frames

(+2)

Dear Harold,

 i'm developing intensly this last month with vcs game maker, and i think to have found some bugs, i hope you can fix them as soon as possible: somethimes the emulator on the right dont react at the change in code and it is too complex to find where you are positioned in the main cartridge somethimes impossible. There are two bugs when you use a player to run the screen through left to right, it come back three times than go. Also background scroll has a bug there are some graphics artifacts every frame in the buttom of the screen. I hope to be of any help! Thank you for reding.

Hello!

It's always nice to know someone is using the engine.


Thanks for the report! I will take a look whenever possible.

(1 edit) (+1)

Ok! I have published a small book on how to programming easy atari 2600. if you want to contribute you can join my club in atariage Help in developing TEACHING EASY ATARI 2600 GAME PROGRAMMING - AtariAge Forums

(+1)

Eu agora em 2026 tô achando muito legal ainda, mas o meu notebook quebrou e eu tô tendo que usar no celular.

Eu acho que no celular seria legal ter um botão para abrir a janela do  emulador.

Os ícones de feramentas fossem menores.


O Jogo não saísse de tela cheia quando eu saia da tela do emulador.


Eu acho que é um bug quando eu abro qualquer coisa de texto a tela fica preta.


Outro bug é que o bloco que deveria mudar o cenário para um que eu tenha desenhado, só reconhece o primeiro cenário "Test 1".

Também seria legal se tivesse em portugues.

E a última coisa ruim é o exemplo de código de plataformer porque o player 0 e o player 1 ficam tremendo no chão.


O resto tudo é bom😁👍

OK, obrigado; fico feliz em saber que há mais pessoas usando a ferramenta.

Obrigado pelo relatório de bugs; assim que eu puder, vou dar uma olhada.

(+1)

how to see what a variable is set to in vcs game maker

Hello, the last block from the "Variables" section is for reading a variable:


(2 edits) (+1)

Very coll project! What i needed to program better in Batari!!! Thank you

I will make little donation if only my credit card was accepted anyway you can download all my free software.

Bye

Thanks for your interest.

(+1)

No problem haroldo-ok your game maker is very good. I have payed with paypal at last.

Thanks!

(+1)

alguien me puede decir como hacer que el player 1 se mueva aleatoriamente pero con colicciones

Hello; the examples for moving the player top/down and left/right could be adapted to use the "random" blocks instead of reading the joystick

(1 edit) (+1)

Forgetting that problem: are you gonna add new mechanics, multicolor backgrounds and custom score appeareances?

Yes, they will be implemented, eventually:

https://github.com/haroldo-ok/vcs-game-maker/issues/196

https://github.com/haroldo-ok/vcs-game-maker/issues/167

(+1)

Will there be the ability to set different looks in a multiplex sprite? Something akin to 3 unique looking columns rather than 3 of the same columns. Got the idea from space invaders where a bullet changes a sprites look at that specific coordinate and not affecting the others

That would be cool to have, and the hardware supports it, but, unfortunately, the standard kernel does not support that functionality..

One way to go around it would be to implement an initial prototype using vcs-game-maker and then export the generated Batari Basic code and, from it, prceed to the next step by iplementing a custom kernel with the required features. 

(+1)

Thanks for the reply and yeah its understandable that it would have to be made outside of VCS maker. The reason why is by doing that and stretching the sprites to be wide. Its possible to have a full bitmap of graphics on a stock atari 2600. Yes the CPU will be doing a lot of rendering work. But it would be possible to then create a RPG world because of how quirky the 2600s rendering is.

(+1)

You're welcome!  What you describe kinda sounds like Batari Basic's Title Screen Kernel, but more dynamic:

https://forums.atariage.com/topic/169819-the-titlescreen-kernel/

(+1)

sorry for the delay it's this one:

(1 edit)

Thanks; the code looks correct, it should be working

Are you using any other code in addition to this one?

no

(1 edit) (+1)

but my objective is that the 2 players can shoot

As far as I can see, the code seems correct; the player 0 should be shooting missile 0 every time you press the fire button.

(+1)

i think it's my computer, every time i press  the space bar it dosent' work and in the others pc it works

(1 edit) (+1)

Hi With what key i can shoot missle 0?

Hello, you can program the missile to be fired with any key you want, but if you programmed it to use the fire button, you can use the space bar on the emulator screen. 

(+1)

but its the code: player 0 shoots missle 0 and i tried in emulator full screen and it still not working

(1 edit)

That's strange; it should be working

Could you please show us the code you are trying to run?

This one seems to work alright:
https://github.com/user-attachments/files/24906042/VCS.Game.Maker.-.player.fires...

(+1)

Hi, are you planning to implement support for 8/16 KB ROMs?

Hello,; yes,  its in the plans:

https://github.com/haroldo-ok/vcs-game-maker/issues/168

(1 edit) (+1)

Hi, I hope you had a good start to the new year. Thanks for the new update. I've been waiting impatiently for it.

Thanks, and you are welcome!

(+1)

hello again haroldo! thanks for your example, i fired up my project and messed around with it to tailor it to my game, and after much head scratching and trial and error, it worked! my zelda clone actually works! thank you so much for your help, its made my job so much easier! another thing i would eventually get to (in a future project) would be getting rooms to wrap round ala swordquest earthworld, how would wraparound be implemented? im busy with my zelda clone again now, thanks to your help! keep up the good work mate, you have a supporter in me for such a brilliant tool! =)

Glad to help.  As for how to wrap around, you could modify the coffee to return to the first room after leaving the last one.

Here's an example:

https://github.com/user-attachments/files/24609767/VCS.Game.Maker.-.wrapping.roo...

(+1)

thank you! ill incorporate your example into my next test demo! take care, and well done for such a cool app!

I'm glad to help.

(+1)

Hey Haroldo, any luck on that animation bug?

Hello; sorry, I wasn't able to take a look at it, yet.

Hello; sorry, I wasn't able to take a look at it, yet.

(+1)

Hello again! 

Sorry for the delay; the bug has just been fixed:

https://haroldo-ok.itch.io/vcs-game-maker/devlog/1323579/version-0474-fix-bug-when-switching-animations

(+1)

hello Haroldo! The program is superb! I've thoroughly enjoyed tinkering with it, but I've hit a wall. I'm trying to code a simple 6 screen zelda clone, no enemies or anything, just a simple empty world map to practice with. I'm having trouble getting the screen transition to work (trying to go for vcs adventure simple screen flip method) I've attached a screen grab of my current idea of going about this, and it works for going left and up a screen, but won't when going right and down.

I've racked my brains, searched Google, but to know avail... could u explain how to change screens on my overall map ala adventure, or possibly help me through a more efficient method, with which I can build on please? My backgrounds are there, my collision works (using your example) and please apologise for the bare bones screenshot of my project, it was imported into mobile version, but all my files are set up on Windows version at home. Thank you, and keep up the great work! :)

(1 edit)

Hello and thanks! From the screen grab, it seems to be a good start but it is only checking if the player is leaving from the top.

(1 edit) (+1)

Thanks for replying! How would i change it for leaving from right or down? I appreciate the help! A screenshot of the correct method might help me...

Ok,  I will try to create an example ASAP,

Ok,  I will try to create an example ASAP,

Okay, here's an example that links up 3 rooms that you can navigate by leaving through the top or the bottom:

https://github.com/user-attachments/files/24585422/VCS.Game.Maker.-.upper.lower...


(+2)

Yes, I know. I'm an old pain in the neck. But I'm not a programmer, and I've always worked on other things. Here in Italy I'm too old for a permanent job and too young to retire, so I spend my free time with your tool.

I'm having the same problem as reported here

https://github.com/haroldo-ok/vcs-game-maker/issues/178

Did I miss the solution, or has it not been fixed yet?

I'll try not to bother you again, at least until next year 😁

No problems,  you are welcome! Unfortunately, I haven't fixed that bug, yet.

(+1)

👍🏻

(1 edit) (+1)

Hi, it's me again.

I noticed that the vertical scroll introduces a "ghost line." I thought I was doing something wrong, but then I tried one of the examples from your tool and the same thing happens, and I can't delete it.


Hello,  again!

Yes, the playfield does have an extra row that only becomes visible after scrolling:

https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#pfscroll

You can even draw to it using the pfpixel command.

Clever use of this trick can be used to implement infinite scrolling. 

(+1)

Thank you very much

(1 edit) (+1)

Solved. Thank you.

You're welcome!

(+1)

Hi, sorry for bothering you so much, but this time I just can't figure it out. I'm the one who's stuck and can't see the error or what's happening. Why does the sound from the second routine always play in both routines? All the instructions execute correctly except the sound.

One other thing I'd just like to point out. Sometimes I set the backgrounds with a numeric variable instead of a name. On different occasions, the first background is number 0, and on other occasions, the first background is number 3.

Thanks.

Hello!

Hi, sorry for bothering you so much, but this time I just can't figure it out. I'm the one who's stuck and can't see the error or what's happening. Why does the sound from the second routine always play in both routines? All the instructions execute correctly except the sound.

Seems to be that both 'if' blocks are being executed, and both blocks are setting up to play a souns on channel zero; as a result,  only the last sound gets played. 

One other thing I'd just like to point out. Sometimes I set the backgrounds with a numeric variable instead of a name. On different occasions, the first background is number 0, and on other occasions, the first background is number 3.

I will have to take a look at this later: https://github.com/haroldo-ok/vcs-game-maker/issues/193

(1 edit) (+1)

Hi, it's not that important but I'd like to know why when I change the animation duration and exit the screen it goes back to 10. Thanks for your fantastic tool, I'm having a lot of fun.

Hello; yes, that part is still a little glitchy; please, try clicking outside the duration input, without exiting the screen and afterwards leave the screen for real; it should work around the bug

(+1)

It just doesn't seem to work. I think I've tried every possible combination. Thanks for the reply, though. Another thing, I saw this, and I think that once my passion for VCS Game Maker has passed (although it's unlikely I'll ever pass), I'll switch to this one too.
https://haroldo-ok.itch.io/blocklyvn8bit

(1 edit)

Hello, and thanks for your interest!

Hi, it's not that important but I'd like to know why when I change the animation duration and exit the screen it goes back to 10

It just doesn't seem to work. I think I've tried every possible combination.

Yes, there's a pending issue over that, but it is weird that the usual workarounds aren't working: https://github.com/haroldo-ok/vcs-game-maker/issues/174

(+1)

What works is to change the frame duration, add a single pixel with the pencil tool, then erase it. The correct frame duration will then be remembered.

There's also still the issue with animations freezing up, which I added a repro for:
https://github.com/haroldo-ok/vcs-game-maker/issues/178

Many thanks for the report

(+2)

Thanks, now I can make my characters run faster 😁

Yes, BlocklyVN8Bit BlocklyVN8bit is a pretty nifty tool, too. 😉

(+1)

Will there be a option to make the playfield pixels thinner vertically?

(+1)

Since it's only using the standard kernel for now, it may be implemented, but will take a while to arrive at this part

(+1)

Of course, take your time. I'm gonna continue improving my art for the 2600 so whenever VCS maker is has all the changes I need. I'll make it look great with nothing but the stock hardware 

(+1)

Thank you

(+1)

Hey, Harold, I have new idea!

- Lists

Can create lists in which you can store numbers and write them to read them from ROM.

Hello! 

Thanks for the suggestion; I took notes to implement this later:

(+1)

Hey Haroldo! Quick question: Which version of batariBasic does this tool use?

Hello!

It's a relatively old version, about 4 years old; I will check the specific version number later 

It must be some version of Batari BASIC prior to 1.2, since it does not recognize the "-v" flag

(+1)

Hey Haroldo! 

I have many ideas for VCS Game Maker!

1: The ability to create many SEPARATE sprites with the same texture but different colors.

2: The ability to draw lines from one sprite to another or from one coordinate to another.

3: The ability to create games ranging in size from 4 KB to the maximum for the Atari 2600.

4: The ability to perform actions over several frames, for example, we take an action that can only be performed once and perform two such actions in a row (or more actions).

5: Ability to use multiple colors per sprite (maximum 8 colors on screen) along a line, as well as for backgrounds.

6: Ability to create music or special effects in a special place (already available in VCS Game Maker).

(+1)

I forgot to add that can also add a menu to VCS Game Maker (like in Minecraft) where you can change the project settings, its name, and auto-saves (do not delete saves that are less than a month old or the time specified in the VCS Game Maker settings) and, most importantly, the ability to change the project code without running the emulator. 

(1 edit)

Hello! Thanks for the ideas!

1: The ability to create many SEPARATE sprites with the same texture but different colors.

For now, I'm focusing on the standard kernel, but multisprite support would be one of the first things to do, once that was done.

2: The ability to draw lines from one sprite to another or from one coordinate to another.

OK, I opened an issue in order to look at this later:

https://github.com/haroldo-ok/vcs-game-maker/issues/190

3: The ability to create games ranging in size from 4 KB to the maximum for the Atari 2600.

https://github.com/haroldo-ok/vcs-game-maker/issues/168

4: The ability to perform actions over several frames, for example, we take an action that can only be performed once and perform two such actions in a row (or more actions).

That could techinically be done by using variables and conditionals.

5: Ability to use multiple colors per sprite (maximum 8 colors on screen) along a line, as well as for backgrounds.

- Sprite: https://github.com/haroldo-ok/vcs-game-maker/issues/166

- Background: https://github.com/haroldo-ok/vcs-game-maker/issues/166

6: Ability to create music or special effects in a special place (already available in VCS Game Maker).

https://github.com/haroldo-ok/vcs-game-maker/issues/46

I forgot to add that can also add a menu to VCS Game Maker (like in Minecraft) where you can change the project settings, its name, and auto-saves (do not delete saves that are less than a month old or the time specified in the VCS Game Maker settings)

Do you mean some form of version control?


the ability to change the project code without running the emulator. 

https://github.com/haroldo-ok/vcs-game-maker/issues/133

(+1)

The menu in VCS Game Maker will be used to configure VCS Game Maker itself, to configure the project, and for other purposes.

(+1)

tem uma verção mais nova disso?

Essa seria a versão mais nova disponível nesse momento 

https://haroldo-ok.itch.io/vcs-game-maker/devlog/1097453/v0473-fix-bug-where-the-color-selection-was-using-the-wrong-rgb-values-for-one-of-the-entries

(+2)

Hey Haroldo! I have an idea. What if you add a reset button, which sets everything into the default settings?

(+1)

Hello! Do you mean, clearing the actions, returning the options to their defaults and clearing the player 0, player 1 and backgrounds, returning them to their default values?

https://github.com/haroldo-ok/vcs-game-maker/issues/142

(+1)

Yes, exactly. It would be way much faster than deleting everything, changing the BGs and player art.

(+1)

OK, it should be implemented, eventually.

https://github.com/haroldo-ok/vcs-game-maker/issues/142#issuecomment-3429395434

(+1)

OK, version 0.47.0 adds that functionality.

(+1)

Nice! Thanks for adding it :D

You're welcome!

(+2)

When using background blocks they dont list any backgrounds and could u add an option for performance to reset the emulator by a button, its kinda laggy when it resets everytime you do something

(+1)(-1)

Hi! I want to publish my game, made on your engine, this month. This is very important to me; I feel like I've managed to create something incredibly fun. Yesterday, I made a cool, authentic trailer in a 70s style. All that's left is to finish writing the manual and draw the cover art.

Can you tell me if you could help me embed an emulator on the Itch.io page? I'd like players to be able to try my game directly in their browser. Do you know how to do that?

Cool! I would recommend https://emulatorjs.org/

I used it for the "Export to HTML" feature on the "CVBasic online compiler".

It's pretty easy to use for embedding; please take a look at this part of their documentation: https://emulatorjs.org/docs/systems/atari-2600

(+3)

I started playing around with this very recently so I'm super happy to see that you are still updating it. This is an amazing project that got me into the Atari 2600.

A small bug I noticed while using it (browser version) is that the something the changes made in the Player 0 tab don't get saved when I move back to the Actions tab (images I have imported into frames, and the Duration I've set for said frames) In order for those changes to be saved I need to do something else like creating or deleting a new frame.

And a couple of suggestions: Would it be possible to add a block that allows you to mirror player sprites
And would it be possible to add some sort of blocks, folders or tabs that allow you to group different sections of the code? I'm not very familiar with Blockly but the project I'm currently working on has turned quite big and it's starting to be difficult to keep track of everything and have everything organized.

Thanks in advance, and again, amazing work on this!

(1 edit) (+2)

Thanks! I am glad to know that people are being inspired by it!

> sometimes the changes made in the Player 0 tab don't get saved when I move back to the Actions tab;

Okay, I opened an issue so I won't forget: https://github.com/haroldo-ok/vcs-game-maker/issues/174

> Would it be possible to add a block that allows you to mirror player sprites

This one would be tricky, as the Atari 2600 hardware can't do that, but it might be possible to create ways to automate the generation of flipped sprites, though they might probably use double the ROM space: https://github.com/haroldo-ok/vcs-game-maker/issues/176

As @NickR-Git suggested, the REFP0, REFP1 hardware registers can flip the respective player horizontally (I must have missed that part of the documentation).

I opened an issue to create the necessary blocks: https://github.com/haroldo-ok/vcs-game-maker/issues/176

> And would it be possible to add some sort of blocks, folders or tabs that allow you to group different sections of the code?

Okay, I opened an issue to look on that: https://github.com/haroldo-ok/vcs-game-maker/issues/175

(+2)

Good news: the option to flip a player has been added on version 0.43.0:

https://haroldo-ok.itch.io/vcs-game-maker/devlog/1081376/v0430-allow-flipping-pl...

(+1)

yeaaah, new updates :D

(+1)

Cool

(+1)

Thanks!

(1 edit) (+1)(-1)

YOUR WELCOME

(+1)

Is there a way to make the screen PAL and code the AI?

(1 edit) (+1)

And I'm talking making it move with collisions at random wether it be X or Y. The player can be constantly moving, I just wanna make the up and down random.

You could use the "random " block to choose the direction to move.

Also a way to make the enemy move slower?

One possible way to do that would be to use the "Every N frames " block. 

PAL support may be  implemented one day. 

https://github.com/haroldo-ok/vcs-game-maker/issues/158

(+1)

Good to know! Hope it comes soon as I'd love to play this on real hardware when I get an actual 2600 but I'm from the UK which uses PAL. Is there a way to make the game start when you hit Game Reset?

(2 edits)

Yes, you could use the "Examples-> Event  -> Title Screen " block as a starting point, just adjusting the "On title screen update " event to use the reset switch instead of the fire button. 

(+1)

Thanks!

You're welcome! 

(+1)

Thanks for all of the continued hard work. 

part 4 of my video series is now up. 

Great video, as always!

(+1)

How does the difficulty A and B work

There's a pair of switches on the back of the console (or on the front on earlier models) that allow to switch between easy and hard difficulty for player one and player two separately.

In the emulator, those switches are located here:

(+1)

ok ty

You're welcome!

(+1)

We need some background music

It will implemented, eventually.
https://github.com/haroldo-ok/vcs-game-maker/issues/46

(+1)

Just wanted to let everyone know that part 3 of my tutorial series is up. 

Pretty cool!

(+1)

The new update looks exciting. Can't wait to play around with it today. Can we expect a win executable of the new version soon? Thanks

Thanks! Yes, eventually, there will be a Windows version. I'm working on the console switches, at the moment:

(+1)

NIIIICE!. thats awesome. Thanks for doing all of this. Can't wait to play around with it. You are genuinely changing the homebrew coding community or the better. If there is ever anything I can assist with, i'm at your service.

 

Many thanks! 

Version 0.35.1 added a new distribution for Windows:
https://haroldo-ok.itch.io/vcs-game-maker/devlog/1006201/version-0351-windows-di...

(+1)

Glad to see you're updating the engine. By the way, I made a game on it, but I'll share it a little later.

Cool!

(+1)

thanks for following me for one years

(1 edit)

You're welcome! 😃

(+1)

haroldo-ok
I wanted to let you know that part 1 of our series on this fantastic tool is uploading right now. It will end up being a 4 or 5 part series.

Awesome video, many thanks! 😃

(+1)

Can you add more buttons into the input feature like the turbo fire, reset game, and game select

Yes, support for the console switches is planned for the future:

https://github.com/haroldo-ok/vcs-game-maker/issues/8

(+1)

do you have a date for the add ins? this gives no information at all

(1 edit) (+2)

Sorry, no deadlines predicted. 😁

(+1)

also do you have plans for variables being able to be a visible score? i thought of a solution but the score breaks when a score is set to a variables amount

Currently, it's using Batari Basic's own built-in score feature. 

Viewing most recent comments 1 to 40 of 162 · Next page · Last page