5 Easy project ideas for beginner coders
This article will give you an idea about what you can do once you have mastered the basics of programming.
This article is a continuation of the series dedicated to people who want to start their adventure with programming. If you’re just wondering where to start, check out the article: From zero to 6502 assembly - how to teach yourself programming
You have already completed your first programming course. You have gone through the tutorial for the selected language. Furthermore, you analysed all the examples and performed the exercises correctly. What now? Now you have to do something. You need something that you can show off on GitHub. You need an idea for your first program, a beginner-friendly but expandable idea, a program that you can develop as you develop yourself as a coder.
Depending on what language you have chosen and what areas you are interested in, you can choose different projects. In this text, I have collected five ideas for the first program - for those interested in game dev or retro computers.
Text Adventure
Perhaps the easiest program possible to start with. After all, the simplest textual adventure game can be built around decision instructions. However, such a simple program can also be written elegantly. One simple idea to start with is adapting a game book. The program should present descriptions, of the situation, allow player to input commands for predefined actions, and show subsequent paragraphs depending on the player’s decisions. The game that works in this way can be later expanded with support for more commands or presentation of illustrations, you can add sound effects or music. A simple concept can be expanded to become a large piece of work. If, somehow, you have no idea what text adventures are, check out Zork - one of the oldest and most interesting game series in its genre.
Economic strattegy / sport manager
Another idea that can be started very easily. With his decisions, the player must ensure that the parameters, which are also influenced by the program, are maintained. Variables, pseudo-random numbers and conditional instructions are essential elements of this type of game. Take a look at example games from 8-bit computers, i.e. Hamurabi. Make sure that information is presented clearly. You can expand the basic version of your game with illustrations, animations, and sound. If you want to stand out - choose an interesting topic. You can make a player the manager of a sports club, ruler of an exotic kingdom, captain of a spaceship or even… the leader of the cult.
Cassino games
Well, after all, all gambling is random. So prepare functions that generate random numbers and take care of visual interpretation of the results. Some games require the implementation of simple strategies, i.e. Black Jack. You can expand the basic project with a virtual currency.
Board Game
The prototype of the board game can run entirely in text mode. After all, it is nothing more than generating dice rolls and interpreting them until someone (player or computer) reaches the finish line. If you try to create fields that affect the gameplay and develop an interesting graphic design - you can create an addictive game that can be expanded even into an RPG.
Chess
Chess may seem like a challenge beyond the reach of a novice programmer, but it’s not true. As the example of 1K ZX Chess shows, sometimes it is enough to implement only the most important rules and the board and pawns can be represented in text mode. Sure, motion search and evaluation algorithms are scary-sounding topics, but the internet is full of working examples and descriptions of algorithms.
Picture by @lorenzoherrera