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
Rating
Rated 4.9 out of 5 stars
(8 total ratings)
Authorharoldo-ok
Tags8-Bit, atari, blocks, Game Design, Game engine, GameMaker, Retro, tool, tools

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

(+1)

Very cool! Always wanted to make Atari 2600 games, but didn't wanted to mess with either batari Basic, assembler... or, god save, Basic Programming cartridge.

Probably gonna make something with it. What about desktop version (standalone version/executable)?

(+1)

Thanks! An Electron-based desktop version may be implemented eventually.
https://github.com/haroldo-ok/vcs-game-maker/issues/15

(+1)

I have 2 games in planning, if you manage to add the audio section and the sprites that I told you about, I will launch the games in your game engine.

(+1)

Hey, can you add a sprite controller, so the images of the players can be chosen? That would be very useful

Thanks; I kinda forgot about that. https://github.com/haroldo-ok/vcs-game-maker/issues/55

(+1)

I just made my first game using this!  So cool!  I really appreciate your efforts in making this possible!!!

You're welcome; glad to know the tool has been useful! ๐Ÿ˜„

(+1)

Nice! Thanks for sharing with the jam!

(+1)

Hey, look at this, how cool, by changing the wave and the volume of the Atari sound chip you can make samples sound

Nice!

(+1)

In the logic section the comparator doesn't want to compare, when I want to compare variables or anything it doesn't want to work, I'm sorry if I bother a lot talking about bugs :[

No problems; how are you comparing the variables? There are limitations on how the comparison expressions can be implemented.

There is an open issue to modify the blocks so it won't be possible to make expressions that aren't supported by bBasic: https://github.com/haroldo-ok/vcs-game-maker/issues/12

Unfortunately, until those guardrails are implemented, you would need to be careful to only use simple comparisons and avoid mixing `AND` with `OR` on the same expression: https://www.randomterrain.com/atari-2600-memories-batari-basic-commands.html#if

Anyway, could you please show an screen capture of the expression that is causing problems?

(+1)

This is an example of what I'm trying to do.

Okay, thanks; it seems the equality comparison is generating the wrong operator: https://github.com/haroldo-ok/vcs-game-maker/issues/49

Until that is fixed, the only workaround seems to be avoiding using the equality comparator (the other comparators seem to work okay)

(+1)

ok, yes the other comparators work

Thanks for the bug report! This code generation bug has just been fixed. Now equality and non-equality operations should be working okay.

