Tag Archives: Games

Super Mario Bros for Amstrad CPC464

When i was a little kid I remember that i really wanted to create a Super Mario Bros game for the amstrad cpc 464. Now that I am 33 and I work as a software engineer I asked myself: why don't you make your old dream come true? :) Finally I found the time to create a demo with the famous first Level 1-1 of Super Mario Bro:

The horizontal hardware scrolling needs a double buffer in order to get an accuracy of 4 pixels. The demo runs on original Amstrad CPC 464 speed emulated by Caprice. It is pretty fast and can loop horizzontally for a limit of 512 16x16 tiles meanwhile the level 1-1 takes only 212 tiles. I readjusted the original smb graphics to fit a 256x192 Mode 1 with 4 colors. I really like the effect of the gray scale map mixed with the blue sky, like in the original NES game. This demo has been programmed with SDCC in C and Z80 assembly.

The next challenge is to make a playable demo. For now i'm trying to produce a game for the Amstrad CPC 464 with only 64 KB of memory, trying to store the entire game into the available memory to make it portable for the old cassette system. I'm using pucrunch for z80 with zrle algorithm to save a huge amount of memory. The compressed tileset is about 3.5 KB, the chars 5 KB, a single level 500 bytes. A single level uses only a subset of the available graphics, so i can make assumptions to save memory during the decompression. I estimated about 9 KB for compressed data with a single level and 10 KB for the decompressed ones. At this rate, i can make only 4 levels playable but maybe it's good for a first version of the game. I don't know if i can implement more optimizations to store the remaining 28 levels or if i have to switch to disk loading or just use 128 KB, I'm still evaluating. Another challenge is to program 1 pixel precision blitting algoritm to move the characters. Unfortunately, I'm pretty busy with my job so i have very little time to dedicate to my projects, so it will proceed slowly, but it's good to know that i will post updates on this website as soon as they will available for the public.

Warning: I created this project only to improve my programming skills and not for commercial purpose. The original design, concept and graphics of Super Mario Bros are owned by Nintendo and not by me.

An old Mario64 clone – Demo version

Years ago I coded a 3d engine to create my own clone of super mario 64. The name of the project was Chronicle Time Quest and it never reached its final release or a version that was remotely playable. Unfortunately it was abandoned years ago for lack of time, resources and interests. However, it was  usefull as coding experience and the result wasn't so bad at all, so I have decided to publish this video to show something about it.

Probably this project will be restored as soon as possible, with a new concept (probably similar to the mario galaxy one) and a totally new 3d engine. If you like this idea or the video or the concept or whatever you want, please, write a comment to let me know what you think about it. Thanks.

Gianpaolo Ingegneri
Copyright @ 2010 – All right reserved

Super Ball Smasher

Rilasciato finalmente in versione completa questo clone di Pang che ho programmato qualche tempo fa. Potrete usufruire di 50 stages distribuiti in 5 livelli di gioco con ambientazioni a tema e musiche suggestive create appositamente per immergere il giocatore nel clima del livello senza degenerare nel fastidio della ripetitività.

Il concept, la grafica e la musica sono totalmente originali e studiati per offrire una interessante variazione al solito e monotono schema dei cloni di pang, non rischiando di appesantire il gioco ma rendendolo al contrario più divertente e longevo. Il boss di fine gioco cerca oltremodo di ripagare le aspettative del giocatore, proiettandolo in una sfida finale non eccessivamente complessa, ma neanche troppo banale, con lo scopo di concretizzare in una vittoria finale il lungo cammino affrontato attraverso i 5 livelli di gioco. L'intero progetto è stato creato in poco tempo e usando software opensource. L'unica versione disponibile è momentaneamente per pc/windows, che potete scaricare cliccando direttamente qui (download). Buon divertimento.

Gianpaolo Ingegneri.