Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Beginner's Guide to Roguelike Development (Updated!)

1,539 views
Skip to first unread message

Craig

unread,
Jun 5, 2012, 2:17:22 PM6/5/12
to
Hi all,

About a few *cough* years *cough* ago, I started a little project
called "The C/C++ Programmer's Guide to ASCII Games". In it were four
articles written starting from moving the ubiquitous @ around a black
screen and ending with a map you can walk around and open and close
doors with; with input, fixes and comments from many in this group.

A wedding, a new job and two startup ventures later, the guide sat
idle. In the past few months, I've received some emails asking me
where the rest of it is. With a swift kick in the ass by my wife and
the comments of some very encouraging people I've dusted off the
guide, added three more articles, rewrote the old articles in a more
visually appealing manner and gave it a new home for quicker updates.

If you're interested, take a peek at the new home:
http://www.kathekonta.com/rlguide/index.html

Comments and commentary are most welcome. Doubly so if you're a newbie
to programming and/or game development.

A big thank you goes out to Rachel Elizabeth Dillon who hosted the old
guide (and other RL-scene boosting projects) for so many years.

Cheers!

- Craig



Björn Ritzl

unread,
Jun 5, 2012, 5:01:20 PM6/5/12
to
On Tuesday, 5 June 2012 20:17:22 UTC+2, Craig wrote:
> Hi all,
>
> About a few *cough* years *cough* ago, I started a little project
> called "The C/C++ Programmer's Guide to ASCII Games". In it were four
> articles written starting from moving the ubiquitous @ around a black
> screen and ending with a map you can walk around and open and close
> doors with; with input, fixes and comments from many in this group.
>
--snip--
>
> If you're interested, take a peek at the new home:
> http://www.kathekonta.com/rlguide/index.html
>
> Comments and commentary are most welcome. Doubly so if you're a newbie
> to programming and/or game development.
>
> A big thank you goes out to Rachel Elizabeth Dillon who hosted the old
> guide (and other RL-scene boosting projects) for so many years.
>
> Cheers!

Good stuff!

Why don't you put all of the articles on Roguebasin (http://roguebasin.roguelikedevelopment.org/index.php/Main_Page) as well?

> - Craig

Regards,
Björn

narf_the_mouse

unread,
Jun 6, 2012, 3:10:38 AM6/6/12
to
Just did the first four tutorials. Should be helpful for writing simpler
Roguelike code.

For some reason, whenever I start doing a Roguelike, I get the urge to
vastly over-complicate things.

*Vastly*

I think it's due to the inherent experimental nature of them.

Anyway, looking foward to the rest of them. :)

narf_the_mouse

unread,
Jun 6, 2012, 4:23:59 AM6/6/12
to
There are a few bugs, such as misspelled variable names.

Anyway, I need to stop coding and get to sleep.

Craig

unread,
Jun 6, 2012, 11:50:59 AM6/6/12
to
On Jun 6, 2:23 am, narf_the_mouse <lrgmo...@telus.net> wrote:

> > Just did the first four tutorials. Should be helpful for writing simpler
> > Roguelike code.
>
> > For some reason, whenever I start doing a Roguelike, I get the urge to
> > vastly over-complicate things.
>
> > *Vastly*

Ha ha, thanks! That's exactly what I was going for: get something up
quick and dirty and begin to get more sophisticated after.

> There are a few bugs, such as misspelled variable names.
>
> Anyway, I need to stop coding and get to sleep.

Could you please let me know what bugs you've found? Anything to make
the guide better, man.

Thanks!

peczuli...@gmail.com

unread,
Jun 9, 2012, 1:08:08 PM6/9/12
to
Sadly, I cannot write how grateful I am that you are doing this, especially in C/C++. I would usually make it to moving a character around a randomly generated map, and then I would get lost in how to make items, NPC's, monsters, and what not. Thanks!

narf_the_mouse

unread,
Jun 10, 2012, 6:08:00 PM6/10/12
to
Sorry, looks like I'm busy, so I may not be able to get to that soon.

However, what I remember is mostly a few mis-spelled variable names,
such as alternately TILE_NONE and TILE_EMPTY.

muresanv...@gmail.com

unread,
Jul 23, 2012, 2:15:50 PM7/23/12
to
Hello,

