~kmdodrill/tankly

an ncurses tank sim

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~kmdodrill/tankly
read/write
git@git.sr.ht:~kmdodrill/tankly

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.

#tankly

#an ncurses tank sim

#History

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.

#Post-mortem

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.

#Installation

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

#Playing

#How-To

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.

#Development

#Contributing

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

#Credits

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