Retro Game Clones

Started by WillLem, March 16, 2023, 06:06:04 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

WillLem

So, I've been advised to start with a smaller project to build up some more beginner-level experience.

At first I was reluctant to follow this advice, because a) I'm impatient, and b) I have a slightly naive/narcissistic/idealistic (you decide) belief that I can do anything I want to as long as I put my mind to it.

Whilst I certainly am tenacious enough to learn most things, I have to admit that I have my limits, and sometimes it is good to take things back to basics, build up a bit of experience and confidence, and then move forward from there.

Anyway, with all of that said, I've decided I'm going to make clones of 3 of my favourite retro games! Namely:

Pong!
Space Invaders
Tetris


As I finish them, I'll upload them here in this topic. I'll also regularly post progress updates to track where I'm up to.

WillLem

#1
Pong!

I've written this one in Delphi; It's my first project to be completely made from scratch!

I followed this tutorial, which is actually for Lazarus (although both use Pascal as their base language, so almost all of it is identical).

The tutorial was excellent; the presenter makes numerous mistakes throughout the video, but rather than editing these out, he takes the time to explain the mistakes and of course correct them as he goes along. I found this to be a valuable learning experience, and have added a few shortcuts to my Delphi toolbox (such as Ctrl+Shift+C to auto-create procedure code from the declaration).

Anyways, enjoy Pong! It's controlled using the mouse.

WillLem

#2
Space Invaders

This one I'm creating using Scratch, a fun online platform which teaches some of the fundamentals of game-making by presenting the code in handy blocks, and allowing plenty of real-time testing of the features being implemented.

Despite its seemingly elementary interface, from what I've seen so far Scratch is actually a remarkably capable development platform. I'm about halway through the Space Invaders clone so far, and following this excellent tutorial. If I can get it working, I'll look at making a second version using my own sprites.

WillLem

#3
Tetris

So, I already made a Tetris clone a while back written in Python and very loosely following a tutorial which I ended up not liking very much.

The project is finished and playable, but unfortunately I'm having problems with trying to get it to build as an executable file. There are also many bugs in the game which I haven't yet ironed out, and a few features (each tetrimino block having its own colour, hold feature, t-spin physics and sliding rotation physics) that I haven't quite managed to get right, although I have made a start.

If I can at least figure out how to make the .exe (followed a tutorial but it didn't work), I'll upload what I have so far.

Ideally, though, I'd like to see if I can find a better tutorial and start from scratch. I find Python/PyCharm/PyGame very unintuitive and fiddly to work with. Things like not getting an executable straight from the Build/Debug process just seems a bit rubbish tbh. But, I keep hearing that Python is meant to be one of the best languages to learn, so, I guess I'll persevere with it.

EDIT: Here's the .exe (which doesn't work for me, maybe it will work for you?) and the Python file, which will run if you have Python installed on your PC.

607

The Pong one is cute! I couldn't get Tetris to work, my Python installation on Windows is a bit messed up and I am currently not at leisure to try on Linux.
I think trying to recreate known mechanics is a great way to improve your coding skills! However, would it not be a better challenge if you did not use a tutorial that focuses on these same mechanics? :)