Saddly i dont know how to install that console :(
I need some help,please!

goomb...@gmail.com

unread,
Jul 27, 2012, 12:43:30 AM7/27/12
to
On Tuesday, June 5, 2012 1:17:22 PM UTC-5, Craig wrote:
> Hi all,
>
> About a few *cough* years *cough* ago, I started a little project
> called &quot;The C/C++ Programmer&#39;s Guide to ASCII Games&quot;. In it were four
> articles written starting from moving the ubiquitous @ around a black
> screen and ending with a map you can walk around and open and close
> doors with; with input, fixes and comments from many in this group.
>
> A wedding, a new job and two startup ventures later, the guide sat
> idle. In the past few months, I&#39;ve received some emails asking me
> where the rest of it is. With a swift kick in the ass by my wife and
> the comments of some very encouraging people I&#39;ve dusted off the
> guide, added three more articles, rewrote the old articles in a more
> visually appealing manner and gave it a new home for quicker updates.
>
> If you&#39;re interested, take a peek at the new home:
> http://www.kathekonta.com/rlguide/index.html
>
> Comments and commentary are most welcome. Doubly so if you&#39;re a newbie
> to programming and/or game development.
>
> A big thank you goes out to Rachel Elizabeth Dillon who hosted the old
> guide (and other RL-scene boosting projects) for so many years.
>
> Cheers!
>
> - Craig

This is a really fantastic tutorial. First and foremost thank you for posting it.

I have one question, do you know of an equally effective tutorial for Java? Java is my main language but I would REALLY love to strengthen my familiarity with the language by creating a Roguelike.

Thank you for any info.

funny...@gmail.com

unread,
Jul 30, 2012, 8:51:53 PM7/30/12
to
Although your tutorial has been great and I've followed it through, I'm unable to compile any of the code provided, it looks to be an issue with "Console.h", as my compiler thinks that all of my console commands are undeclared. Any thoughts?

yam655

unread,
Aug 4, 2012, 10:38:59 AM8/4/12
to
On Tuesday, June 5, 2012 2:17:22 PM UTC-4, Craig wrote:
> About a few *cough* years *cough* ago, I started a little project
> called "The C/C++ Programmer's Guide to ASCII Games". In it were four
> articles written starting from moving the ubiquitous @ around a black
> screen and ending with a map you can walk around and open and close
> doors with; with input, fixes and comments from many in this group.

I have one nit to pick.

You call it a C/C++ guide, yet all the example code is non-object-oriented C++. The library and header you provide is exclusively a C++ library and header, yet there is no object oriented design in the examples. It's the worst of both worlds.

So what you have is a non-object-oriented C++ programmer's guide to writing roguelike games.

If you were to change your example code (and convenience library) to straight C, you get implicit C++ support (you could even have a section about making it object-oriented) so such thing would be a C/C++ guide. However, if you write everything in C++, it is just a C++ guide. Shoot, with the header and helper library written for plain C, you could even have a section for converting it to D and call it a C/C++/D guide. (D supports C libraries but not C++ libraries. Even Basic and Assembly typically support C libraries easily.)

Oh, another point. The way you're writing the code is significantly different than the Curses library you mention. If you're going to recommend Curses, you should either complete your support library so you can have a Curses compatible version it or you should just have folks use pdcurses from the start.

pdcurses <http://pdcurses.sourceforge.net/> has good Windows support, but doesn't support nearly the same features as ncurses. (Only 16 colors for pdcurses, compared to the 256 colors with redefinable colors with ncurses when using a properly configured terminal.)

This also means that if you switch your examples to pdcurses you get near immediate support for other operating systems. ("conio.h" is a DOS-ism. Oops. I mean Windows-ism.)

Good luck!

Cheers,
Steven Black

sshid...@gmail.com

unread,
Nov 23, 2012, 3:17:08 PM11/23/12
to
вторник, 5 июня 2012 г., 21:17:22 UTC+3 пользователь Craig написал:
> About a few *cough* years *cough* ago, I started a little project
>
> called "The C/C++ Programmer's Guide to ASCII Games". In it were four
>
> articles written starting from moving the ubiquitous @ around a black
>
> screen and ending with a map you can walk around and open and close
>
> doors with; with input, fixes and comments from many in this group.

First of all, I also want to thank you for so interesting and useful tutorial! =)

Secondly, I also want to ask the same question that funny...@gmail.com did: how to compile source? I've tried MinGW and Visual Studio to do this, but both of them say me that all calls to functions is unresolved...

tehb...@googlemail.com

unread,
Nov 26, 2012, 3:27:11 PM11/26/12
to
Hello Guys, Hey Craig,

I was very pleased to stumple upon this as it looks very informative and well written. Two other people asked about actually compiling the code, and I seem to have the same problem - I am using VS2010 and i can not get the console library to work unfortunately, even though I have tried everything i could come up with, using the project's properties.

I am sure there is an easy solution to this and would be happy to get one.

Thanks for your Time.
0 new messages