Online roguelike gamedev @ ANSI C

All trinity of online roguelikes written in ANSI C programming language (~ C89-C99 standart) as they all were initially based at Angband source code.

C is very powerful programming language. When I first asked C.Blue (TomeNET maintainer) about C, he said: “…some people even say that ANSI C is the most efficient C-variant and the Linux kernel is actually written in it (instead of for example C++)”.

And after I’ve read a few articles about C myself, I’ve recognized this: every programmer should know C language, no matter which language do you use in your daily work. And the most fun to learn it – is to look into online roguelikes code sources!
 
So for all those who want to come closer to understanding – how online roguelikes works or want to help with developing, I wanna share a few useful links to begin with:
 
1) wiki: C language, ANSI C
2) online roguelikes source code repositories:

3) Read the book about C. There are a lot of books about ANSI C; my personal favorite one is “C Primer Plus” by Stephen Prata. C it’s a language which you should not learn fast, as you need to understand a lot of deep internal stuff. Don’t be hurry 🙂

 
So.. To get into development process, you should:
 
1) learn ANSI C basics (book or online tutorial would do)
2) create very simple roguelike game yourself (good tutorial – RogueLulz, Part I: Drawing the Map, Walking Around, Basic Monsters and Attacking)
3) ‘read’ source code and understand how it works
4) add tiny feature and make it work. Eg: change color of UI, add indicator of buff/debuff, add new window with minimap etc
5) join our discord and catch up with dev process together! 🙂
 
How to compile PWMA?
PWMAngband using Borland C++ builder (version 5 or 6 will do); makefiles are only compatible with borland (you can use visual studio but you would need your own makefiles). Easiest is to download “free command line tools” which is a free Borland compiler version 5 and use the makefiles.
 
Please don’t hesitate to add more information, useful links, tutorials or anything considering this topic in our discord, so I’ll add it there.