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.0.6:

  • 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);
  • 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.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 12 days 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.0.6.zip 42 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

Comments

Log in with itch.io to leave a comment.

(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!!!