A downloadable tool for Windows

"C64 Game Maker" is a tool that allows you to generate C++ source code for simple video games. Evolution and replacement of the previous tool "C64 Graphics Maker" (with which it's backwards compatible), this new tool allows you to use a simple BASIC language to make the code (whose guide can be found in the .zip file in English and Italian).

The binary (.prg) file must be generated by downloading external C++ compilers (from the respective author's site) and currently only Oscar64 and LLVM-MOS are directly supported.

To install the tool, please watch the following video:

Introduction to C64 Game Maker (English version)
Introduzione al C64 Game Maker (Italian version)

N.B.:

  • there is no need to manually run external compilers, the tool automates the invocation.
  • If you have already downloaded the two C/C++ compilers, please download them again as some important fixes have recently been released for both.


Please note that the tool has limitations and maybe bugs, it's made for fun and it's free of charge for any use. You are authorized to use it only if you read and fully agree with the license. Please read the guide and especially the "Troubleshooting" section in case of problems.

Please note also that the authors of the external C/C++ compilers are not involved in this project and are obviously not required to fix any bugs in their compilers to make "C64 Game Maker" work. So if you have any issues, please file a bug at https://github.com/AGPX/C64GameMaker/issues and if the issue is related to external compilers, I will try to contact them, but again I can't guarantee anything (see the guide for more details on how to report bugs).

For a full explanation of the tool (including a step-by-step tutorial on how to make a game with it), check out my playlists:

C64 Game Maker (English version)
C64 Game Maker (Italian version)


Inside the 'examples' directory you can find 3 demos: "Space Pong", "Snakes" and "The Runner" (commented in English and Italian).

Note:  the implementation of the LZO algorithm is courtesy of DrMortalWombat, see Oscar64 for details on the decompression algorithm.



Features list of the v1.5.5:

  • MDI Application;
  • Supported characters mode: Standard Character Mode (SCM), Multi Color Mode (MCM), Extended background Color Mode (ECM) with exporter for assembly and basic;
  • Supported sprites mode: monocolor, multicolor with exporter for assembly and basic;
  • Supported bitmap cells (named "Blockset") with mode: monocolor, multicolor (you can also use it to import a full screen bitmap, BUT be aware that there is no proper fullscreen bitmap editor inside the software, the blockset are treated just like characters);
  • Editing of multiple characters/sprites/blocks displaced in a grid (with ability to mix mono and multicolor characters);
  • Editing tool:
    • Up to 4 Layers;
    • transformation: shifting, rotation, resizing, invert, mirror, flip (you can restrict them to the selection);
    • drawing tool: freehand, line, ellipse, rectangle, floodfill (clipped to the selection, if any). Possibility to use two colors dithering.
    • selection: irregular shape, move selected area, copy & paste;
  • Import images to characters (SCM, MCM or ECM), sprites (mono or multi) or blocks (mono or multi) with automatic search of the best fitting colors and dithering support (import can take a while, please fix at least the background color to speedup the operation);
  • Import/Export of data and project items;
  • Animation editor for characters, sprites and blocks with "ghost" functionality;
  • Characters/sprites/blocks optimization: remove unused, empty and duplicates (with cascading update);
  • Unified clipboard between sprites, characters and blocks ('cut' also updated tiles, screens and animations);
  • Drag & Drop (between characters, tiles and blocks);
  • Possibility to add a background/foreground image (with adjustable position and size) useful to perform decaling;
  • Zoom/Pan;
  • 100 levels of undo/redo;
  • Tiles editor (characters or blocks based);
  • Screens editor (characters, blocks or tiles based);
  • RLE and LZO compression;
  • Includes a simple BASIC language that is transpiled to C/C++;
  • Provides a programming model based on state-machines;
  • Supports a sprite abstraction called "Actors";
  • Supports the definition of "Levels";
  • Supports the definition of "Games";
  • Supports sound effects through the SidSFX Editor version 0.1.1 or higher;
  • Allows import of external data/routines (like music routines);
  • Support multiplexer up to 32 sprites;
  • VIC-II Calculator;


LICENSE:

Permission is hereby granted, to any person obtaining a legal, unmodified, copy of this software and associated documentation files (the "Software"), to use the Software, including for commercial purposes without any obligation to pay fees to the author, but **not** to modify, redistribute and/or sell copies of the Software without explicit written permission from the author, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  IMPLIED, INCLUDING, BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE (INCLUDING THE INABILITY TO USE THE SOFTWARE IN THE PRESENT OR FUTURE).

FURTHERMORE, THE AUTHOR IS NOT RESPONSIBLE FOR ANY PROBLEMS ARISING FROM ISSUES IN EXTERNAL TOOLS THAT THE SOFTWARE USES, FROM THE EVENTUAL DISCONTINUATION OF THE SAME, OR FROM ANY OTHER CAUSE THAT MAY AFFECT THE FUNCTIONING OF THE SOFTWARE. THE USE OF THIS SOFTWARE IS AT THE SOLE RISK OF THE USER, WHO ASSUMES ALL RESPONSIBILITY FOR ANY DAMAGE AND/OR LOSS OF ANY NATURE.


RELEASE NOTES

V1.5.5 (January 17, 2025):

  • fixed a bug in the MIRROR instruction when sprites are in reserved memory areas;
  • preserved the state of the current window when "cut" is performed;
  • fixed rendering of the mirror axis in the Actor editor;

V1.5.4 (January 11, 2025):

  • improved multiplexer stability;
  • multiplexer bug fixing;

V1.5.3 (December 24, 2024):

  • Reduced flickering in multiplexer;
  • Bug fix: fixed a bug when the priority multiplexing is enabled (which made the sprites disappear);
  • Changed string color in dark mode (it was a too dark red, now it's like the normal text);

V1.5.2 (December 23, 2024):

  • Bug fix: removed multiplexer code that was erroneously emitted when multiplexer was not enabled;

V1.5.1 (December 23, 2024):

  • Added missing file for the multiplexer (LLVM-MOS);

V1.5.0 (December 22, 2024):

  • Added sprite multiplexer (with a demo called "Multiplexer");
  • In ScreenEditor you can now select a cell with both the left and right mouse button and use them to draw with pencil or filler;
  • In Charset/Spriteset and Blockset:
    • you can now clear the selected slots with the "delete" key;
    • in multicolor mode, you can select the left color with Ctrl+B/1/2/R and the right color with Alt+B/1/2/R;
  • In Charset/Spriteset, added the possibility to import and export binary raw data;
  • Added auto capitalization of keywords;
  • Fixed a bug where when updating a sprite's mono/multicolor mode, the updates were not applied to the Actor(s) in the executable;
  • Fixed a bug that highlight keywords inside strings;

v1.0.6 (December 05, 2024):

  • Improved tiling of the windows;
  • Improved resizing and scaling of the UI;

v1.0.5 (November 30, 2024):

  • Added the Actor/background test through the hardware register;

v1.0.4 (November 29, 2024):

  • Added ability to open a file from the command line;
  • Fixed an issue with the char.rom and the compilers when the current working directory is not the one of the executable (for e.g. when the extension .gmk64 is associated to the executable and a .gmk64 file is double clicked);
  • Allow scaling of the UI below 100% and up to 200% (see File > Settings... menu');
  • Fixed regression that doesn't show the C++ compiler error messages;

v1.0.3 (November 22, 2024):

  • Fixed font scaling on Windows 10;

v1.0.2 (November 17, 2024):

  • Added support for the Windows dark mode;
  • Added scaling factor in the setting to enlarge the UI;
  • Fixed additional issues with VICE 3.6.1, 3.5 and 3.2;

v1.0.1 (November 15, 2024):

  • Fixed an issue with VICE 3.7;

v1.0.0 (November 14, 2024):

  • FIRST PUBLIC RELEASE.

Updated 2 hours ago
StatusReleased
CategoryTool
PlatformsWindows
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorAGPX
Tagsbasic, Commodore 64, game, maker, programming

Download

Download
C64GameMaker v1.5.5.zip 43 MB

Install instructions

To install the tool:

  • unzip the file in a folder;
  • eventually run the .exe 'VC_redist.x64.exe' to install the Microsoft Visual Studio redistributable;
  • download at least one external C/C++ compiler (I suggest to download both);
  • open the tool and from the menu 'File > Settings...' you can configure the path of the external C/C++ compilers (and others things);

For details on installation see the manual and the following tutorials:

Introduction to C64 Game Maker (English version)
Introduzione al C64 Game Maker (Italian version)

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

Could you possibly make a linux version?

Maybe in the future, for now I'm busy making the next major release.

(+1)

Interesting tool, I hope to find some time soon and try it! I like seeing the progress notes.

Will I be able to grow a standard sprite?

Sorry, sprite expansion is not supported.

Ciao. Sebbene non sono mai stato un'appassionato del Commodore 64 a me mi interessa voler utilizzarlo questo. Serve qualche conoscenza dell'hardware del C64 per utilizzarlo al meglio, es. registri?

Serve un po' di esperienza con la programmazione ed è bene sapere le caratteristiche principali del chip video (il VIC-II) anche per capire quali sono i limiti. Per fare semplici giochi non serve operare coi registri direttamente, puoi consultare la mia playlist italiana sul C64 Game Maker che include alla fine anche un tutorial (il gioco "SpacePong").

(+1)

Bello. Ora c'è da capire come funziona 🙂

(2 edits)

Ho postato dei video su YouTube, è un buon punto di partenza, ma di certo dovrò farne altri (avrei dovuto già farli, il fatto è che sono molto impegnato nel realizzare la prossima versione maggiore e le novità non saranno poche!)

(1 edit)

Hi, that's really interesting and thank you so much for this  project
Is it possible to test   the project in a real  c64   with   flashcard ?
I cant open the example   games (I have launch VC_redist.x64.exe before)

(1 edit) (+1)

I haven't tried it, but with a cartridge similar to "Kung Fu Flash", you can load the .prg files onto a real C64. What do you mean you can't open the demos? You mean you can't run the executable of the C64 Game Maker? You need to have Windows 10 or 11 64-bit and a CPU that supports at least AVX.

I   can launch   the    C64 Game Maker  program.  But I  can't     open   the games in   the   folder "examples" (like   "snake_EN.gmk64"), I have this message  "Unable to open the file 'D:/Téléchargements/C64GameMaker v1.0.6/C64GameMaker v1.0.6/examples/Snake/snake_EN.gmk64'!"

Can you please relocate the C64 Game Maker in another directory, like "C:\tmp\C64 GameMaker v1.0.6"? (I also suggest to upgrade to the 1.5.3 version).

Ok, sorry for using directly in the wrong folder. I upgrade, it's work, I can open Snake and see the project elements.   Now I can't launch the game "Can't find the .prg to run!" Maybe this is normal? Thank you for your quick responses.   I find it a fascinating project. 

Is there this same type of software that could be used on the real c64 (and at the same time also on windows)

I will find it nice to be able to work on the original machine.

Do you know if this type of project exists Or maybe you are thinking of doing it later? Because you can program on the C64 but from what appears to be quite difficult, it would be possible to program in Basic but with a more pleasant interface. With a sprite editor for example. Like yours which looks pleasant to use.

(4 edits)

Before you can run the .prg, you have to generate it. You can press F5 to build the game (.prg) and then F9 to run it, or you can press Ctrl+F5 which does both operations in sequence (of course, before, you've to configure the C64 Game Maker, see my introduction video for details). As for programs to generate games on the C64 directly, there are some, like the SEUCK (Shoot'Em-Up Construction Kit) to create vertical scrolling games without writing a single line of code (scrolling that I will support in a future version of my tool) and others like "Garry Kitchen's GameMaker" or "Arcade Game Construction Kit". However, using these tools on the C64 is not very practical in my opinion, the PC offers a much more advanced user interface and experience. But these are tastes!

(2 edits)

Hi, how’s it going? I wanted to ask if it would be possible to create a macOS Qt version, similar to how the PS4 emulator https://github.com/shadps4-emu/shadPS4/releases offers multiple versions. I’d love to test the C64GameMaker on Mac. Thanks in advance, and excellent work!

Ciao, come va? Volevo chiedere se fosse possibile creare una versione Qt per macOS, simile a come fa l’emulatore PS4 https://github.com/shadps4-emu/shadPS4/releases che offre diversi tipi di versioni. Mi piacerebbe provare C64GameMaker su Mac. Grazie in anticipo e ottimo lavoro!

I can't support MacOS directly, to develop for that operating system you need a Mac PC, but I don't have one. I've been told that with Wine 9.x you can run the program on Linux, it might work with Mac OS too.

Thank you for responding. In Wine for macOS, many Windows applications work for me, but this app crashes.

(1 edit)

Even with the latest Wine version? 9.x?

I am using version wine-9.21-6-g969f90165bd, and it gives the following exception:


Module  Address                                 Debug info      Name (431 modules, 3 for wow64 not listed)

PE-Wine         7bee0000-        7bfeb000       Deferred        opengl32

PE             140000000-       14032c000       Deferred        c64gamemaker

Mach-O         200000000-       20000b000       Deferred        <wine-loader>

Mach-O         20858a000-       208658000       Deferred        ntdll.so

Mach-O         2089de000-       2089eb000       Deferred        libbrotlidec.1.1.0.dylib

Mach-O         208b41000-       208b55000       Deferred        libz.1.3.1.dylib

Mach-O         208b70000-       208b85000       Deferred        libbz2.1.0.8.dylib

Mach-O         208bcf000-       208bfb000       Deferred        libpng16.16.dylib

Mach-O         208c3f000-       208c67000       Deferred        libbrotlicommon.1.1.0.dylib

Mach-O         208c71000-       208df7000       Deferred        win32u.so

Mach-O         208f3c000-       208fe3000       Deferred        libfreetype.6.dylib

Mach-O         20b142000-       20b1b9000       Deferred        winemac.so

Mach-O         20cd37000-       20cd44000       Deferred        dwrite.so

Mach-O         20cd4f000-       20cd5b000       Deferred        dnsapi.so

Mach-O         20cd70000-       20cd7e000       Deferred        ws2_32.so

Mach-O         20cddf000-       20ce7f000       Deferred        opengl32.so

It's hard to say what's going on, unfortunately as I said I can't develop for Mac.

Hi, im trying to download C64GameMaker v1.0.5.zip and says "Virus detected"

(2 edits) (+1)

With which antivirus? I've submitted the .zip to VirusTotal (https://www.virustotal.com/gui/file/59042c9026b4ef8421346b89ece876acd991a75a1b5b...) and out of 58 antivirus, only MaxSecure detects "Trojan.Malware.300983.susgen", but it's definitely a false positive (all major vendors do not report viruses), probably due to a bad signature or bad heuristics used by this antivirus. Other users had the same issues with MaxSecure (same virus detected), look at this:

https://github.com/getsops/sops/issues/1331

(from that site: "this is a notoriously false positive returned quite often by MaxSecure, and Googling "maxsecure" "Trojan.Malware.300983.susgen" (or "maxsecure" "Suspicious.low.ml.score") will show you a dozen other projects for which this happened")

And also this:

https://github.com/lian/msfs2020-go/issues/14

Hey, thanks for the quick replay, i had this issue with Brave browser download manager, but i tried on firefox and worked ok, now i tried again with Brave and worked (?!), really weird, i was sure it is a false positive anyway :). Thanks!

What a great work! I gave only a fast look at it. A question:  This tool allows  even asset clearing and reloading (for swapping graphics, for multilevels games with disk loading, for example) or, more incredibly, loading new code into memory? 

(+1)

No at the moment it allows only to load and run another .prg file (with some memory area preserved to store for example lifes, scores, etc) from the disk, but maybe in the future I will try to support cartridges in order to have more memory available. 

(1 edit) (+3)

Suggestions for features that would make it something I could see using for a big project as a bit of a change from .asm. Just little things I've noticed from some brief noodling around with the tool.

  • Charpad import (mainly charsets with colour attributes and screen layouts)
  • Spritepad import
  • Ability to select multiple items in a list using first item > hold shift > last item
  • Right-click on cell in screen designer to clear cell with char 32
  • Ability to see how much data the game resources will take up (my project would have 100 screens)
  • Ability to delete items using delete key instead of right click menu
  • Scaling below 100% (font is massive on my ultrawide screen)
  • Character Tags using the upper 4 bits of char colour table (see Charpad Char Materials)
(+1)

Very interesting new tool, for producing C64-games. Good work!

(+2)

Thank you very much for creating this software. It will certainly make it easier for more people to create games for the C64. I have to familiarize myself with it more. It is obvious that there are still many features that could be added (sprite multiplexer, pixel screen scroll, etc.). I hope that the program will be developed further.

(+1)

Thanks for your work! C64 Game Maker v1.0.2 (2024, AGPX)

(+2)

Woow, Nice!!!