Josh Ge - How to Make a Roguelike

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

I've just recently returned from San Francisco, where I spoke at the Roguelike Celebration about how to make a roguelike. There's a bit of info in there about Cogmind and my other projects, and of course lots of other tips on how you might approach development.

I'll be getting back to Cogmind dev soon, although I also want to do a write-up to share more about the event, as well as post a full text version of the talk on my dev blog.

👍︎︎ 9 👤︎︎ u/Kyzrati 📅︎︎ Oct 11 2018 🗫︎ replies

Thanks for sharing, loooking foward to trying REXPaint.

👍︎︎ 3 👤︎︎ u/HurtwizPo 📅︎︎ Oct 11 2018 🗫︎ replies

its great!

👍︎︎ 2 👤︎︎ u/recraet 📅︎︎ Oct 11 2018 🗫︎ replies
Captions
so hello everybody it's working right okay um really excited to be here today I had to miss last year because of a serious concussion but it's great to see so many familiar faces again my name is Josh but most people know me as kid rowdy online we're on the moderator of the roguelike developers subreddit calm and I made several roguelikes of my own most notably cog mind no that's my Ben my full-time job for the past five years special thanks to all of you who made that possible and we have a bunch of you in the audience so a couple years ago at the first row of like celebration I did to talk about how I became a developer this time I'm talking about how you can build your own roguelike - it's pretty common for roguelike players to at least dabble in development we're inspired by the games we play and want to make something better something different or just something of our own so my talk today definitely isn't a tutorial it's more about how to get started and general advice to help you along the way so making a roguelike can be pretty tough not unlike journeying through a dungeon full of obstacles here's you at the bottom starting out your journey and there's your target a fun playable game it's very easy for your path to end up like this oh I need that feature over there no what about that one I need all the systems you might finish and barely make it to your goal but at what cost maybe years of wasted effort and all of your head you'll quite possibly develop yourself into a difficult corner then get stuck demoralized and quit what you need to do is make a beeline for your target with a basic plan and understanding where to go you can start with strong fundamentals and then when you have that fun game expand out of all you want I'll mostly be covering those fundamentals how to travel through this dungeon with a greater chance of success especially when you're just starting out and full of enthusiasm but also aren't sure how to proceed so note that although this is an intro on how to start making a roguelike it does not include how to stop making that robe like I'm the wrong person to ask about that you're on your own there yeah so let's get the first and most common question out of the way what language to use the answer is really easy I'm sorry but a NY is not some amazing new programming language that says any because the short answer is it doesn't really matter a whole lot if you've already got experience with some language then that's great go ahead and use it language is a means to an end when it comes to public development and people have used just about every language to create a roguelike before now that's not to say there aren't some easier options if you're just starting out so I'll help you with a suggestion here and that's Python Python is often recommended for first-time devs because it's pretty simple and straightforward to work with just look at that code there wait there's something it looks different okay just look at that code there and that's clear um not a whole lot of weird syntax and if you don't even know programming or Python you can probably still figure out most of what's going on there but don't worry about simple being a limiting factor you can still do great things with Python might have heard of Ultima ratio Rehim it's written in Python and it's a beautiful and massive open world project it's not complete but nonetheless already an incredibly impressive project temple of torment is another expansive and complete fantasy roguelike written in Python now there are literally hundreds of Python roguelikes out there oh and all you'll have a smoother ride if you start with Python and we'll come back to how to get started with it later on more complex languages like C and C++ are good in that they've been popular for ages in game development meaning you'll find lots of relevant resources and references out there C++ is what I use but that's only because I was familiar with it to begin with I wouldn't recommend it for beginners especially if your goal is to make it roguelike rather than spend all your time debugging yeah you will find a lot of other devs using Python anyway and so you'll have access to a good number of resources alright we've all got a dream roguelike but should that be where you start no at first you'll be learning a lot and making mistakes you don't even realize yet so it's best to build up some experience first more importantly the focus of game development really changes from beginning to end so it's best to go through the entire process at least once or twice before starting larger serious projects keeping your scope small first is the best way to ensure you'll actually have a complete something to show for your efforts at the end so taking our dev map from earlier that main path is what you need to focus on now it can be both a complete game and a stable foundation on which you can build more all those other areas out there to explore are very tempting but try not to get drawn too far away from the main path early on it's like playing a roguelike if you start by blindly running around and the unknown doing only what you feel like doing rather than what you probably should be doing unless the RNG is totally on your side you're probably gonna die out there somewhere repeatedly so this can be a fun way to play roguelikes but building a roguelike is a different story and a bigger investment of time so try to stay focused the cool thing is you can build roguelikes piecemeal they're basically a conglomeration of systems that can be tacked on if you think they'll support the game after that you can just repeatedly expand and iterate hopefully would player feedback in the end you've got so much stuff tacked on that you have no idea where the last ten years when looking at a roguelike project as a whole it can seem really daunting but all you really need is a plan and perseverance starting small is important because you're going to make those mistakes and you're much more likely to fail if you aim big right away so what does a small roguelike really need a core mechanic this is where the experience starts it should be explainable in a single sentence and this is what you want prototype first go straight for the fun what's this game's unique take on rogue liking if your game only has this mechanic is it fun if you're thinking a little bigger could this mechanic serve as a core for the rest of the game to sit on think about what the player is doing from minute to minute which presumably has something to do with this core mechanic weird so if that repeated process isn't fun it's not going to matter what you build on top of it so this initial proto game for that you only want to implement as many of the outer elements as necessary just to bring out and test the core mechanic again this visualization and its branches may look daunting but it's just a sample of what's possible roguelikes can be really simple and yet really fun oh wait yeah oh yeah oh yeah okay so next time to explore the core mechanics a little bit more I wanted to take a look at seven of URLs so a seven DRL is a roguelike made in seven days every March or so there's an event where lots of devs make their own seven DRL it's already going on 14 years now it's great because as long as you finish you'll definitely get at least a few people to play it and leave feedback judges also score them in different areas the most everyone treats 270 row like a personal challenge it's not supposed to be a competition that's more for yourself so over a hundred new roguelikes come out of this event each year it's a whole lot of fun and as you can see it gets more and more popular now I wouldn't recommend doing a 70 RL as your first game you don't need that kind of pressure so early but it's a good idea once you at least have some experience and know what goes into a roguelike especially the technical aspects because having a deadline really does help once you have that fun one so that you have those basic abilities so 70 rels are great examples of start small and expand is necessary after you've confirmed that your core mechanic works and is a good idea so 70 are ELLs naturally make good prototypes and many are experimental in nature we see a lot of cool ideas every year so let's take a look at a few examples there's night which is all about controlling your momentum you're mounted on a horse most of the time and that little blue block you see in the middle there so to the north east of the character that's all you can move and you can only move at one space per turn and that's where you will end up Nick's turn so you can only accelerate turn and slow down so quickly meaning that you'll have to plan in order to line up your attacks on moving foes in order to behead them when your sword as you pass so it's all based around that mechanic this 7d RL is great it's got its core mechanic right in the name you're a ship in space and although you automatically attack enemies within range enemy fired projectiles move more slowly and you can see their projected paths for the next turn and need to maneuver so that you can both continue attacking and avoid being hit Travis made that he's back there I always it's a great game I love the core idea and was nice to meet the dev so in seven day band you create your own roguelike as you play it wandering around you're faced with unknown enemies and objects and have to set their names and abilities as you encounter them for the first time or when they start to matter it's not like a bunch of menus right away it'll occasionally pop a menu you know what do you want this value to be you really want that one so band here refers to making an egg band like of your own in broken bottle you play an alcoholic in a post-apocalyptic world where alcohol consumption ties into most of the experience for better or worse depending on your choices it's a pretty story focused 70 euro Drake fire chasm has you building playing a young dragon fighting through caverns full of monsters adventurers and other dragons but there are no items at all you just upgrade your dragon abilities and eat your foes in order to grow larger and advance to the next floor now this one still gets occasional updates in golden Crone hotel you take advantage of the differing abilities of your vampire and human forms including their interaction with dynamic light this one eventually turned into a bigger commercial roguelike and is done pretty well on Steam since releasing a year ago here's my original cog mine 7d RL looks a lot different from the new one but here you're a robot building yourself from scratch using parts found or taken from other robots and there's rampant item destruction so you're forced to rebuild pretty often obviously this also became a much bigger commercial project later on I never expected my little 7d or L detour six years ago would turn into my job but I'm really happy that I participated because that was perfect for proving the core mechanic was fun this year for the 7d RL I did poly bot 7 which is kind of like cog mind but plays extremely differently because there was a significant change to the core mechanic instead of a player choosing what items to attach nearby items just automatically fly over and attach themselves to you from over you can't even remove them the only way to remove parts is if they're destroyed so I originally planned for this game to be kind of a scaled-down COK mind but as the 7000 got closer I kept feeling that wasn't really a game worth making it needed to be something with a truly unique hooked to it a completely new core mechanic so it turned out pretty fun just change the core mechanic and the entire game feeling changed so while these games all these games I just mentioned may have more than one system it's pretty clear where their core mechanic lies and like many other seven TRL's they really stand out for it but well rat it let's take a look at a few non 7tl examples as well these games took years to make and certainly include a ton of systems and content but you can still see how they revolve around their core mechanics now there's mage guild which has the greatest alchemy system that lets you mix any two items I think it'll all be that potions monster remains anything and you get all kinds of new items and effects when you mix them logical results is pretty fun now there's demon where you recruit a wide variety of autonomous follower demons and train them the ground gives way with it's completely item based progression and there's Xena marine which is built around ranged combat and directional facing and that's something you see in many roguelikes one of the nethack devs once told me net hax core mechanic is if it seems like it should be possible to do something then you probably can this almost seems like an anti core mechanic but yeah so one of the most important things you'll need access to is information that includes living the basics getting answers to questions getting into more advanced topics later or just food for thought your specific pitfalls will be different for other devs because everyone's got a somewhat different skillset and personality but you can use online resources and friends to get around those pitfalls well you probably don't have anyone working with you on your project others can step in with an advice when you need it but you have to ask it took me way too long to learn that my early progress or the progress was pretty slow because I never reached out to people so I'm here to tell you there's tons of help just waiting out there so let's look at some of the most useful resources here's the roguelike dev subreddit the largest group of active roguelike developers in the universe in addition to our welcoming and helpful community we also have a wire well organised sidebar that will point you to a wide variety of useful resources this includes tutorials in various languages and libraries and we have members who have used them before and can help answer your questions this information has been brought to you by the completely unbiased moderator okay so earlier I mentioned starting out with Python and the easiest way to do that is with the library known as Liberty Cod for which we have a tutorial more than one even like most game libraries lib ducat handles basic features like a window like your window your mouse and keyboard support bitmap fonts palette and color manipulation all those things but it also does a lot of the roguelike specific heavy lifting like map generation FOV pathfinding it does a lot of the work for you and you can replace these parts if you need to but it's a great place to start ultimate round here eekum and temple of torment 2 roguelikes i mentioned earlier both of the multi-year huge projects both started with the game they created in this tutorial and eventually just grew into their own things so lifty got is pretty great and it's beginning updates for 10 years now another way to get started is to join our summer coda long event again this is the robe like to have subreddit this follows the lip t-cog tutorial alongside other developers if you need the extra motivation and pacing handle for you we've done the tutorial for a couple years so far an interest has always been really high we've got like a hundred people each year who participate in this and you don't even have to use them to cut or python to participate how many people use other languages and follow along with their own roguelike or similar tutorials in any case at the end of two months you'll have your own playable roguelike here are some of the games that came out of our event the past couple years it's a really nice walk through you can just tack on to or add features as you see fit and just keep going with it these are these are the things that people ended with though at the end of two months now that basically gives you the required technical background for a functioning roguelike then you do the part where you let your imagination run wild so later on in your roguelike dev travels we have facts again on our subreddit that covered different aspects of development in order to get you thinking about how to approach various topics we've done a handful so far yeah he's been doing it for about you know over three years now so these topics and these include like meta topics you've got planning and motivation and also details like common systems design just all sorts of stuff you can see this list there it's everything we've got over the years we've had quite a few devs contributing to these community facts including Rowland roguelikes honestly we've got tons of developers hanging out in the subreddit in general many with long term hobby projects and who are knowledgeable and happy to help we also have a discord for real-time help and discussion you can find the link to that in our sidebar we share that server with the roguelikes subreddit so you'll also find lots of other people playing and discussing all sorts of roguelikes and other channels outside our subreddit Santiago has got this great site you may have heard of called rogue Basin you'll find a whole section of articles that there is just a list of the general table of contents a lot of the content is a little older but I mean it's rogue elective most of the articles are just as relevant today and this is where I got started years ago Thank You Santiago and I found the articles both inspiring and enlightening well maybe a little scary at first but remember a piecemeal that's how you want to build a robot piecemeal so it's a lot of stuff but take it a step at a time Darren gray Andrew dual Mark Johnson and others host a podcast called roguelike radio check out all these topics that they've done these include interviews with a wide range of roguelike devs I'm even in two or three of them including one where I say cog mind might be done in 2016 or something like that the new year is 2019 he'll doesn't say that a number of them cover the 7-day roguelike challenges which are a pretty big thing in the community so that's knowledge covered but another really big consideration when it comes to game development general with assets here are our assets seriously though ASCII is wonderful in so many ways and it makes it so easy to add new content so and with the right combination of foreground and background colors you can create some really pretty games you probably recognize brogue but I'll just flip through some more images here to sample the breadth of the possibilities all of which look great there's just so much room for unique styles the variety is just amazing yeah you can also use my editor vex paint for interface design mapping art and a whole bunch of other stuff it integrates with lip decode so bonus for me it's become a totally indispensable tool and quite a few other roguelike devs rely on it now to of course if you want more people to actually play your game or if it'll help you get into your project there are also some nice title sets you can use even if they're just a placeholder many of these are free and many more as well or at least available at a reasonable price you can find links to a bunch of tile sets in our subreddit sidebar for some people tile sets had the advantage of sparking your imagination if you need that to help with development like you see this cool cool character and you just oh I need I know what that'll be that that's perfect for my game or it gives you a new idea so you may have seen some of these tiles and other roadblocks before alright so for this last segment I wanted to take a look at where to start your real design process now what you want to focus on I mean you might be satisfied with just moving a little at across the screen smashing into letters or you might want to go a bit further than that and hope that others enjoy it as much as you do of course you'll want some kind of hook to get people interested in the first place but this hook can take a number of forms we already talked about having a core mechanic which is one of the easier hooks since it ties most directly into the gameplay itself and roguelikes first and foremost are all about game play all those permit deaths aren't going to be worth it if there's no replayability amazing audio visual features aren't traditionally as common although we're seeing more roguelikes headed in that direction which is great because it attracts more players to the genre but the one I want to emphasize now is beam which is an excellent hook but not taking advantage of nearly enough we have lots and lots of fantasy dungeon crawlers so naturally if you want to really distinguish your project and go for any unique theme that's not a fantasy dungeon crawler roguelikes are generally based on good interesting gameplay but having a unique theme normally makes the entire experience unique it also gives you a source from which to readily draw brand-new mechanics it almost forces you to do this in particular historical and mythological themes offer a huge range of established material to explore and expand on people also always seem to want more sci-fi aerobics than we already have so that's another idea we've seen some really unique themes in recent years makai RL for example is it's a neat concept steeped in Japanese mythology and historical fantasy I want to play that skies of bloody April is a well-run dogfighting work like these there's these are the kinds of things that like really turn heads especially of course once they reach a fully playable state now one that is a very complete game is lone spelunker where you explore natural and sometimes dangerous wonders of subterranean caves and as for some other ideas that come up pretty commonly in the roguelike community but haven't been satisfied yet pirates come up pretty often we did have one game pop up called pirate rogue which is among the highest ever voted threads in the red and the roguelike subreddit but it was just a concept and they were that they were prototyping and the dev what it on hold since they realized their dream game was a bit beyond their experience level but the demand is clearly there though it's come up many times Super Heroes is another one that comes up all the time someone do it alright so there have been a lot of great stories coming out of the roguelike dev subreddit so many awesome projects in there both new and long-term but I wanted to share one in particular which I consider a pretty inspiring story and that's armored commander so in our mind commander you're in control of a single World War 2 tank within which you lead multiple crew members in Overland campaigns Gregory Scott developers started this project with only limited programming experience and just went at it with the libtech gut python tutorial one year later it was finished and featured in Rock Paper Shotgun so that's from no game dev experience to a complete game featured in a top PC gaming opinion site in one year show these luck involved in this sort of thing but having a unique theme and sharing it around guarantees that more people are gonna take notice so pick a unique theme and own it this gets more people interested and in turn that will help keep you motivated gregory's now working on a sequel this is arm con 2 so remember that your game doesn't have to be a strict roguelike I'm gonna be a little blasphemous here and say it's not worth getting caught up in definitions we often see people come up with a game idea they'd like to make but then worry about whether or not everyone agrees it's a roguelike it doesn't really matter because there are as many definitions as there are players as long as it's internally consistent and follows your own plan you're all set you know but don't worry be roguelike subreddit will continue to bring your weekly arguments about whether or not something is a roguelike and now to do a total 180 there's another approach you can try which has its own advantages it's the so called xrl these are based on existing IPs and save you much of the planning and design effort that goes into making a game as most of those questions will already be answered for you most you have to come up with how to adapt it to roguelike formulas so within xrl you can focus on the implementation and other fundamentals while you get your feet wet as a new developer but lots of devs do this a while back I made this list of examples on brook basin all these games here based on existing IPs personally I think this is a good way to start out your early development efforts when perhaps the most famous is doom RL it's officially now just called DRL after they were hit by a C and D from ZeniMax luckily wasn't any worse than that but that's a reminder you do have to be careful of particularly litigious companies like Nintendo for example I'd advise against doing an explicitly Pokemon robe like cornell childish couldn't be here today because he's too busy working on the doom RL successor Jupiter hell but in his early years he also made aliens RL one of the first roblox I ever played and Diablo RL Santiago again is here with us today and he's made roguelikes based on castlevania metroid zelda Star Wars Megaman and probably like 10 others he hasn't told us about now even my own first semi roguelike project XCOM RL belongs in this category it started from an IP that with mechanics I was already really familiar with and I loved that helped a lot from there I was able to branch out and a lot of my own mechanics and content doing experience on top of an already solid foundation so another major advantage that I wanted to bring up to to about XR ELLs is that um you have instant fans all the other people who enjoy both roguelikes and that same ip this is great for motivation since you'll always have people cheering you on this helped me a lot in the early years so some tips for the long-run release early and often is the aerobic def mantra is good to quickly get everything into a minimally playable state again a prototype and it'll probably net you some good feedback which is valuable for the long-term sharing Saturday but even before your first release even with just a concept and long after that try participating in our weekly sharing threads in the roguelike dev subreddit for some this is a way to stay accountable to yourself and it's a nice way to review what you have or have not been up to you can literally post about how your week was hell at work and you barely got anything done and in the process you can make friends with others who are in the same boat now or you can talk about the cool new feature that you added or thinking about you can share funny bugs anything really it's a great community keep a blog besides sharing Saturday it's also nice to concentrate all the info about your development in one place a public place blogging actually has a bunch of advantages at the bottom there is just a quick list of some of the major ones I've got and the other stuff there is those are articles I've written over the years just on my blog I have like a hundred or so that appear elsewhere so check out the grits age blog and you'll probably find a fair bit of useful info there accessibility is important now traditionally this wasn't the case with roguelikes but nowadays you have an opportunity to reach so many more players if you're willing to put in that effort now this means sufficient documentation a tutorial full mouth support a tile set etc so to demonstrate how valuable Mouse support and the tile set can be check out these player stats from cog mind that's a whole lot of mice and tiles note that some accessibility features are important to consider your new giant design from the very beginning but don't worry about all this stuff in your first work life starting with an asking keyboard only roguelike is just fine so this is the end of my talk and the beginning of your great new verb like get to it but first let's listen to all the other great talks this weekend you can start on Monday [Applause] [Laughter]
Info
Channel: Roguelike Celebration
Views: 53,164
Rating: undefined out of 5
Keywords: roguelike, video games, game design
Id: jviNpRGuCIU
Channel Id: undefined
Length: 27min 21sec (1641 seconds)
Published: Mon Oct 08 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.