Difference between revisions of "Articles"

From RogueBasin
Jump to navigation Jump to search
(added external link to MMO Game Balance docs)
 
(9 intermediate revisions by 4 users not shown)
Line 78: Line 78:
* [[Roguelike Interface]]
* [[Roguelike Interface]]
* [[User interface features]]
* [[User interface features]]
* [[ASCII-Render Tree for Layouting in Dart]]


===Magic===
===Magic===
Line 117: Line 118:
* [[Roguelike Tutorial, using Lua+libtcod]]
* [[Roguelike Tutorial, using Lua+libtcod]]
* [https://programmingbymoonlight.com/roguelike-intro/ New Roguelike Tutorial, using Lua+Gideros Mobile]
* [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]]
* [[rot.js tutorial|Ananas aus Caracas: rot.js tutorial]]
* [[Code design basics]]
* [[Code design basics]]
Line 125: Line 125:
* [[Save Files]]
* [[Save Files]]
* [[Ssh server]]
* [[Ssh server]]
* [[System Architecture, the strategy to complex implementations]]




=== Programming languages ===
=== Programming languages ===
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).
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]]
* [[BASIC]]
Line 146: Line 145:
* [[Python]]
* [[Python]]
* [[Ruby]]
* [[Ruby]]
* [[Rust]]


=== Portability ===
=== Portability ===
Line 188: Line 188:
* [[Winding ways]]
* [[Winding ways]]
* [[Simple Rogue levels]]
* [[Simple Rogue levels]]
* [[Simple Rogue levels in Dart]]
* [[Random Zone Generation]]
* [[Random Zone Generation]]
* [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]]
 
* [[Camera View, Rotate, Trim and Pad a Map in Dart]]
* See also: [[:Category:WorldGeneration]]
* See also: [[:Category:WorldGeneration]]


Line 214: Line 215:
* [[Roguelike Intelligence|Roguelike Intelligence series of articles]]
* [[Roguelike Intelligence|Roguelike Intelligence series of articles]]
* [[Simple way to prevent jams of monsters with A*]]
* [[Simple way to prevent jams of monsters with A*]]
* [[The Incredible Power of Dijkstra Maps]]
* [[Tracking by Scent and Sound]]
* [[Tracking by Scent and Sound]]
* [[An Alternative Scent Implementation]]
* [[An Alternative Scent Implementation]]
Line 220: Line 220:
* [[Denizen Herding Behavior]]
* [[Denizen Herding Behavior]]
* [[Smart searching and Modeling the player with a "heatmap"]](Not finished)
* [[Smart searching and Modeling the player with a "heatmap"]](Not finished)
* [[The Incredible Power of Dijkstra Maps]]
* [[Dijkstra Maps Visualized]]
* [[Dijkstra Maps Visualized]]
* [[Dijkstra Map of Generic Map in Dart]]
* [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]])
* [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 259: Line 261:
* [[Weighted random generator]]
* [[Weighted random generator]]
* [[Scrolling map]]
* [[Scrolling map]]
* [[Line wrapping in C]]
* [[Experience table generator]]
* [[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)
* [[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)

Latest revision as of 14:20, 25 November 2023

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

General

Combat

Dungeons

Interface

Magic

Setting, story, and mood

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.