Difference between revisions of "Articles"

From RogueBasin
Jump to navigation Jump to search
(→‎AI: adding: Minimax decision tree with alpha-beta pruning)
(→‎Programming languages: Changed to generic BASIC.)
(9 intermediate revisions by 7 users not shown)
Line 67: Line 67:
* [[RL Terrain]]
* [[RL Terrain]]
* [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]
* [[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
* [[Basic BSP Dungeon generation]]
* [[Basic BSP Dungeon generation]]
* [[Basic directional dungeon generation]]
* [[Basic directional dungeon generation]]
* [[Template Dungeon themeing/generation]]


===Combat===
===Combat===
Line 110: Line 112:


==Implementation==
==Implementation==
* [[Ssh server]]
 
* [[Complete Roguelike Tutorial, using python+libtcod]]
* [[Complete Roguelike Tutorial, using python+libtcod]]
* [[Roguelike Tutorial, using Lua+libtcod]]
* [https://programmingbymoonlight.com/roguelike-intro/ New Roguelike Tutorial, using Lua+Gideros Mobile]
* [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]]
* [[Code design basics]]
* [[Portability Issues]]
* [[Things which are hard to code]]
* [[Language in Roguelikes]]
* [[Language in Roguelikes]]
* [[Things which are hard to code]]
* [[Portability Issues]]
* [[Code design basics]]
* [[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]]
* [[Haskell]]
* [[JavaScript]]
* [[Java]]
* [[Java]]
* [[JavaScript]]
* [[Lua]]
* [[Lua]]
* [[Python]]
* [[Python]]
* [[Ruby]]
* [[Ruby]]
* [[Common Lisp]]
* [[Haskell]]


=== Portability ===
=== Portability ===
Line 198: Line 203:
* [[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 218: Line 224:
* [[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===

Revision as of 15:31, 14 December 2017

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.

Development

Fundamentals

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.

Game modification

Communities

Design

Setting, story, and mood

Roleplaying

Dungeon features, terrain

Combat

Magic

Religion

Interface

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:

Implementation

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).

Portability

Extensibility

Map

Combat

AI

Line of sight, field of vision

Magic

Graphics

Sound

Time management

Useful algorithms and code

Java Roguelike Development Guide

A list of articles specific to Java roguelike development

Game reviews

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


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.