I accidentally put a math operator in sprite 0 and now the engine crashes :[

If you press F12 to show the browser's console, does some error message appear on the console tab?

It's so stuck I can't:[

I DID IT

(+1)

bundle.min.js?1696105284:1 Already declared, using existing: Lightbox window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: ErrorLightbox window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: SlideDown window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: CSRF window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: InputRow window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: TextInputRow window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: SimpleSelect window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: Select window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: RadioButtons window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: FormErrors window.R.window.R @ bundle.min.js?1696105284:1 bundle.min.js?1696105284:1 Already declared, using existing: RecaptchaInput window.R.window.R @ bundle.min.js?1696105284:1 game.js:1 Uncaught ReferenceError: Howl is not defined at game.js:1:2067 lib.min.js?1696105284:2 Unrecognized feature: 'monetization'. xe @ lib.min.js?1696105284:2 lib.min.js?1696105284:2 Unrecognized feature: 'xr'. xe @ lib.min.js?1696105284:2 lib.min.js?1696105284:2 Allow attribute will take precedence over 'allowfullscreen'. xe @ lib.min.js?1696105284:2

(+1)

this is everything that appears in the console

(+1)

When you finish making the engine, I will use them and make my game, I won't do it now because the engine has many bugs

(+1)

hello I am having problem when i click on generate rom button it does not generate rom i does not matter how many times i click it please help me fast!!!

Unfortunately, the tool does not currently display error messages: https://github.com/haroldo-ok/vcs-game-maker/issues/10

Until that feature is implemented; you could try using the browser's developer console as a workaround (generally activated by pressing F12); does some error appear on the browser's console?

Good news: version 0.12.0 now has a panel at the bottom of the window, in order to display error messages:
https://haroldo-ok.itch.io/vcs-game-maker/devlog/645573/version-0120-is-now-avai...

(+1)

Is there a way I can...

1. Make larger sprites? (I.E 16x32)

2. Make my character jump? (I.E platformer style)

1. Not really; due to hardware limitations, Atari2600 sprites are always 8 pixels wide; ways to work around this limitations would be:

- Either position the two players side by side, to simulate a larger sprite;

- Or use NUSIZ0 and NUSIZ1 to stretch the sprite horizontally:

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

-- Unfortunately, VCS Game Maker does not support those variables, yet: https://github.com/haroldo-ok/vcs-game-maker/issues/47

2. You would need to program that; please see this discussion: https://forums.atariage.com/topic/213127-hm-how-to-do-a-simple-jump-command/

(+1)

Thank you for responding, but I have another question.

Is it possible to

- Add more colors to a sprite?

- Add more sprites?

- Change background colors?

Hello, again;

> Is it possible to

> - Add more colors to a sprite?

Not yet, since the tool is currently focusing on the standard kernel; once that part is finished, it may be possible to look at other kernels.

> - Add more sprites? 

Again, not yet, until it is modified to use the other kernels.

> - Change background colors

This one isn't implemented yet, but since it is compatible with the standard kernel, it should be implemented "soonish": https://github.com/haroldo-ok/vcs-game-maker/issues/37

(+1)

I promise you this is going to be my last post reply for this. I appreciate how you have answered my questions, and I have even found out how to get a generic jump working within the online coding system, but for some reason, it will not let me build (compile my rom for) my game anymore. Even when I make an important change, it is impossible to compile a rom now. Please help!

Hello, again; no problems, feel free to ask.

There's an open issue to make the tool display the error messages in a convenient way:

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

But, until it is implemented, the only way to see what error is happening is to look at the browser's console; try pressing F12, then clicking on the "Console" tab and checking what error messages appear there.:

https://screenful.com/guide/how-to/how-to-open-the-browser-developer-console

(+1)

I seem to be having a nasty bug where reguardless on what I do I cannot seem to edit after a certain period of time. Which is a shame as I had built a collision system and attempted to make seperate playfields.

(+1)

That's weird.. do some error message start appearing on the developer console (F12) when this problem happens?

(+1)

No it simply just stopped making changes after awhile no error codes or nothing.  And all I could do was play around with my half built ROM as reseting it didn't fix the bug either. No matter if add things or even delete code it still wouldn't update the build. But I'm definetly not too upset as the bug happened only a hour in and as you mentioned you've got a lot of things to do.

(1 edit) (+1)

Okay, thanks for the report. ๐Ÿ‘ Maybe if you could export the problematic project, I could take a look at why it stopped responding.

(+1)

Thank you for your response anyway

(+1)

No problem! ๐Ÿ‘

(+1)

The game engine is fine but the emulator always doesn't load for me and I have to do very strange things to make it load, I would like the music tab to be there. In short, the programs are very good and I think they will have a very good future

Thanks for the review! ;)


As for the music editor, I registered an enhancement issue so I don't forget about it:
https://github.com/haroldo-ok/vcs-game-maker/issues/46

As for the emulator problem, I would need more information to see what went wrong...

  • There are already a few known bugs that happen when you edit the background or the sprites, that are marked to be fixed in the future:
  • Also, there is a bug that may happen if you happen to have a small screen:
  • If you open the browser's debug console, does some error message appear on the "Console" tab? The browser's debug console can generally be opened by pressing "F12".
(+1)

Will there be any functions to change the color pallet mid-frame in the future? Because I see a ton of potential on what this software is capable of. And I totally understand this kind of thing take awhile so no rush.

(+1)

Hello; that's a possibility,  yes, though,  currently,  I'm concentrating on making the default configurations of bBasic's standard kernel.  

(+1)

actually that's way cooler than what I was thinking. Thanks for the response 

(+1)

Thanks for the interest! ๐Ÿ‘

(+1)

IMO you should focus on supporting DCS+ one as it's most powerful and the limitations of it aren't really that bad.

Thanks! I will think about it, though, at the moment, the tool still only supports a fraction of the standard kernel..

(+2)

Great project! I struggled a bit with the coding though.  When I pull a "Repeat 10 times do"-loop into the Actions area, the emulator stops working. I looked into the generated code, but the loop there appears to be fine. Does somebody else have this problem as well?

(+2)

No way, this is beyond awesome. Why have I not heard of this before.

(+1)

Okay...so I've been discussing this tool on AtariAge Discord server. Maybe you could implement something like a genre template for things like shoot 'em ups and maybe platformers...?

(+1)

Hello; I guess creating some specialized blocks implementing certain common functionalities from specific genera would be doable. Not sure when I would go back into this project, but it's a possibility. 

(+1)

Thanks for the reply. I might fork it and continue it if all else fails. I'll learn more about batariBasic first though

(+1)

Thanks for the interest. ๐Ÿ˜Š

(+1)

Not a problem.

Deleted post
(2 edits)

Yes; I originally intended to display a few buttons on the top bar if the screen happened to be too narrow to show the leftmost panel, but kinda forgot to implement that . Currently, it hides the left panel, but does not display its supposed replacement in that situation; the lack of those may make the tool unusable if the screen happens to be too narrow. :P

A workaround until that is fixed would be to either increase the browser's window size, or reduce the browser's zoom level until the leftmost panel appears; this leftmost panel is required int order to access the sprite editors, the map editor and the project import/export functionality.

Good news! This bug has been fixed on version 0.11.2:
https://haroldo-ok.itch.io/vcs-game-maker/devlog/644599/version-0112-now-availab...

(+1)

sound could be possible with this https://alienbill.com/2600/atari-riff-machine/ it generates batari basic code

Sounds like a good idea; I will take a look at it, thanks. ๐Ÿ‘

(+1)

thanks

(1 edit) (+1)

Cool!

Are you also going to make a version for Atari 5200 and 7800?

(+1)

Could be possible, if the 2600 version ends up working well enough,

really neat! request: edit sprite/graphics! Keep up nice work!

Thanks! The sprite editors are planned; the background editors are being implemented right now.

(+1)

nice! Itd be neat if this could expand to other old platforms like c64, etc (not sure if thatd be possible though) i hope to remake some games in your engine.

Maybe it could be adapted to other platforms in the future, though it would probably keep its restrictions..

cool. is there going to be a way to "paint" collisions also? like gbstudio.dev has? Thanks!

(+1)

For now, it will restrict itself to Atari 2600 hardware collisions; software-based collisions may or may not be implemented in the future;

(+1)

Any possibility of having a version that we can download in the future? 

(+2)

I guess... there are ways to implement that.

(+1)

Wow Atari! Awesome!

It's still in the early stages, but may soon be capable of creating some simple games. ;)

I can't get this to work!

OK... what platform are you using?

(1 edit)

Windows 10, Chrome Version 91.0.4472.164 (Official Build) (64-bit)

Same here, seems okay; what kind of error are you getting? And what's your screen resolution, BTW?

This is the best tool for creating Atari 2600 games!

It's still in the early stages of development, but it will get there! ;)