https://github.com/sekuldev/dratevka
Console-based remake in C of Dratevka from Atari
https://github.com/sekuldev/dratevka
atari c clang console console-game dratevka dratevka-clone game
Last synced: 4 months ago
JSON representation
Console-based remake in C of Dratevka from Atari
- Host: GitHub
- URL: https://github.com/sekuldev/dratevka
- Owner: SekulDev
- Created: 2024-08-04T23:23:23.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-31T10:10:21.000Z (over 1 year ago)
- Last Synced: 2025-10-10T03:14:40.512Z (8 months ago)
- Topics: atari, c, clang, console, console-game, dratevka, dratevka-clone, game
- Language: C
- Homepage:
- Size: 43 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dratewka the Shoemaker - Console Game
## About
This project is a console-based remake of the classic Atari game "Dratewka the Shoemaker". It was developed as a side
project to explore new programming territories and challenge myself with low-level programming concepts.
[Preview of original version on Atari](https://youtu.be/Pu7lSEa_0B8?si=BPe_A8AEJa0B0bHr&t=60)
## Technology
The game is written in C and uses CMake for build management.
### Why C?
Coming from a background in high-level programming languages, I wanted to challenge myself by learning and understanding
a low-level language. This project served as an excellent opportunity to explore memory management, pointers, and
system-level programming concepts.
## Building and Running
### Prerequisites
- C compiler (GCC or MSVC)
- CMake (version 3.28 or higher)
### Build Instructions
```bash
mkdir build
cd build
cmake ..
cmake --build .
```
### Platform Support
⚠️ Note: The game was primarily developed and tested on Windows. While it should theoretically work on Unix-based
systems, this hasn't been extensively tested. The codebase includes basic platform-specific handling, but there might be
compatibility issues.
## Development Notes
### Project Management
As the only one developer, I opted to commit directly to main, as implementing a more complex branching strategy
wouldn't provide significant benefits for a project of this size.
### Learning Experience
Despite initial challenges with pointer manipulation and memory management, the development process was enjoyable and
educational.
The project provided valuable insights into low-level programming concepts.
### Current Limitations
- No unit tests were implemented due to the project's small scope.
- The code might benefit from refactoring and improvements, as this was my first experience with C.
- Platform compatibility might need enhancement for better Unix support.
### Future Improvements
Feel free to suggest and improve through GitHub Issues.
As this was my first C project, I'm particularly interested in feedback regarding best practices and potential optimizations.
Potential areas for enhancement include:
- Cross-platform compatibility
- Unit testing implementation
- Code organization and structure
- Memory management optimization