Difference between revisions of "Daedalus"
Hari Seldon (talk | contribs) |
(Add Grippy Socks) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Daedalus''' is | '''Daedalus''' is an open source maze generation program for Windows, authored by [[Walter Pullen]], and free software under [[GPL]]v2. It allows creating, solving, displaying, and analyzing mazes of numerous types and in many algorithms. Daedalus features a macro or scripting language that can access and drive all its features and settings. Therefore "Daedalus" can refer to either the program itself or the Daedalus programming language it implements. | ||
==Design of Daedalus== | ==Design of Daedalus== | ||
Daedalus is centered around bitmaps. It maintains a list of bitmap arrays, which many of its commands manipulate. For example, creating a | Daedalus is centered around bitmaps. It maintains a list of bitmap arrays, which many of its commands manipulate. For example, creating a maze places it in a bitmap (and usually in the bitmap currently being displayed on the screen). You can solve mazes created by other programs in Daedalus, by copy/pasting them as a bitmap or text into the program. The 3D first person perspective display of Daedalus is defined by a list of bitmaps: Where blocks are placed is stored in one bitmap, the color of each block is in another bitmap, the height of each block is in a third, the textures to display on the sides of blocks (and the texture maps themselves) are in other bitmaps, and so on. | ||
The Daedalus scripting language is centered around macros and events. Macros are like functions, and do sets of operations. Events call macros and are fired by the program when things happen, such as when a particular key is pressed, the mouse is moved or clicked, or when you move your viewing point (e.g. your character) from one square to another. | The Daedalus scripting language is centered around macros and events. Macros are like functions, and do sets of operations. Events call macros and are fired by the program when things happen, such as when a particular key is pressed, the mouse is moved or clicked, or when you move your viewing point (e.g. your character) from one square to another. | ||
Line 9: | Line 9: | ||
==Roguelike Specific Details== | ==Roguelike Specific Details== | ||
Daedalus makes a good language in which to quickly create roguelikes. It features various actions to easily do advanced operations seen in roguelikes, such as create | Daedalus makes a good language in which to quickly create roguelikes. It features various actions to easily do advanced operations seen in roguelikes, such as create mazes of various types, which allows games to be implemented in relatively small files. For example, with a single call it can create a Rogue or Nethack style dungeon with randomly positioned rooms, and randomly positioned passages connecting them. Its 3D engine allows producing roguelikes in 3D or 3D first person perspective. | ||
== Related links == | == Related links == | ||
Line 17: | Line 17: | ||
* {{stable}} [[Dragonslayer]] | * {{stable}} [[Dragonslayer]] | ||
* {{stable}} [[Hunger Games|The Hunger Games]] | * {{stable}} [[Hunger Games|The Hunger Games]] | ||
* {{stable}} [[Grippy Socks]] | |||
[[Category:Roguelike engines]] | [[Category:Roguelike engines]] |
Latest revision as of 21:01, 18 December 2023
Daedalus is an open source maze generation program for Windows, authored by Walter Pullen, and free software under GPLv2. It allows creating, solving, displaying, and analyzing mazes of numerous types and in many algorithms. Daedalus features a macro or scripting language that can access and drive all its features and settings. Therefore "Daedalus" can refer to either the program itself or the Daedalus programming language it implements.
Design of Daedalus
Daedalus is centered around bitmaps. It maintains a list of bitmap arrays, which many of its commands manipulate. For example, creating a maze places it in a bitmap (and usually in the bitmap currently being displayed on the screen). You can solve mazes created by other programs in Daedalus, by copy/pasting them as a bitmap or text into the program. The 3D first person perspective display of Daedalus is defined by a list of bitmaps: Where blocks are placed is stored in one bitmap, the color of each block is in another bitmap, the height of each block is in a third, the textures to display on the sides of blocks (and the texture maps themselves) are in other bitmaps, and so on.
The Daedalus scripting language is centered around macros and events. Macros are like functions, and do sets of operations. Events call macros and are fired by the program when things happen, such as when a particular key is pressed, the mouse is moved or clicked, or when you move your viewing point (e.g. your character) from one square to another.
Daedalus scripts are interpreted instead of compiled, like BASIC or JavaScript. That means Daedalus scripts are plain text, and easily edited. A Daedalus game can be programmed in Notepad or any other text editor, on any machine that can run Daedalus itself.
Roguelike Specific Details
Daedalus makes a good language in which to quickly create roguelikes. It features various actions to easily do advanced operations seen in roguelikes, such as create mazes of various types, which allows games to be implemented in relatively small files. For example, with a single call it can create a Rogue or Nethack style dungeon with randomly positioned rooms, and randomly positioned passages connecting them. Its 3D engine allows producing roguelikes in 3D or 3D first person perspective.