Articles

From RogueBasin
(Difference between revisions)
Jump to: navigation, search
(added a recent article to the list)
(The article is not well written, and it seems like it's bad spam text generated from a neural network. I also blanked the linked pages.)
 
(27 intermediate revisions by 17 users not shown)
Line 10: Line 10:
 
* [[Open Source]]
 
* [[Open Source]]
 
* [http://alun.myftp.org/Appz/DynamicWorldDesign.xps Dynamic World Design (XPS doc)]
 
* [http://alun.myftp.org/Appz/DynamicWorldDesign.xps Dynamic World Design (XPS doc)]
 +
* [http://alun.myftp.org/Appz/MMOGameBalanceIssues.xps MMO Game balance issues (XPS doc)]
  
 
=== Fundamentals ===
 
=== Fundamentals ===
Line 40: Line 41:
  
 
==Design==
 
==Design==
 +
===General===
 +
* [[Alternatives to Permadeath]]
 
* [[Aspects of playing]]
 
* [[Aspects of playing]]
 
* [[Fun Factor]]
 
* [[Fun Factor]]
 
* [[Power Curve]]
 
* [[Power Curve]]
 +
* [[Quests in Roguelikes]]
 +
* [[RL Terrain]]
 +
* [[Religious Constraints (Rules)]]
 +
* [[Roguelike Alphabet]]
 +
* [[Spatial Consistency]]
 
* [[The Role of Hunger]]
 
* [[The Role of Hunger]]
* [[Alternatives to Permadeath]]
 
 
* [[Third dimension in an ASCII-based roguelike]]
 
* [[Third dimension in an ASCII-based roguelike]]
 
* [[Time Systems]]
 
* [[Time Systems]]
 
* [[What a RL should be]]
 
* [[What a RL should be]]
* [[Roguelike Alphabet]]
 
* [[Spatial Consistency]]
 
  
===Setting, story, and mood===
+
===Combat===
* '''[[Theme]]'''
+
* [[Implicit Facing]]
* [[Roguelike Themes]]
+
* [[Interesting Critical Hits]]
* [[Creating a Story]]
+
* [[Monster attacks]]
* [[Horror in Roguelike Games]]
+
* [[Horror1|Horror in Roguelike Games, Part I : Gore]]
+
* [[Roguelike Mood]]
+
* [[Big List of RPG Plots]]
+
  
===Roleplaying===
+
===Dungeons===
* [[Quests in Roguelikes]]
+
* [[Basic BSP Dungeon generation]]
 
+
* [[Basic directional dungeon generation]]
===Dungeon features, terrain===
+
* [[Brogue]] [https://www.rockpapershotgun.com/2015/07/28/how-do-roguelikes-generate-levels/ dungeon terrain] and [http://brogue.wikia.com/wiki/Level_Generation level] generation
 
* [[Dungeon persistence]]
 
* [[Dungeon persistence]]
* [[RL Terrain]]
+
* [http://ancardia.wikia.com/wiki/Dungeon_Features List of dungeon features] from the [[ADOM]] wiki.
 +
* [http://crawl.chaosforge.org/Dungeon_features List of dungeon features] from the [[Crawl]] wiki.
 +
* [https://nethackwiki.com/wiki/Category:Dungeon_features List of dungeon features] from the [[NetHack]] wiki.
 +
* [[Template Dungeon themeing/generation]]
 
* [http://roguelikedeveloper.blogspot.com/2007/11/unangband-dungeon-generation-part-one.html Unangband Dungeon Generation]
 
* [http://roguelikedeveloper.blogspot.com/2007/11/unangband-dungeon-generation-part-one.html Unangband Dungeon Generation]
* [[Basic BSP Dungeon generation]]
 
* [[Basic directional dungeon generation]]
 
  
===Combat===
+
===Interface===
* '''[[Monster attacks]]'''
+
* [[Icons in Roguelikes]]
* [[Implicit Facing]]
+
* [http://www.gridsagegames.com/blog/2015/10/morgue-files/ Morgue files], from [[Cogmind]]
* [[Interesting Critical Hits]]
+
* [[Preferred Key Controls]]
 +
* [[Roguelike Interface]]
 +
* [[User interface features]]
  
 
===Magic===
 
===Magic===
 +
* [http://roguelikedeveloper.blogspot.com/2008/05/unangband-magic-system-part-one.html Designing a Magic System]
 
* [[Magic]]
 
* [[Magic]]
 
* [[Magic systems]]
 
* [[Magic systems]]
 
* [[Spell]]
 
* [[Spell]]
 
* [[The Gramarye A Magic System for FUDGE]]
 
* [[The Gramarye A Magic System for FUDGE]]
* [http://roguelikedeveloper.blogspot.com/2008/05/unangband-magic-system-part-one.html Designing a Magic System]
 
  
===Religion===
+
===Setting, story, and mood===
* [[Religious Constraints (Rules)]]
+
* [[Big List of RPG Plots]]
 
+
* [[Creating a Story]]
===Interface===
+
* [[Horror in Roguelike Games]]
* '''[[Preferred Key Controls]]'''
+
* [[Horror1|Horror in Roguelike Games, Part I : Gore]]
* '''[[User interface features]]'''
+
* [[Roguelike Mood]]
* [[Icons in Roguelikes]]
+
* [[Roguelike Themes]]
* [[Roguelike Interface]]
+
* [[Theme]]
  
 
===Game ideas===
 
===Game ideas===
 
Ideas for roguelikes are posted regularly on [[rgrd]], but over time are forgotten. In an attempt to preserve the more interesting ideas these pages were created:
 
Ideas for roguelikes are posted regularly on [[rgrd]], but over time are forgotten. In an attempt to preserve the more interesting ideas these pages were created:
 +
* [[Fire Brigade RL]] by Antonie
 +
* [[GalaxyRL]] by tongHoAnh
 +
* [http://groups.google.com/group/rec.games.roguelike.development/browse_thread/thread/35a94c69af62ac95?fwc=1 God's 7DRL]
 
* [[Magic Tower]]
 
* [[Magic Tower]]
* [[Modern Dungeon Exploration]]
 
* [[Roguelike DM]] by [[Timothy Pruett]]
 
 
* [[Magical Dungeon]] by Patashu
 
* [[Magical Dungeon]] by Patashu
* [[GalaxyRL]] by tongHoAnh
+
* [[Modern Dungeon Exploration]]
* [[Time-gate roguelike]] by anchor0057
+
 
* [[Murder Mystery RL]] by Shedletsky
 
* [[Murder Mystery RL]] by Shedletsky
* [[World of Rogue]] by [[Gamer_2k4]]
+
* [[OrcRL]] by DrGong
 +
* [[Poisoned Character Roguelike]]
 +
* [[Roguelike DM]] by [[Timothy Pruett]]
 
* [[Shopkeeper RL]] by Antonie
 
* [[Shopkeeper RL]] by Antonie
* [[Fire Brigade RL]] by Antonie
+
* [[Time-gate roguelike]] by anchor0057
 
* [[TraderRL]] by alsagoz
 
* [[TraderRL]] by alsagoz
* [[OrcRL]] by DrGong
+
* [[World of Rogue]] by [[Gamer_2k4]]
* [http://groups.google.com/group/rec.games.roguelike.development/browse_thread/thread/35a94c69af62ac95?fwc=1 God's 7DRL]
+
* [[Poisoned Character Roguelike]]
+
  
 
==Implementation==
 
==Implementation==
* [[Ssh server]]
+
 
 
* [[Complete Roguelike Tutorial, using python+libtcod]]
 
* [[Complete Roguelike Tutorial, using python+libtcod]]
* [[Language in Roguelikes]]
+
* [[Roguelike Tutorial, using Lua+libtcod]]
* [[Things which are hard to code]]
+
* [https://programmingbymoonlight.com/roguelike-intro/ New Roguelike Tutorial, using Lua+Gideros Mobile]
* [[Portability Issues]]
+
* [[rot.js tutorial|Ananas aus Caracas: rot.js tutorial]]
 
* [[Code design basics]]
 
* [[Code design basics]]
 +
* [[Portability Issues]]
 +
* [[Things which are hard to code]]
 +
* [[Language in Roguelikes]]
 
* [[Save Files]]
 
* [[Save Files]]
* [http://forum.basicprogramming.org/index.php/topic,1542.msg9692.html#msg9692 FreeBasic: Let's Build a Roguelike]: Rick Clark's excellent step-by-step tutorial covering the implementation of a roguelike game. [[FreeBasic]] is the programming language used in the tutorial, but the general principles are the same for other languages. As of April 7, 2011, the tutorial is complete.
+
* [[Ssh server]]
* [[New Roguelike Tutorial, using Lua+libtcod]]
+
 
* [http://www.kathekonta.com/rlguide/index.html Beginner's Guide to Roguelikes] - a C/C++ focused tutorial for new programmers.
+
* [[rot.js tutorial|Ananas aus Caracas: rot.js tutorial]]
+
  
 
=== Programming languages ===
 
=== Programming languages ===
RogueBasin has articles about these languages. That doesn't mean that you can't use other languages. The best language for your roguelike is the one you know well (or want to learn).
+
RogueBasin has articles about these [[Programming Language|programming languages]]. That doesn’t mean that you can’t use other languages. The best language for your roguelike is the one you know well (or want to learn).
 +
 
 +
* [[BASIC]]
 
* [[C]]
 
* [[C]]
 
* [[C_Sharp|C#]]
 
* [[C_Sharp|C#]]
 +
* [[Common Lisp]]
 
* [[Cpp|C++]]
 
* [[Cpp|C++]]
 
* [[D]]
 
* [[D]]
* [[Bcx Basic]]  
+
* [[Fortran]]
 
* [[FreeBasic]]
 
* [[FreeBasic]]
 
* [[FreePascal]]
 
* [[FreePascal]]
* [[Java]]
+
* [[Haskell]]
 
* [[JavaScript]]
 
* [[JavaScript]]
 +
* [[Java]]
 
* [[Lua]]
 
* [[Lua]]
 
* [[Python]]
 
* [[Python]]
 
* [[Ruby]]
 
* [[Ruby]]
* [[Common Lisp]]
 
* [[Haskell]]
 
  
 
=== Portability ===
 
=== Portability ===
Line 146: Line 153:
 
* [[Unicode]]
 
* [[Unicode]]
 
* [[Output libraries]]
 
* [[Output libraries]]
 +
* [[Filesystem hierarchy standard for game developers]]
  
 
=== Extensibility ===
 
=== Extensibility ===
Line 166: Line 174:
 
* [[Diffusion-limited aggregation]]
 
* [[Diffusion-limited aggregation]]
 
* [[Dungeon builder written in Python]]
 
* [[Dungeon builder written in Python]]
 +
* [[A Simple Dungeon Generator for Python 2 or 3]]
 
* [[Dungeon-Building Algorithm]]
 
* [[Dungeon-Building Algorithm]]
 
* [[Grid Based Dungeon Generator]]
 
* [[Grid Based Dungeon Generator]]
Line 171: Line 180:
 
* [http://www.evilscience.co.uk/?p=53 Island and labyrinth map generating algorithm]
 
* [http://www.evilscience.co.uk/?p=53 Island and labyrinth map generating algorithm]
 
* [http://www.astrolog.org/labyrnth/algrithm.htm Maze Algorithms]
 
* [http://www.astrolog.org/labyrnth/algrithm.htm Maze Algorithms]
 +
* [http://frogasaurus.wordpress.com PHP dungeon generator using tile masks]
 
* [[Simple maze]]
 
* [[Simple maze]]
* [http://roguelikedeveloper.blogspot.com/2007/07/wilderness-generation-using-voronoi.html Wilderness generation using Vornoi diagrams]
+
* [http://roguelikedeveloper.blogspot.com/2007/07/wilderness-generation-using-voronoi.html Wilderness generation using Voronoi diagrams]
 
* [[Complete Roguelike Tutorial, using python+libtcod, part 2#The Map|A Python map structure]] and [[Complete Roguelike Tutorial, using python+libtcod, part 3|a simple dungeon generator]], part of the python+libtcod tutorial.
 
* [[Complete Roguelike Tutorial, using python+libtcod, part 2#The Map|A Python map structure]] and [[Complete Roguelike Tutorial, using python+libtcod, part 3|a simple dungeon generator]], part of the python+libtcod tutorial.
 
* [[Winding ways]]
 
* [[Winding ways]]
Line 179: Line 189:
 
* [http://www.evilscience.co.uk/?p=553 C# implementation of simple map builder]
 
* [http://www.evilscience.co.uk/?p=553 C# implementation of simple map builder]
 
* [[Random Walk Cave Generation]]
 
* [[Random Walk Cave Generation]]
 +
 
* See also: [[:Category:WorldGeneration]]
 
* See also: [[:Category:WorldGeneration]]
  
Line 194: Line 205:
 
* [[Need driven AI]]
 
* [[Need driven AI]]
 
* [[Pathfinding]]
 
* [[Pathfinding]]
 +
* [[A_Python_3_and_2_Pathfinder_with_Pygame_Example]]
 
* [[Plug-In Monster AI]]
 
* [[Plug-In Monster AI]]
 
* [[Quick Pathfinding in a Dungeon]]
 
* [[Quick Pathfinding in a Dungeon]]
Line 205: Line 217:
 
* [[Anticipating wall-following pathfinder]]
 
* [[Anticipating wall-following pathfinder]]
 
* [[Denizen Herding Behavior]]
 
* [[Denizen Herding Behavior]]
 +
* [[Smart searching and Modeling the player with a "heatmap"]](Not finished)
 +
* [[Dijkstra Maps Visualized]]
 +
* [http://web.cs.ucla.edu/~rosen/161/notes/alphabeta.html Minimax decision tree with alpha-beta pruning], a non-[https://www.safaribooksonline.com/library/view/ai-for-game/0596005555/ch11.html rules-based] approach to AI (used by [[Javelin]])
  
 
===Line of sight, field of vision===
 
===Line of sight, field of vision===
Line 211: Line 226:
 
* [[Complete Roguelike Tutorial, using python+libtcod, part 4|Using the libtcod library for FOV, and implementing fog-of-war]], part of the python+libtcod tutorial.
 
* [[Complete Roguelike Tutorial, using python+libtcod, part 4|Using the libtcod library for FOV, and implementing fog-of-war]], part of the python+libtcod tutorial.
 
* [http://www.evilscience.co.uk/?p=225 C# implementation of field of vision using recursive shadow casting]
 
* [http://www.evilscience.co.uk/?p=225 C# implementation of field of vision using recursive shadow casting]
 +
* [https://gist.github.com/zloedi/9551625 Grid based shadow casting / field of vision]
  
 
===Magic===
 
===Magic===
Line 242: Line 258:
 
* [[Scrolling map]]
 
* [[Scrolling map]]
 
* [[Line wrapping in C]]
 
* [[Line wrapping in C]]
 +
* [[Experience table generator]]
 +
* [[Protecting your story]]: How to distribute your story in the clear in a way that prevents someone snooping your code to read it all (useful mostly for OSS games)
 +
* Brief overview of [[DCSS]]' [http://crawl.develz.org/wordpress/webtiles-architecture webtiles architecture] for online play.
  
 
===Java Roguelike Development Guide===
 
===Java Roguelike Development Guide===

Latest revision as of 15:58, 26 September 2019

This is a listing of articles, arranged by subject.

Articles under "design" will help the developer make decisions about gameplay. Articles under "implementation" will help with algorithm design, and offer various methods of implementing features. Headings are arranged in a general chronological order of development. Large lists of ideas (items, spells, themes, etc.) are in bold.

Contents

[edit] Development

[edit] Fundamentals

[edit] Project management

Roguelike developments are complicated projects to handle; if you have weak goals, the project will slip out of your control and its success may be compromised.

[edit] Game modification

[edit] Communities

[edit] Design

[edit] General

[edit] Combat

[edit] Dungeons

[edit] Interface

[edit] Magic

[edit] Setting, story, and mood

[edit] Game ideas

Ideas for roguelikes are posted regularly on rgrd, but over time are forgotten. In an attempt to preserve the more interesting ideas these pages were created:

[edit] Implementation


[edit] Programming languages

RogueBasin has articles about these programming languages. That doesn’t mean that you can’t use other languages. The best language for your roguelike is the one you know well (or want to learn).

[edit] Portability

[edit] Extensibility

[edit] Map

[edit] Combat

[edit] AI

[edit] Line of sight, field of vision

[edit] Magic

[edit] Graphics

[edit] Sound

[edit] Time management

[edit] Useful algorithms and code

[edit] Java Roguelike Development Guide

A list of articles specific to Java roguelike development

[edit] Game reviews

May give some idea of what people like and don't like in other games.


[edit] Other

The original Dungeondweller articles are archived at [1]. Please do not move them to RogueBasin without permission from the original author.

There are more articles at [2]. Most of these are duplicates of articles here.

Personal tools