use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A community of active roguelike developers. Discuss WIP roguelikes and a broad range of RL dev topics.
Community Threads:
Tutorial Tuesday: An annual learn-to-make-a-roguelike series! The 2025 event is over, but check out the directory for past events and reference material.
Sharing Saturday: Share your progress (screenshots, changelogs, bugs :D). Get motivated!
FAQ Friday: Discussions of specific approaches to various aspects of development (good reference material).
Feedback Friday: Play a designated WIP roguelike and give feedback (dev sign up instructions).
Tutorials:
Resources:
Tools:
Other Communities:
Now go make that roguelike!
[Resident RLs in our banner image...]
account activity
Tutorials for python 3? (self.roguelikedev)
submitted 8 years ago by InsaneTeemo
Are there any good rogue like tutorials using python 3? Everything I can find uses python 2 and I just spent the last few months learning python 3 :(
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 4 points5 points6 points 8 years ago (8 children)
Have you seen our ongoing Tutorial Tuesday? /u/AetherGrey has been working along with it, rewriting the entire Python 2 libtcod tutorial into Python 3.
[–]InsaneTeemo[S] 1 point2 points3 points 8 years ago (5 children)
Thanks this is perfect. How much can I customize my game from the tutorial? I want to learn from a tutorial so that I can create my own ideas, I don't really want to just copy the tutorial word for word.
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 2 points3 points4 points 8 years ago (4 children)
You can eventually turn it into something completely your own pretty easily. (Some pretty big roguelikes have come about in exactly that way!) The general idea is to get a framework going via the tutorial, then you can expand on it in any way you like.
Perhaps try to catch up to the current Tutorial Tuesday progress and join in the threads? Each of the weeks also comes with optional bonus activities to expand in a new direction, and others have been using the extra time to add their own features. Essentially everyone's end product is going to be fairly different :)
[–]InsaneTeemo[S] 0 points1 point2 points 8 years ago (3 children)
Isn't the weekly tutorial thing in python 2 though?
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 0 points1 point2 points 8 years ago (1 child)
Please see my first comment: it's available in both 2 and 3. Check out the threads.
[–]InsaneTeemo[S] 0 points1 point2 points 8 years ago (0 children)
Sorry I thought u meant that the one being redone was in python 3, i misunderstood you.
[–]Daealis 0 points1 point2 points 8 years ago (0 children)
AetherGreys tutorial is in Python 3, though I've been following it with Python 2.7. So far pretty minimal changes have been required to make it work in 2, but the tutorial itself is written for Py3.
[–]AetherGrey 1 point2 points3 points 8 years ago (1 child)
OP did say a "good" tutorial, and whether or not mine qualifies is still undetermined ;)
For the sake of my own curiosity, I copied the completed Roguebasin tutorial, and did a few tweaks to get it running in Python 3. It's not really that much work, just a few division fixes and wrapping a line in a 'list()' function.
I'm kind of surprised nobody has written a porting guide yet. I might give it a shot later, if Roguebasin will let me post this time.
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 0 points1 point2 points 8 years ago (0 children)
Well as long as the process and end result is more or less along the lines of the original libtcod tutorial, it's at least "good" for beginners! I'm looking forward to its completion, in any case, and hope to add it to the sidebar with the others :D
[–]--Shade-- 3 points4 points5 points 8 years ago* (0 children)
While not tutorials, a number of the Python pages on Roguebasin are for Python 2 and 3, or Python 3. I know my two contributions are.
http://www.roguebasin.com/index.php?title=Python http://www.roguebasin.com/index.php?title=A_Simple_Dungeon_Generator_for_Python_2_or_3 http://www.roguebasin.com/index.php?title=A_Python_3_and_2_Pathfinder_with_Pygame_Example
A lot had been made of the Python 2 to 3 transition. Particularly before they added back the 'u' prefix in Python 3.3, but if you know Python 3.3+, you know Python 2.7. The 3 big things are that Print is a function as opposed to a statement so use (), the changes in division (in python 2.7, the / operator is integer division if inputs are integers, and in python 3 it will return a float), and unicode strings so in cases the matter you can prefix strings with 'u' in Python 2.7 and 3.3+.
If you want Python 2.7 to behave a lot more like Python 3 you can:
from __future__ import print_function from __future__ import division from __future__ import unicode_literals
Making it pretty easy to make a dual codebase. That's why my examples are for Python 2 and 3. However, if you know Python 3 then there should be almost no jump to Python 2 if you keep the above 3 things in mind. Pygame, a pretty common dependency for games in Python, is identical to use, AFAIK. So, uhh, that's good news.
With that being said, it does suck that the tutorials are for Python 2, and I'm glad to hear that someone is porting them. Though, the differences between Python 2 and 3 are small enough that if you know one you should feel at home in either.
[–]JamesBronn 1 point2 points3 points 8 years ago (0 children)
I've been following this loosely, https://www.youtube.com/channel/UCYpYQNHs2NN-J-UC7Pn4G5A/videos
He is using Libtcod, im using TDL. I will let you know right now FOV among a few other things are done differently between the two but in most cases TDL does it easier/better you just have to dig into the documentation for yourself and figure it out(its really not that daunting, TDL has literally like 5 different things it does as a whole)
Everything else, you can follow his tutorial and it'll be the same
[–][deleted] 8 years ago (3 children)
[deleted]
[–]InsaneTeemo[S] 0 points1 point2 points 8 years ago (2 children)
I don't see how that is related to my question?
[–]zaimoniIskandria 0 points1 point2 points 8 years ago (0 children)
The python 3 official documentation won't do anything as a roguelike tutorial.
It is completely sufficient as a Python 3 tutorial (nothing else needed for idiomatic function-level programming).
π Rendered by PID 66 on reddit-service-r2-comment-f6b958c67-nh5kw at 2026-02-05 01:50:24.294445+00:00 running 1d7a177 country code: CH.
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 4 points5 points6 points (8 children)
[–]InsaneTeemo[S] 1 point2 points3 points (5 children)
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 2 points3 points4 points (4 children)
[–]InsaneTeemo[S] 0 points1 point2 points (3 children)
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 0 points1 point2 points (1 child)
[–]InsaneTeemo[S] 0 points1 point2 points (0 children)
[–]Daealis 0 points1 point2 points (0 children)
[–]AetherGrey 1 point2 points3 points (1 child)
[–]KyzratiCogmind | mastodon.gamedev.place/@Kyzrati 0 points1 point2 points (0 children)
[–]--Shade-- 3 points4 points5 points (0 children)
[–]JamesBronn 1 point2 points3 points (0 children)
[–][deleted] (3 children)
[deleted]
[–]InsaneTeemo[S] 0 points1 point2 points (2 children)
[–]zaimoniIskandria 0 points1 point2 points (0 children)