an ncurses tank sim
Rename project to tankly
Restructure project


browse  log 



You can also use your local clone with git send-email.

This repo exists as a public archive currently. I don't plan on making any changes or additions to the game. It is playable, but there isn't any UI to display stats like health, etc.


#an ncurses tank sim


Originally, this game was going to be an email-based multiplayer tank-sim, but I couldn't really make the game logic work right to where it would be fun. I stopped working on the project for a few months, but eventually came back and fixed some things up and made it way more simple. I've mostly used this project to learn more about C and how to interact with a C library.


I didn't know much about C before starting this, and I learned a lot. More recently I learned how to write header files correctly and how to include the header files correctly. I think I was able to write some clean code, but I abandoned the project because I wasn't having fun with it anymore. ncurses was fine to work with, I didn't think it was overly complex or confusing. I would probably choose to work with something else if I had the choice though, perhaps using a different language. I like C, but I'm spoiled by modern programming languages where string manipulation is very easy. If I were to choose to write a new program in C, I would probably look for libraries that solve a lot of this to ease the burden. However, I wanted to see the difficulty involved which is why I decided not to use any libraries (except for ncurses) for this project.


Clone the repo, cd into the folder, and make. You will need ncurses installed.



tankly uses vim-like keybindings. hjkl to move and Space to take an action on your turn.

#Creating maps

Maps are loaded from resources/maps. See the legend.txt and the first map for an example.



Mostly following this: https://git.sr.ht/~sircmpwn/cstyle


The initial portions of this game were inspired by this tutorial , although heavily edited and revised.