http://roguebasin.com/api.php?action=feedcontributions&user=Telamon&feedformat=atomRogueBasin - User contributions [en]2024-03-28T19:24:02ZUser contributionsMediaWiki 1.36.0http://roguebasin.com/index.php?title=RogueBasin_talk:Community_Portal&diff=4399RogueBasin talk:Community Portal2006-11-26T18:03:33Z<p>Telamon: Render Errors in IE7</p>
<hr />
<div>{{talkpagetool}}<br />
<br />
<table class="infobox" style="float:right;clear:right; width: 11em; border: 1px solid #93BACB; background:#E0E7EF;font-size:95%; margin:1em; line-height:1.4em;"><br />
<tr><br />
<th style="background:#C2D8EF; padding:.4em; margin:1em; font-size:105%">Archives</th><br />
</tr><br />
<tr><br />
<td><br />
* [[/Archive 1|1]]<br />
</td><br />
</tr><br />
</table><br />
<br />
== Organization ==<br />
<br />
I think that some of the organization is confusing. I propose the following layout:<br />
<br />
----<br />
Articles (See [[Articles]] for expanded. Categories should reflect that listing.)<br />
* Development [...]<br />
* Design [...]<br />
* Implementation [...] <br />
* Game reviews<br />
(additional article categories:)<br />
* Editable articles (will have 'original by' attribution as in [[Monster attacks]])<br />
* Locked articles (will have a message stating that the original author would not like the article edited)<br />
<br />
Games (Categories...)<br />
* Talkie-talkie projects<br />
* Unstable games (merge of alpha/beta games. Any game that isn't finished.)<br />
* Stable games (games that are "finished", as far as being fully playable. Includes 7DRLs and Major roguelikes as subcategories.)<br />
* 7DRLs (Stable games that are 7DRLs)<br />
* Major roguelikes (Stable games that are well-known)<br />
(an additional category:)<br />
* Defunct projects (any project that is dead, regardless of completedness)<br />
* Handheld roguelikes (any project or roguelike for cell phones or other handheld defices)<br />
* Roguelike engines (any project that includes or is a roguelike engine)<br />
(by similarity:)<br />
* Hacklikes (messagebox stating "this game is a [[Hacklike]]")<br />
* Bandlikes (messagebox stating "this game is a [[Bandlike]]")<br />
** Angband variants (messagebox stating "this game is an [[Angband variant]]")<br />
<br />
Listings (such as [[Monster attacks]], [[Preferred Key Controls]] - also to be included in [[Articles]] as bold entries)<br />
<br />
Definitions (Explanations of what a term means, and relevant information. [[:Category:Features]] includes many pages which are just explanations of what a term means.)<br />
<br />
Navigation pages shouldn't be categorized, unless they relate to a certain category (e.g. list of roguelikes and roguelike games).<br />
----<br />
As it is, many games are placed under 4 different categories. Major roguelikes are all stable, and so are all 7DRLs (that aren't in progress - if they are, I doubt the author would take the time to write an article here) - no need to add them under "stable" and "major roguelikes"/"7DRLs" (and "roguelike games" and etc.). At the very most, you'd have 3: development status, hacklike or bandlike, and if it's defunct/an engine/handheld. This means that all games under [[:Category:Roguelike games]] should be subcategorized. If you want a [[list of all roguelikes]], one exists.<br />
<br />
I propose that all categorization is done only through templates (for example, adding [[Template:Gameinfo]] automatically adds that page to [[:Category:Roguelike games]]). This would eliminate stray categories that have a single article under them (I've put [[:category:angband]] into [[:category:delete]]). There's no need to give every article on this site a category. It would also eliminate mis-categorized pages ([[:category:roguelike games]] should have a see also for pages like List of handheld roguelikes etc., but they shouldn't be classified as roguelike games.) By including, for example, <nowiki>{{defunct}}</nowiki>, a box that states "This game or project is [[defunct]]" would be displayed on the right, and the page would be added to [[:category:defunct projects]]. I'll implement the necissary templates if noone objects. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 01:47, 18 Sep 2006 (CEST)<br />
<br />
----<br />
I like most of your proposals. I am not sure about the idea of merging alpha and beta, many authors seem to like to be able to make that distinction. I would also be very careful to avoid the word finished with respect to stable games.--[[User:JeffLait|JeffLait]] 05:48, 18 Sep 2006 (CEST)<br />
<br />
: I'll make two seperate templates for alpha and beta. | Perhaps 'finishable' is the proper term. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 21:16, 18 Sep 2006 (CEST)<br />
<br />
"Articles in category "Roguelike games"" is the place where I - as a user - would look for a list of all games (independent of development status) and Warp Rogue does not show up there without this category. --[[User:Copx|Copx]] (moved from my page [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]])<br />
<br />
: Categories are typically used for navigation. I start at the very top with a something in mind, and work my way down. At the very top we might have a category called "main" or "all" or "information", or whatever. Yes, every article ''is'' "all" or "information", and I may expect to find every page of information on this wiki under that main category, but that doesn't mean that we should put our 500~ pages under that category. Same for the roguelike games category. A list of all roguelike games is much more suited to be, well, [[a list of all roguelike games]]. Now, if we ''did'' want all games to be placed under 'roguelike games', all we'd have to do is add the words <nowiki>[[category:roguelike games]]</nowiki> to the relevant templates, which appear on (ideally) ''all'' games (not just yours), and they would all be added to that category. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 01:37, 21 Sep 2006 (CEST)<br />
<br />
Finished categorization of games. The remaining pages in that category should be merged (do ports deserve their own pages?) and deleted or categorized in some way. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 04:30, 21 Sep 2006 (CEST)<br />
<br />
:I think you can safely merge all the NetHack ports into [[NetHack]]. --[[User:Kisielewicz|Kisielewicz]] 04:34, 21 Sep 2006 (CEST)<br />
<br />
Ok, done. I've merged a lot of small articles or navigation pages in the interests of keeping it simple. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 07:16, 21 Sep 2006 (CEST)<br />
<br />
== Graphical Map Template ==<br />
<br />
Looking at the [http://en.wikipedia.org/wiki/Template_talk:Chess_position Wikipedia's Chess Template] got me thinking whether articles describing dungeon generation and FOV could use something similar to display a graphical map instead of ASCII art.<br />
<br />
Something like:<br />
<br />
<pre><br />
{{dungeon<br />
|#|#|#|#|#|#|#|#|<br />
|#|.|.|.|.|.|.|#|<br />
|#|.|#|@|.|#|#|#|<br />
|#|#|#|.|.|.|.|+|<br />
|#|.|.|.|.|.|.|#|<br />
|#|#|#|#|#|#|#|#|<br />
}}<br />
</pre><br />
<br />
I'm new here, so I'd like my first real contributions to go smoothly. Would anyone object if I went ahead and implemented this?<br />
<br />
--[[User:Bruno|Bruno]] 01:44, 21 Sep 2006 (CEST)<br />
<br />
: Since this wiki is rather small, all good contributions are welcome, and all controversial contributions would only bring more activity to the wiki, and so are also welcome. As for the template, the easiest way is to just use <nowiki><pre></pre></nowiki> tags, or indent the map - unless you have graphical tiles in mind, which tend to vary (and screenshots are easier). If you're interested in templates and have the time, here's a problem: the single original template is now split based on dev. status. However, there are other minor... attributes: some games have [[:category:horror]] added to them, etc. You may have noticed that I've added some [[:category:templates|templates]] like "this game is an angband variant" and "this game is a coffeebreak roguelike" (which is actually an incomplete replacement for the "game length" attribute). We don't want to say "this is a fantasy roguelike" + "this is a horror roguelike" + "this is a coffeebreak roguelike" etc. on many games. So is there a simple way to do this categorization with templates, or will users have to unreliably just add the categories themselves? [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 02:31, 21 Sep 2006 (CEST)<br />
<br />
:: If I understand your problem correctly, you should just be able to add <nowiki>[[Category:Coffeebreak roguelikes]] or [[Category:Horror roguelikes]]</nowiki> to the appropriate templates so that the pages including them will be automatically included in those categories. As for the proposed dungeon template, yes it would be graphical. It would not be intended as a "screenshot" to preview a game, but would be used to graphically demonstrate map-related algorithms. --[[User:Bruno|Bruno]] 03:03, 21 Sep 2006 (CEST)<br />
<br />
::: Ah, yes. Sure, why not? - but do make sure that it's square and perhaps of a large (or a variety of) sizes. Have a look at how it would be used in the algorithm pages, if you havn't already. | I've added those categories. The problem is that we don't want "this game was developed by X" "this game was released in 2003" etc. - we just want to use a regular template, but if someone enters "fantasy, horror" for "|theme=", it adds the game to those relevant categories. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 03:58, 21 Sep 2006 (CEST)<br />
<br />
== Locked pages ==<br />
<br />
...are annoying. Here's what I'd like to have changed: (hit the edit button for a better view)<br />
<br />
----<br />
The [[RogueBasin]] is a central [[articles|knowledge-base]] for everything related to the [[What a roguelike is|Roguelike]] genre, as well as a detailed [[:category:roguelike games|directory of Roguelike games]]. <br />
<br />
<div style="text-align:center;"><b><br />
[[Articles|Articles]] &middot; [[:category:roguelike games|Games]] &middot; [[RogueBasin talk:Community Portal|Community]] &middot; [[Roguelike Links|Links]]<br />
</b></div><br />
<br />
[...]<br />
<br />
Of course, the best way to understand what a Roguelike is is to download and play one.<br />
<br />
[...] The following may help you find out more:<br />
<br />
*[[:category:roguelike games|Categorized games]]<br />
*[[list of roguelikes|Lists of games]]<br />
*[[Major roguelikes]]<br />
*[[Roguelike Reviews]] <br />
<br />
[...]<br />
If you have some ideas for a new Roguelike and would like to give development a go (or are already a [[developers|seasoned developer]]) the RogueBasin is here to help you expand the Roguelike genre. A [[articles|complete list of articles]] is available, but here are some to get you started:<br />
<br />
* [[Roguelike Dev FAQ]]<br />
* [[How to Write a Roguelike Game in 15 Steps]]<br />
* [[:Category:Events|Events]]<br />
* [[7DRL]]<br />
* [[rgrd]]<br />
<br />
[add this title under the current titles:]<br />
<br />
==Contribute==<br />
One of the easiest ways to contribute is to add your name to the [[RGRD Wiki Project]]. Simply post a message on [[rgrd]] stating that you'd like to participate, and what you agree to. [Alternatively, send an email to [if someone wants to get these?]. ] If one of us happens to see a relevant post by you, we'll upload it to this wiki as an article.<br />
<br />
If you'd like to contribute to RogueBasin directly, [blah blah blah how to set up an account]. Feel very free to edit! However, changes to navigation, categorization, or the templates (since they affect many pages) should first be discussed on the [[RogueBasin talk:Community Portal|Community portal]]. We especially need more information added to the [[:category:roguelike games|games pages]] and the [[list of roguelike games|lists]] - if you're a developer, consider updating your game's page, and making sure that it (and you) are included in the relevant lists.<br />
<br />
----<br />
Redirect the community portal page to here (it's now fully redundant to the main page). Redirect the main page talk to here, move its contents to near the top of this page. That should encourage people to post something here, and then go on to contributing. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 07:51, 21 Sep 2006 (CEST)<br />
<br />
The problem is that this might destroy the purpose of why they are locked in the first place :P (Spam). Okay, I'll unlock them, and you'll set up the redirects. --[[User:Kisielewicz|Kisielewicz]] 12:19, 21 Sep 2006 (CEST)<br />
<br />
They now redirect, and may be re-locked. Could you (or anyone who can) add my above changes to the main page? [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 22:34, 21 Sep 2006 (CEST)<br />
<br />
We'll try to unlock the main page too. Alarm me if spam or vandalism occurs. --[[User:Kisielewicz|Kisielewicz]] 19:02, 23 Sep 2006 (CEST)<br />
<br />
== Standardization ==<br />
<br />
'Roguelikes' or 'roguelike games'? 'Projects' or 'games' (as in beta projects/stable games)? And other issues of standardized naming. I prefer not using 'projects', favoring 'games' and 'engines'. To be consistant, I would call the games category 'games', since roguelike is the only type we have, and because I don't want 'stable roguelike games', which would be the natural subcategory. [[User:M|<b><i>[[User:M|&ndash;M]]<sup>[[User_talk:M|T]]</sup></i></b>]] 00:53, 24 Sep 2006 (CEST)<br />
:*Aye, I think we need a standard way of saying either 'roguelikes' or 'roguelike games', just to be consistent. 'Roguelikes' would be my preferred choice, because it's shorter and I don't think the 'games' part is necessary.<br />
:*I think the idea with 'projects'/'games' is that while the roguelike is in development it is not complete and shouldn't be considered as a game yet, so it is a project. Something needs to be done about 'defunct games' though. It's referred to as 'defunct games' in places and 'defunct projects' in some places. Maybe everything could be renamed to things like 'Beta roguelikes', 'Stable roguelikes', 'Defunct roguelikes', etc.<br />
:*Also, this page is getting long, anyone mind if I archive some of the comments?<br />
:[[User:Icey|Icey]] 18:48, 30 Sep 2006 (CEST)<br />
<br />
:*'Roguelike games' is redundant, IMO. Stick with 'Roguelikes'.<br />
:*I agree. Alpha projects are the beginnings of a roguelike, Beta projects are playable versions of the game that are still incomplete, Defunct projects are ones that got left off somewhere between alpha and beta, and Stable games are the ones that are basically done and are just fixing bugs. Also, about Defunct games vs. projects...defunct games are games that are complete but forgotten about and rarely played. Defunct projects are defined in my first sentence. And no, I don't think we should use the generic term 'roguelike' when referring to these. There's a big enough difference between a game and a project that the wording is important.<br />
:*Go for it. A lot of the early stuff is irrelevant now anyway.<br />
<br />
:Also, here's another idea I have for naming. How about if we renamed "Talkie-talkie projects" to "Shockfrost projects"?<br />
:[[User:Gamer 2k4|[[User:Gamer_2k4|Gamer_2k4]]<b><sup>[[User_talk:Gamer_2k4|Talk]]</sup></b>]] 01:40, 30 Oct 2006 (CET)<br />
::I'm not keen on that idea. I don't know much about Roguelikes, but I've never heard of Shockfrost and never heard anyone use it in refering to a project. Is Shockfrost a roguelike? I don't know. Also, you don't give a reason for changing the name, so my vote would be for no. [[User:Icey|Icey]] 21:28, 30 Oct 2006 (CET)<br />
::: Shockfrost was a guy who entered r.g.r.d. guns blazing and had a lot of ideas for a game he never made. He dissapeared mysteriously in the shadows.--[[User:Slash|Slash]] 20:36, 31 Oct 2006 (CET)<br />
:::: I understand now, thanks for the explanation Slash. [[User:Icey|Icey]] 23:03, 31 Oct 2006 (CET)<br />
:: I vote for a 'no', it is just unfair to the projects ;) shockfrost games are born dead, while ours may see the light someday soon! --[[User:Slash|Slash]] 20:36, 31 Oct 2006 (CET)<br />
::: Here's a few alternative names:<br />
::: * Discussed Projects (doesn't imply there is one person working on it, so probably a bad choice)<br />
::: * Unreleased Projects (hmm kinda implies something has been made, so probably bad as well)<br />
::: * Planned Projects (oooh alliteration and it sounds positive, without implying there is something created)<br />
::: * Outlined Projects (similar to above)<br />
::: * Pre-alpha Projects (also sounds positive, implies it is starting the journey along the development stage)<br />
::: * Couldn't Really Appear Projects (well, maybe not)<br />
::: [[User:Icey|Icey]] 23:03, 31 Oct 2006 (CET)<br />
<br />
== Render Errors in IE7 ==<br />
<br />
Just a heads up, this wiki looks pretty ratty in IE7. There's some formatting issues. I personally have no patience for rendering differences between browsers, its a real pain in the ass.</div>Telamonhttp://roguebasin.com/index.php?title=Witherwyn:_Adventures_in_the_Infinite_Realm&diff=10007Witherwyn: Adventures in the Infinite Realm2006-11-13T22:41:48Z<p>Telamon: </p>
<hr />
<div>{{game-alpha| name = Witherwyn<br />
|developer = [[John Shedletsky]]<br />
|released = Aug 20, 2005<br />
|updated = Sept 6, 2005<br />
|status = [[Alpha]]<br />
|licensing = Free for non-commercial use<br />
|language = [[C Sharp|C#]]<br />
|platforms = .Net<br />
|genre = Fantasy<br />
|interface = [[Graphical tiles]], mouse<br />
|site = http://www.shedletsky.com/jjshed/witherwyn<br />
}}<br />
<br />
http://www.shedletsky.com/jjshed/blog/pics/witherwyncontext.png<br />
<br />
== About ==<br />
<br />
Witherwyn is a roguelike in the early stages of development by [[John Shedletsky]]. The focus of this project is to develop a graphical roguelike with an intuitive user interface that does not require the user to memorize several hundred key combos, learn to use a macro language, or constantly refer to external help files.<br />
<br />
Witherwyn is the spiritual descendant of such great games as [http://en.wikipedia.org/wiki/Castle_of_the_Winds Castle of the Winds] and [http://en.wikipedia.org/wiki/Yoda_Stories Yoda Stories].<br />
<br />
Witherwyn is written in C#. It's source is freely available.<br />
<br />
== Game related links ==<br />
[http://www.shedletsky.com/jjshed/witherwyn Witherwyn Development Log]<br />
<br />
== User Feedback ==<br />
<br />
Feel free to post any comments or criticisms of Witherwyn here (keeping in mind the Alpha-ness of this project).</div>Telamonhttp://roguebasin.com/index.php?title=Witherwyn:_Adventures_in_the_Infinite_Realm&diff=4357Witherwyn: Adventures in the Infinite Realm2006-11-13T22:41:26Z<p>Telamon: </p>
<hr />
<div>{{game-alpha| name = Witherwyn<br />
|developer = [[John Shedletsky]]<br />
|released = Aug 20, 2005<br />
|updated = Sept 6, 2005<br />
|status = [[Alpha]]<br />
|licensing = Free for non-commercial use<br />
|language = [[C Sharp|C#]]<br />
|platforms = .Net<br />
|genre = Fantasy<br />
|interface = [[Graphical tiles]], mouse<br />
|site = http://www.stanford.edu/~jjshed/witherwyn<br />
}}<br />
<br />
http://www.shedletsky.com/jjshed/blog/pics/witherwyncontext.png<br />
<br />
== About ==<br />
<br />
Witherwyn is a roguelike in the early stages of development by [[John Shedletsky]]. The focus of this project is to develop a graphical roguelike with an intuitive user interface that does not require the user to memorize several hundred key combos, learn to use a macro language, or constantly refer to external help files.<br />
<br />
Witherwyn is the spiritual descendant of such great games as [http://en.wikipedia.org/wiki/Castle_of_the_Winds Castle of the Winds] and [http://en.wikipedia.org/wiki/Yoda_Stories Yoda Stories].<br />
<br />
Witherwyn is written in C#. It's source is freely available.<br />
<br />
== Game related links ==<br />
[http://www.shedletsky.com/jjshed/witherwyn Witherwyn Development Log]<br />
<br />
== User Feedback ==<br />
<br />
Feel free to post any comments or criticisms of Witherwyn here (keeping in mind the Alpha-ness of this project).</div>Telamonhttp://roguebasin.com/index.php?title=Witherwyn:_Adventures_in_the_Infinite_Realm&diff=4356Witherwyn: Adventures in the Infinite Realm2006-11-13T22:40:55Z<p>Telamon: /* Game related links */</p>
<hr />
<div>{{game-alpha| name = Witherwyn<br />
|developer = [[John Shedletsky]]<br />
|released = Aug 20, 2005<br />
|updated = Sept 6, 2005<br />
|status = [[Alpha]]<br />
|licensing = Free for non-commercial use<br />
|language = [[C Sharp|C#]]<br />
|platforms = .Net<br />
|genre = Fantasy<br />
|interface = [[Graphical tiles]], mouse<br />
|site = http://www.stanford.edu/~jjshed/witherwyn<br />
}}<br />
<br />
http://www.stanford.edu/~jjshed/blog/pics/witherwyncontext.png<br />
<br />
== About ==<br />
<br />
Witherwyn is a roguelike in the early stages of development by [[John Shedletsky]]. The focus of this project is to develop a graphical roguelike with an intuitive user interface that does not require the user to memorize several hundred key combos, learn to use a macro language, or constantly refer to external help files.<br />
<br />
Witherwyn is the spiritual descendant of such great games as [http://en.wikipedia.org/wiki/Castle_of_the_Winds Castle of the Winds] and [http://en.wikipedia.org/wiki/Yoda_Stories Yoda Stories].<br />
<br />
Witherwyn is written in C#. It's source is freely available.<br />
<br />
== Game related links ==<br />
[http://www.shedletsky.com/jjshed/witherwyn Witherwyn Development Log]<br />
<br />
== User Feedback ==<br />
<br />
Feel free to post any comments or criticisms of Witherwyn here (keeping in mind the Alpha-ness of this project).</div>Telamonhttp://roguebasin.com/index.php?title=Developers&diff=1311Developers2005-09-09T17:21:02Z<p>Telamon: /* S */</p>
<hr />
<div>This is an alphabetical list of roguelike '''developers''', ordered by last name when they've got one, or by nickname.<br />
{| id="toc" border="0"<br />
! {{MediaWiki:Toc}}:<br />
| [[#0-9|0-9]] [[#A|A]] [[#B|B]] [[#C|C]] [[#D|D]] [[#E|E]] [[#F|F]] [[#G|G]] [[#H|H]] [[#I|I]] [[#J|J]] [[#K|K]] [[#L|L]] [[#M|M]] [[#N|N]] [[#O|O]] [[#P|P]] [[#Q|Q]] [[#R|R]] [[#S|S]] [[#T|T]] [[#U|U]] [[#V|V]] [[#W|W]] [[#X|X]] [[#Y|Y]] [[#Z|Z]]<br /><br />
[[#Related topics|Related topics]]<br />
__NOTOC__<br />
|}<br />
<br />
== The people ==<br />
<br />
=== A ===<br />
* [[ABCGi]] (''[[Beyond]]'')<br />
* [[Ashiz Alibhai]]<br />
* [[Antoine]] (''[[Guild]]'')<br />
* [[Ken Arnold]] (''[[Rogue]]'')<br />
* [[Andy Astrand]] (''[[Angband]]'')<br />
<br />
=== B ===<br />
* [[Thomas Biskup]] (''[[ADOM]]'')<br />
* [[Björn Bergström]] (''[[Dweller]]'')<br />
* [[Eric Bock]] (''[[Rangband]]'', ''[[Zceband]]'')<br />
* [[D. Brodale]]<br />
<br />
=== C ===<br />
* [[copx]] (''[[Tower of Doom]]'')<br />
* [[Alex Cutler]] (''[[Angband]]'')<br />
<br />
=== D ===<br />
* [[David Damerell]]<br />
* [[DarkGod]] (''[[ToME]]'', ''[[ToMENET]]'', ''[[T-Engine]]'')<br />
* [[Ddragoon]]<br />
* [[Jakub Debski]] (''[[Xenocide]]'', ''[http://www.alamak0ta.republika.pl/br-win.zip Bomberrogue]'')<br />
* [[The DevTeam]] (''[[NetHack]]'')<br />
* [[Ray Dillinger]]<br />
* [[Joseph William Dixon]] (''[[Gumband]]'')<br />
* [[Andy Driver]] (''[[JRR]]'')<br />
<br />
=== E ===<br />
<br />
=== F ===<br />
<br />
=== G ===<br />
* [[David Gentle]]<br />
<br />
=== H ===<br />
* [[Ben Harrison]] (''[[Angband]]'')<br />
* [[R Dan Henry]] (''[[Dangband]]'', ''[[Gumband]]'', ''Prototype'')<br />
* [[Linley Henzell]] (''[[Crawl]]'')<br />
* [[Heroic Adventure]]<br />
* [[Joseph Hewitt]] (''[[DeadCold]]'', ''[[Dungeon Monkey]], ''[[GearHead]]'', ''[[GearHead 2]]'')<br />
* [[Geoff Hill]] (''[[Angband]]'')<br />
* [[Mark 'Kamikaze' Hughes]] (''[[Noctyr]]'')<br />
* [[Simen Endsj? Haugen]]<br />
<br />
=== I ===<br />
<br />
=== J ===<br />
* [[JimmyB]] (or [[jimrandomh]]) (''[[CalcRogue]]'')<br />
<br />
=== K ===<br />
* [[konijn]]<br />
* [[Kornel Kisielewicz]] (''[[Carceri]]'', ''[[DiabloRL]], ''[[DoomRL]], ''[[GenRogue]])<br />
* [[Robert Alan Koeneke]] (''[[VMS Moria]]'')<br />
* [[Kostatus]]<br />
* [[Krice]]<br />
* [[Gero Kunter]] (''[[Shuruppak]]'')<br />
<br />
=== L ===<br />
* [[Jeff Lait]] (''[[POWDER]]'', ''[[You Only Live Once]]'')<br />
* [[LeonTorres]]<br />
<br />
=== M ===<br />
* [[Hansjoerg Malthener]] (''[[H-World]]'')<br />
* [[Leon Marrick]] (''[[Oangband]]'')<br />
* [[Sean Marsh]] (''[[Angband]]'')<br />
* [[Gary D. McAdoo]] (''[[VMS Moria]]'')<br />
* [[R. Alan Monroe]]<br />
<br />
=== N ===<br />
* [[Mark A. Nicolosi]] ("I've finally got a little '@' walking around the screen")<br />
* [[NIm]]<br />
<br />
=== O ===<br />
<br />
=== P ===<br />
* [[Pfhoenix]] (''[[Adeo]]'')<br />
<br />
=== Q ===<br />
<br />
=== R ===<br />
* [[Martin Read]] (''[[Martin's Dungeon Bash]]'')<br />
* [[Chris Reuter]] (''[[Quest for Pants]]'', entry for [[the 7DRL Contest]])<br />
* [[Brent Richie]]<br />
* [[Robert Ruehlmann]] (''[[Angband]]'')<br />
<br />
=== S ===<br />
* [[Anthony Sequitar]]<br />
* [[Tom Seufert]] (''[[SimpleGame]]'')<br />
* [[John Shedletsky]] (''[[Witherwyn: Adventures in the Infinite Realm]]'')<br />
* [[The Sheep]] (''[[Z-Day]]'')<br />
* [[ShockFrost]]<br />
* [[Larry Smith]]<br />
* [[Jim Strathmeyer]]<br />
* [[Charles Swiger]] (''[[Angband]]'')<br />
* [[SZDev|SZDev-Slash]] (''[[Guardian Angel]]'', ''[[CastlevaniaRL]]'')<br />
<br />
=== T ===<br />
* [[Charles Teague]] (''[[Angband]]'')<br />
* [[Thijs can Ommen]]<br />
* [[Jimmey Wayne Todd Jr.]] (''[[VMS Moria]]'')<br />
* [[Michael Toy]] (''[[Rogue]]'')<br />
* [[Twisted One]] (or [[Neo]])<br />
<br />
=== U ===<br />
<br />
=== V ===<br />
* [[Antonio Vazquez]] (''[[GAME]]'')<br />
<br />
=== W ===<br />
* [[Amy Wang]]<br />
* [[Glen Wheeler]]<br />
* [[Glenn Wichman]] (''[[Rogue]]'')<br />
* [[Ken Wigle]] (''[[Kangband]]'')<br />
* [[James E. Wilson]] (''[[Umoria]]'')<br />
* [[Martin Woodward]] (''[[Tombs]]'')<br />
<br />
=== Y ===<br />
* [[Topi Ylinen]] (''[[Zangband]]'')<br />
<br />
=== Z ===<br />
* [[The Zangband Devteam]] (''[[Zangband]]'')<br />
* [[Vasilis Zoumpourlis]]<br />
<br />
== Related topics ==<br />
[[Category:Developers|*]]</div>Telamonhttp://roguebasin.com/index.php?title=Developers&diff=964Developers2005-09-09T17:20:44Z<p>Telamon: /* J */</p>
<hr />
<div>This is an alphabetical list of roguelike '''developers''', ordered by last name when they've got one, or by nickname.<br />
{| id="toc" border="0"<br />
! {{MediaWiki:Toc}}:<br />
| [[#0-9|0-9]] [[#A|A]] [[#B|B]] [[#C|C]] [[#D|D]] [[#E|E]] [[#F|F]] [[#G|G]] [[#H|H]] [[#I|I]] [[#J|J]] [[#K|K]] [[#L|L]] [[#M|M]] [[#N|N]] [[#O|O]] [[#P|P]] [[#Q|Q]] [[#R|R]] [[#S|S]] [[#T|T]] [[#U|U]] [[#V|V]] [[#W|W]] [[#X|X]] [[#Y|Y]] [[#Z|Z]]<br /><br />
[[#Related topics|Related topics]]<br />
__NOTOC__<br />
|}<br />
<br />
== The people ==<br />
<br />
=== A ===<br />
* [[ABCGi]] (''[[Beyond]]'')<br />
* [[Ashiz Alibhai]]<br />
* [[Antoine]] (''[[Guild]]'')<br />
* [[Ken Arnold]] (''[[Rogue]]'')<br />
* [[Andy Astrand]] (''[[Angband]]'')<br />
<br />
=== B ===<br />
* [[Thomas Biskup]] (''[[ADOM]]'')<br />
* [[Björn Bergström]] (''[[Dweller]]'')<br />
* [[Eric Bock]] (''[[Rangband]]'', ''[[Zceband]]'')<br />
* [[D. Brodale]]<br />
<br />
=== C ===<br />
* [[copx]] (''[[Tower of Doom]]'')<br />
* [[Alex Cutler]] (''[[Angband]]'')<br />
<br />
=== D ===<br />
* [[David Damerell]]<br />
* [[DarkGod]] (''[[ToME]]'', ''[[ToMENET]]'', ''[[T-Engine]]'')<br />
* [[Ddragoon]]<br />
* [[Jakub Debski]] (''[[Xenocide]]'', ''[http://www.alamak0ta.republika.pl/br-win.zip Bomberrogue]'')<br />
* [[The DevTeam]] (''[[NetHack]]'')<br />
* [[Ray Dillinger]]<br />
* [[Joseph William Dixon]] (''[[Gumband]]'')<br />
* [[Andy Driver]] (''[[JRR]]'')<br />
<br />
=== E ===<br />
<br />
=== F ===<br />
<br />
=== G ===<br />
* [[David Gentle]]<br />
<br />
=== H ===<br />
* [[Ben Harrison]] (''[[Angband]]'')<br />
* [[R Dan Henry]] (''[[Dangband]]'', ''[[Gumband]]'', ''Prototype'')<br />
* [[Linley Henzell]] (''[[Crawl]]'')<br />
* [[Heroic Adventure]]<br />
* [[Joseph Hewitt]] (''[[DeadCold]]'', ''[[Dungeon Monkey]], ''[[GearHead]]'', ''[[GearHead 2]]'')<br />
* [[Geoff Hill]] (''[[Angband]]'')<br />
* [[Mark 'Kamikaze' Hughes]] (''[[Noctyr]]'')<br />
* [[Simen Endsj? Haugen]]<br />
<br />
=== I ===<br />
<br />
=== J ===<br />
* [[JimmyB]] (or [[jimrandomh]]) (''[[CalcRogue]]'')<br />
<br />
=== K ===<br />
* [[konijn]]<br />
* [[Kornel Kisielewicz]] (''[[Carceri]]'', ''[[DiabloRL]], ''[[DoomRL]], ''[[GenRogue]])<br />
* [[Robert Alan Koeneke]] (''[[VMS Moria]]'')<br />
* [[Kostatus]]<br />
* [[Krice]]<br />
* [[Gero Kunter]] (''[[Shuruppak]]'')<br />
<br />
=== L ===<br />
* [[Jeff Lait]] (''[[POWDER]]'', ''[[You Only Live Once]]'')<br />
* [[LeonTorres]]<br />
<br />
=== M ===<br />
* [[Hansjoerg Malthener]] (''[[H-World]]'')<br />
* [[Leon Marrick]] (''[[Oangband]]'')<br />
* [[Sean Marsh]] (''[[Angband]]'')<br />
* [[Gary D. McAdoo]] (''[[VMS Moria]]'')<br />
* [[R. Alan Monroe]]<br />
<br />
=== N ===<br />
* [[Mark A. Nicolosi]] ("I've finally got a little '@' walking around the screen")<br />
* [[NIm]]<br />
<br />
=== O ===<br />
<br />
=== P ===<br />
* [[Pfhoenix]] (''[[Adeo]]'')<br />
<br />
=== Q ===<br />
<br />
=== R ===<br />
* [[Martin Read]] (''[[Martin's Dungeon Bash]]'')<br />
* [[Chris Reuter]] (''[[Quest for Pants]]'', entry for [[the 7DRL Contest]])<br />
* [[Brent Richie]]<br />
* [[Robert Ruehlmann]] (''[[Angband]]'')<br />
<br />
=== S ===<br />
* [[Anthony Sequitar]]<br />
* [[Tom Seufert]] (''[[SimpleGame]]'')<br />
* [[The Sheep]] (''[[Z-Day]]'')<br />
* [[ShockFrost]]<br />
* [[Larry Smith]]<br />
* [[Jim Strathmeyer]]<br />
* [[Charles Swiger]] (''[[Angband]]'')<br />
* [[SZDev|SZDev-Slash]] (''[[Guardian Angel]]'', ''[[CastlevaniaRL]]'')<br />
<br />
=== T ===<br />
* [[Charles Teague]] (''[[Angband]]'')<br />
* [[Thijs can Ommen]]<br />
* [[Jimmey Wayne Todd Jr.]] (''[[VMS Moria]]'')<br />
* [[Michael Toy]] (''[[Rogue]]'')<br />
* [[Twisted One]] (or [[Neo]])<br />
<br />
=== U ===<br />
<br />
=== V ===<br />
* [[Antonio Vazquez]] (''[[GAME]]'')<br />
<br />
=== W ===<br />
* [[Amy Wang]]<br />
* [[Glen Wheeler]]<br />
* [[Glenn Wichman]] (''[[Rogue]]'')<br />
* [[Ken Wigle]] (''[[Kangband]]'')<br />
* [[James E. Wilson]] (''[[Umoria]]'')<br />
* [[Martin Woodward]] (''[[Tombs]]'')<br />
<br />
=== Y ===<br />
* [[Topi Ylinen]] (''[[Zangband]]'')<br />
<br />
=== Z ===<br />
* [[The Zangband Devteam]] (''[[Zangband]]'')<br />
* [[Vasilis Zoumpourlis]]<br />
<br />
== Related topics ==<br />
[[Category:Developers|*]]</div>Telamonhttp://roguebasin.com/index.php?title=RogueBasin_talk:Community_Portal&diff=965RogueBasin talk:Community Portal2005-09-09T17:18:09Z<p>Telamon: </p>
<hr />
<div>== Image support ==<br />
<br />
I thought it would be a good idea to start a RL Dev section where people could peruse and download free RL media resources, like tiles and sound files. I went ahead and created the catagory, then realized that I don't know how to post images to RogueBasin. I haven't noticed any others here, so maybe they are disabled?<br />
<br />
My original plan was the upload the NetHack and Angband tilesets I have, along with a number of individual tiles I drew for my own game. Hopefully the repository would grow over time, so if you were writing a graphical RL and wanted a tile of X, you could just come get one.<br />
<br />
== More articles ==<br />
<br />
There are a lot of RL dev articles at: http://roguelikedevelopment.org/<br />
<br />
Perhaps we should email the original authors to get permission to replicate them here. If the above site were to disappear from the internet, all those articles would be lost. [[John Shedletsky]]<br />
<br />
== Place to discuss Rogue Basin ==<br />
<br />
It would be nice to have a place where we could talk about this site, discuss what you be done, etc. Any suggestions how it could be named? - [[User:Poulpy|Poulpy]] 03:29, 22 May 2005 (CEST)<br />
<br />
---- <br />
Perhaps we could name it 'The roguebasin forum'? :p<br />
<br />
<br />
see http://peltkore.net/~szdev/boards --[[User:Slash|Slash]] 22:42, 25 Aug 2005 (CEST)<br />
<br />
== Wikipedia Merge ==<br />
<br />
I strongly disagree with the idea of merging with Wikipedia. RogueBasin is much more than an encyclopedia. I suggest that this item gets removed from the TO-DO list --[[User:Copx|Copx]] 13:52, 13 Jul 2005 (CEST)<br />
<br />
Not to mention that the WikiPedia folks would probably remove it, as we are not really an encyclopedia and not within the scope of WikiPedia's concerns (preserving human knowledge ect ect) [[John Shedletsky]]<br />
<br />
== Reviews removal ==<br />
<br />
I think we should remove the reviews entirely. --[[User:JeffLait|JeffLait]] 21:39, 25 Aug 2005 (CEST)<br />
<br />
Why is everyone so into removing things from RogueBasin? Why not just let it grow naturally to address the interests of those who spend the time to edit it? [[User:John Shedletsky|John Shedletsky]]<br />
<br />
I, for one, think that the removal of the spam was a good thing. Even if the spammers had spent the time to edit it. Pruning is an important part of developing this site in a healthy direction. I want this to be a useful resource, not a collection of half-implemented things. --[[User:JeffLait|JeffLait]] 16:54, 6 Sep 2005 (CEST)<br />
<br />
== Categories done wrong ==<br />
<br />
I think the [[Categories]] page is done wrong. We have here roguelikes categorized by development state, alphabetically, by year, by theme, by evolutionary branch, and by special categories. All of these are useful, but the problem is that they are not correlated, i.e. not every roguelike appears in all lists it should. I think a much better solution would be a single table which lists all this information for each roguelike. (It should be possible to create a table somehow, right? Wikipedia has some tables.) I don't know much about wikis, but maybe it would be also possible to create a script that would e.g. sort the table according to one of properties. --[[User:R|R]] 19:47, 4 Sep 2005 (CEST)<br />
<br />
I think the right answer is a more consistent use of the Category tag. That seems to auto-generate the relevant categories, rather than having to edit the master list every time. For example, POWDER has the Stable Game tag so shows up under Stable Games without the need to edit the list of the Stable Games and keep it alphabetical, etc. Thus, I'd rather see the existing [[Categories]] be rolled into that. For example, why do we have a master list of Fantasy, Sci-Fi, as *well* as a Futuristic Roguelike category? --[[User:JeffLait|JeffLait]] 16:50, 6 Sep 2005 (CEST)</div>Telamonhttp://roguebasin.com/index.php?title=Roguelike_Development&diff=1037Roguelike Development2005-09-09T15:51:31Z<p>Telamon: /* Free Media for Roguelike Games */</p>
<hr />
<div>* [[Project Management]]<br />
* [[Technical Concepts]]<br />
* [[Algorithms and structures]]<br />
* [[Gameplay]]<br />
* [[User Interface]]<br />
* [[Modeling]]<br />
* [[The Development Process]]<br />
<br />
== Free Media for Roguelike Games ==<br />
<br />
* [[Tiles]]<br />
* [[Other Art]]<br />
* [[Sounds]]<br />
<br />
== Communities ==<br />
* [[rgrd]]<br />
<br />
== Related Links ==<br />
* [http://www.roguelikedevelopment.org/ Dungeondweller] - Roguelike development resources<br />
* [http://www-cs-students.stanford.edu/~amitp/gameprog.html Amit’s Game Programming Information] - General game programming information<br />
* [http://library.simugraph.com/ Simugraph game development library] - Roguelike/cRPG articles</div>Telamonhttp://roguebasin.com/index.php?title=Roguelike_Development&diff=961Roguelike Development2005-09-09T15:51:04Z<p>Telamon: added == Free Media for Roguelike Games ==</p>
<hr />
<div>* [[Project Management]]<br />
* [[Technical Concepts]]<br />
* [[Algorithms and structures]]<br />
* [[Gameplay]]<br />
* [[User Interface]]<br />
* [[Modeling]]<br />
* [[The Development Process]]<br />
<br />
== Free Media for Roguelike Games ==<br />
<br />
* [[Tiles]]<br />
* [[Sounds]]<br />
<br />
== Communities ==<br />
* [[rgrd]]<br />
<br />
== Related Links ==<br />
* [http://www.roguelikedevelopment.org/ Dungeondweller] - Roguelike development resources<br />
* [http://www-cs-students.stanford.edu/~amitp/gameprog.html Amit’s Game Programming Information] - General game programming information<br />
* [http://library.simugraph.com/ Simugraph game development library] - Roguelike/cRPG articles</div>Telamonhttp://roguebasin.com/index.php?title=Vapourware&diff=1062Vapourware2005-09-09T15:45:11Z<p>Telamon: </p>
<hr />
<div>'''Vaporware''' (also spelt '''vapourware''') is software or hardware which is <br />
announced by a developer well in advance of release, but which then fails to emerge, either with or without a protracted development cycle. The term implies deception, or at least a negligent degree of optimism; that is, it implies that the ''announcer'' knows that product development is in too early a stage to support responsible statements about its completion date, feature set, or even feasibility.</div>Telamonhttp://roguebasin.com/index.php?title=Witherwyn:_Adventures_in_the_Infinite_Realm&diff=1151Witherwyn: Adventures in the Infinite Realm2005-09-06T13:23:56Z<p>Telamon: </p>
<hr />
<div>== About ==<br />
<br />
Witherwyn is a roguelike in the early stages of development by [[John Shedletsky]]. The focus of this project is to develop a graphical roguelike with an intuitive user interface that does not require the user to memorize several hundred key combos, learn to use a macro language, or constantly refer to external help files.<br />
<br />
Witherwyn is the spiritual descendant of such great games as [http://en.wikipedia.org/wiki/Castle_of_the_Winds Castle of the Winds] and [http://en.wikipedia.org/wiki/Yoda_Stories Yoda Stories].<br />
<br />
Witherwyn is written in C#. It's source is freely available.<br />
<br />
== Game related links ==<br />
[http://www.stanford.edu/~jjshed/witherwyn Witherwyn Development Log]<br />
<br />
[[Category: Alpha projects]] [[Category: Roguelike games]]</div>Telamonhttp://roguebasin.com/index.php?title=RogueBasin_talk:Community_Portal&diff=956RogueBasin talk:Community Portal2005-08-28T15:59:27Z<p>Telamon: /* Wikipedia Merge */</p>
<hr />
<div>== More articles ==<br />
<br />
There are a lot of RL dev articles at: http://roguelikedevelopment.org/<br />
<br />
Perhaps we should email the original authors to get permission to replicate them here. If the above site were to disappear from the internet, all those articles would be lost. [[John Shedletsky]]<br />
<br />
== Place to discuss Rogue Basin ==<br />
<br />
It would be nice to have a place where we could talk about this site, discuss what you be done, etc. Any suggestions how it could be named? - [[User:Poulpy|Poulpy]] 03:29, 22 May 2005 (CEST)<br />
<br />
---- <br />
Perhaps we could name it 'The roguebasin forum'? :p<br />
<br />
<br />
see http://peltkore.net/~szdev/boards --[[User:Slash|Slash]] 22:42, 25 Aug 2005 (CEST)<br />
<br />
== Wikipedia Merge ==<br />
<br />
I strongly disagree with the idea of merging with Wikipedia. RogueBasin is much more than an encyclopedia. I suggest that this item gets removed from the TO-DO list --[[User:Copx|Copx]] 13:52, 13 Jul 2005 (CEST)<br />
<br />
Not to mention that the WikiPedia folks would probably remove it, as we are not really an encyclopedia and not within the scope of WikiPedia's concerns (preserving human knowledge ect ect) [[John Shedletsky]]<br />
<br />
== Reviews removal ==<br />
<br />
I think we should remove the reviews entirely. --[[User:JeffLait|JeffLait]] 21:39, 25 Aug 2005 (CEST)<br />
<br />
Why is everyone so into removing things from RogueBasin? Why not just let it grow naturally to address the interests of those who send the time to edit it? [[User:John Shedletsky|John Shedletsky]]</div>Telamonhttp://roguebasin.com/index.php?title=RogueBasin_talk:Community_Portal&diff=953RogueBasin talk:Community Portal2005-08-28T15:57:59Z<p>Telamon: /* More articles */</p>
<hr />
<div>== More articles ==<br />
<br />
There are a lot of RL dev articles at: http://roguelikedevelopment.org/<br />
<br />
Perhaps we should email the original authors to get permission to replicate them here. If the above site were to disappear from the internet, all those articles would be lost. [[John Shedletsky]]<br />
<br />
== Place to discuss Rogue Basin ==<br />
<br />
It would be nice to have a place where we could talk about this site, discuss what you be done, etc. Any suggestions how it could be named? - [[User:Poulpy|Poulpy]] 03:29, 22 May 2005 (CEST)<br />
<br />
---- <br />
Perhaps we could name it 'The roguebasin forum'? :p<br />
<br />
<br />
see http://peltkore.net/~szdev/boards --[[User:Slash|Slash]] 22:42, 25 Aug 2005 (CEST)<br />
<br />
== Wikipedia Merge ==<br />
<br />
I strongly disagree with the idea of merging with Wikipedia. RogueBasin is much more than an encyclopedia. I suggest that this item gets removed from the TO-DO list --[[User:Copx|Copx]] 13:52, 13 Jul 2005 (CEST)<br />
<br />
== Reviews removal ==<br />
<br />
I think we should remove the reviews entirely. --[[User:JeffLait|JeffLait]] 21:39, 25 Aug 2005 (CEST)<br />
<br />
Why is everyone so into removing things from RogueBasin? Why not just let it grow naturally to address the interests of those who send the time to edit it? [[User:John Shedletsky|John Shedletsky]]</div>Telamonhttp://roguebasin.com/index.php?title=RogueBasin_talk:Community_Portal&diff=952RogueBasin talk:Community Portal2005-08-28T15:57:32Z<p>Telamon: </p>
<hr />
<div>== More articles ==<br />
<br />
There are a lot of RL dev articles at: http://roguelikedevelopment.org/<br />
<br />
Perhaps we should email the original authors to get permission to replicate them here. If the above site were to disappear from the internet, all those articles would be lost.<br />
<br />
== Place to discuss Rogue Basin ==<br />
<br />
It would be nice to have a place where we could talk about this site, discuss what you be done, etc. Any suggestions how it could be named? - [[User:Poulpy|Poulpy]] 03:29, 22 May 2005 (CEST)<br />
<br />
---- <br />
Perhaps we could name it 'The roguebasin forum'? :p<br />
<br />
<br />
see http://peltkore.net/~szdev/boards --[[User:Slash|Slash]] 22:42, 25 Aug 2005 (CEST)<br />
<br />
== Wikipedia Merge ==<br />
<br />
I strongly disagree with the idea of merging with Wikipedia. RogueBasin is much more than an encyclopedia. I suggest that this item gets removed from the TO-DO list --[[User:Copx|Copx]] 13:52, 13 Jul 2005 (CEST)<br />
<br />
== Reviews removal ==<br />
<br />
I think we should remove the reviews entirely. --[[User:JeffLait|JeffLait]] 21:39, 25 Aug 2005 (CEST)<br />
<br />
Why is everyone so into removing things from RogueBasin? Why not just let it grow naturally to address the interests of those who send the time to edit it? [[User:John Shedletsky|John Shedletsky]]</div>Telamonhttp://roguebasin.com/index.php?title=User_talk:Slash&diff=10020User talk:Slash2005-08-28T15:52:00Z<p>Telamon: </p>
<hr />
<div>I've created most of it (C programming language entry), but I need someone to look over the parts I wasn't so sure about (last two sections)</div>Telamonhttp://roguebasin.com/index.php?title=User_talk:Slash&diff=950User talk:Slash2005-08-28T15:51:33Z<p>Telamon: </p>
<hr />
<div>I've created most of it, but I need someone to look over the parts I wasn't so sure about (last two sections)</div>Telamonhttp://roguebasin.com/index.php?title=C&diff=1564C2005-08-28T15:50:32Z<p>Telamon: /* C Roguelikes */</p>
<hr />
<div>== Background ==<br />
<br />
The '''C programming language''' is a standardized imperative computer programming programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating system. It has since spread to many other operating systems, and is one of the most widely used programming languages. C is prized for its efficiency, and is the most popular programming language for writing system software, though it is also used for writing applications. It is also commonly used in computer science education, despite not being designed for novices.<br />
<br />
== Language Characteristics ==<br />
<br />
C is a relatively minimalist programming language that operates close to the hardware, and is more similar to [[assembly language]] than to most High-level programming languages. <br />
<br />
C was created with one important goal in mind: to make it easier to write large programs with fewer errors in the procedural programming paradigm, but without putting a burden on the writer of the C compiler, who is encumbered by complex language features. To this end, C has the following important features:<br />
<br />
* A simple core language, with important functionality such as math functions or file handling provided by sets of library routines instead<br />
* Focus on the procedural programming paradigm, with facilities for programming in a structured style<br />
* A simple type system which prevents many operations that are not meaningful<br />
* Use of a preprocessor language, the C preprocessor, for tasks such as defining macros and including multiple source files<br />
* Low-level unchecked access to computer memory via the use of pointers<br />
* A minimalistic set of keywords<br />
* Parameters that are always passed to functions by value, never by reference <br />
* Function pointers, which allow for a rudimentary form of Closure and Polymorphism<br />
* Lexical variable scoping <br />
* Records, or user-defined aggregate datatypes (structs) which allow related data to be combined and manipulated as a whole<br />
<br />
Some features that C lacks that are found in other languages include:<br />
* Type safety<br />
* Garbage collection<br />
* Classes or objects<br />
* An advanced type system<br />
* Closures<br />
* Generic programming<br />
* Operator overloading<br />
* Native support for multithreading and networking<br />
<br />
== Roguelike Issues ==<br />
<br />
A lot of RLs actually use "C++/--", which is basic C with some of the more useful [[Cpp|C++]] features. This list applies to those using strict ANSI C.<br />
<br />
Pros:<br />
* C is highly portable<br />
* There are lots of open-source C RLs (so there are many examples)<br />
* C is fast<br />
* Interfaces exist for many graphics libraries<br />
* Lots of people have made successful RLs in C, so you can too!<br />
<br />
Cons:<br />
* Lack of garbage collection means handling memory allocation by hand<br />
* Lack of classes makes it hard to do an object-oriented design, limiting project flexibility (so you have to plan ahead)<br />
* Basically you are using a 30 year old language and sometimes that shows when you reach for more advanced language features like generics, XML handling, or thread synchronization. 3rd party libraries exist to augment the language and overcome these shortfallings.<br />
<br />
== C Roguelikes ==<br />
<br />
C is the default language for roguelike development. There are a vast number of C roguelikes.<br />
<br />
* [[NetHack]]<br />
* [[Angband]]<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=C&diff=949C2005-08-28T15:48:47Z<p>Telamon: /* Roguelike Issues */</p>
<hr />
<div>== Background ==<br />
<br />
The '''C programming language''' is a standardized imperative computer programming programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating system. It has since spread to many other operating systems, and is one of the most widely used programming languages. C is prized for its efficiency, and is the most popular programming language for writing system software, though it is also used for writing applications. It is also commonly used in computer science education, despite not being designed for novices.<br />
<br />
== Language Characteristics ==<br />
<br />
C is a relatively minimalist programming language that operates close to the hardware, and is more similar to [[assembly language]] than to most High-level programming languages. <br />
<br />
C was created with one important goal in mind: to make it easier to write large programs with fewer errors in the procedural programming paradigm, but without putting a burden on the writer of the C compiler, who is encumbered by complex language features. To this end, C has the following important features:<br />
<br />
* A simple core language, with important functionality such as math functions or file handling provided by sets of library routines instead<br />
* Focus on the procedural programming paradigm, with facilities for programming in a structured style<br />
* A simple type system which prevents many operations that are not meaningful<br />
* Use of a preprocessor language, the C preprocessor, for tasks such as defining macros and including multiple source files<br />
* Low-level unchecked access to computer memory via the use of pointers<br />
* A minimalistic set of keywords<br />
* Parameters that are always passed to functions by value, never by reference <br />
* Function pointers, which allow for a rudimentary form of Closure and Polymorphism<br />
* Lexical variable scoping <br />
* Records, or user-defined aggregate datatypes (structs) which allow related data to be combined and manipulated as a whole<br />
<br />
Some features that C lacks that are found in other languages include:<br />
* Type safety<br />
* Garbage collection<br />
* Classes or objects<br />
* An advanced type system<br />
* Closures<br />
* Generic programming<br />
* Operator overloading<br />
* Native support for multithreading and networking<br />
<br />
== Roguelike Issues ==<br />
<br />
A lot of RLs actually use "C++/--", which is basic C with some of the more useful [[Cpp|C++]] features. This list applies to those using strict ANSI C.<br />
<br />
Pros:<br />
* C is highly portable<br />
* There are lots of open-source C RLs (so there are many examples)<br />
* C is fast<br />
* Interfaces exist for many graphics libraries<br />
* Lots of people have made successful RLs in C, so you can too!<br />
<br />
Cons:<br />
* Lack of garbage collection means handling memory allocation by hand<br />
* Lack of classes makes it hard to do an object-oriented design, limiting project flexibility (so you have to plan ahead)<br />
* Basically you are using a 30 year old language and sometimes that shows when you reach for more advanced language features like generics, XML handling, or thread synchronization. 3rd party libraries exist to augment the language and overcome these shortfallings.<br />
<br />
== C Roguelikes ==<br />
<br />
C is the default language for roguelike development. There are a vast number of C roguelikes.<br />
<br />
* [[Nethack]]<br />
* [[Angband]]<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=C&diff=948C2005-08-28T15:46:52Z<p>Telamon: /* Roguelike Issues */</p>
<hr />
<div>== Background ==<br />
<br />
The '''C programming language''' is a standardized imperative computer programming programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating system. It has since spread to many other operating systems, and is one of the most widely used programming languages. C is prized for its efficiency, and is the most popular programming language for writing system software, though it is also used for writing applications. It is also commonly used in computer science education, despite not being designed for novices.<br />
<br />
== Language Characteristics ==<br />
<br />
C is a relatively minimalist programming language that operates close to the hardware, and is more similar to [[assembly language]] than to most High-level programming languages. <br />
<br />
C was created with one important goal in mind: to make it easier to write large programs with fewer errors in the procedural programming paradigm, but without putting a burden on the writer of the C compiler, who is encumbered by complex language features. To this end, C has the following important features:<br />
<br />
* A simple core language, with important functionality such as math functions or file handling provided by sets of library routines instead<br />
* Focus on the procedural programming paradigm, with facilities for programming in a structured style<br />
* A simple type system which prevents many operations that are not meaningful<br />
* Use of a preprocessor language, the C preprocessor, for tasks such as defining macros and including multiple source files<br />
* Low-level unchecked access to computer memory via the use of pointers<br />
* A minimalistic set of keywords<br />
* Parameters that are always passed to functions by value, never by reference <br />
* Function pointers, which allow for a rudimentary form of Closure and Polymorphism<br />
* Lexical variable scoping <br />
* Records, or user-defined aggregate datatypes (structs) which allow related data to be combined and manipulated as a whole<br />
<br />
Some features that C lacks that are found in other languages include:<br />
* Type safety<br />
* Garbage collection<br />
* Classes or objects<br />
* An advanced type system<br />
* Closures<br />
* Generic programming<br />
* Operator overloading<br />
* Native support for multithreading and networking<br />
<br />
== Roguelike Issues ==<br />
<br />
A lot of RLs actually use "C++/--", which is basic C with some of the more useful [[C++]|[Cpp]] features. This list applies to those using strict ANSI C.<br />
<br />
Pros:<br />
* C is highly portable<br />
* There are lots of open-source C RLs (so there are many examples)<br />
* C is fast<br />
* Interfaces exist for many graphics libraries<br />
* Lots of people have made successful RLs in C, so you can too!<br />
<br />
Cons:<br />
* Lack of garbage collection means handling memory allocation by hand<br />
* Lack of classes makes it hard to do an object-oriented design, limiting project flexibility (so you have to plan ahead)<br />
* Basically you are using a 30 year old language and sometimes that shows when you reach for more advanced language features like generics, XML handling, or thread synchronization. 3rd party libraries exist to augment the language and overcome these shortfallings.<br />
<br />
== C Roguelikes ==<br />
<br />
C is the default language for roguelike development. There are a vast number of C roguelikes.<br />
<br />
* [[Nethack]]<br />
* [[Angband]]<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=C&diff=947C2005-08-28T15:46:14Z<p>Telamon: Main article - need someone to fill out C roguelikes (as opposed to C/C++ RLs)</p>
<hr />
<div>== Background ==<br />
<br />
The '''C programming language''' is a standardized imperative computer programming programming language developed in the early 1970s by Ken Thompson and Dennis Ritchie for use on the UNIX operating system. It has since spread to many other operating systems, and is one of the most widely used programming languages. C is prized for its efficiency, and is the most popular programming language for writing system software, though it is also used for writing applications. It is also commonly used in computer science education, despite not being designed for novices.<br />
<br />
== Language Characteristics ==<br />
<br />
C is a relatively minimalist programming language that operates close to the hardware, and is more similar to [[assembly language]] than to most High-level programming languages. <br />
<br />
C was created with one important goal in mind: to make it easier to write large programs with fewer errors in the procedural programming paradigm, but without putting a burden on the writer of the C compiler, who is encumbered by complex language features. To this end, C has the following important features:<br />
<br />
* A simple core language, with important functionality such as math functions or file handling provided by sets of library routines instead<br />
* Focus on the procedural programming paradigm, with facilities for programming in a structured style<br />
* A simple type system which prevents many operations that are not meaningful<br />
* Use of a preprocessor language, the C preprocessor, for tasks such as defining macros and including multiple source files<br />
* Low-level unchecked access to computer memory via the use of pointers<br />
* A minimalistic set of keywords<br />
* Parameters that are always passed to functions by value, never by reference <br />
* Function pointers, which allow for a rudimentary form of Closure and Polymorphism<br />
* Lexical variable scoping <br />
* Records, or user-defined aggregate datatypes (structs) which allow related data to be combined and manipulated as a whole<br />
<br />
Some features that C lacks that are found in other languages include:<br />
* Type safety<br />
* Garbage collection<br />
* Classes or objects<br />
* An advanced type system<br />
* Closures<br />
* Generic programming<br />
* Operator overloading<br />
* Native support for multithreading and networking<br />
<br />
== Roguelike Issues ==<br />
<br />
A lot of RLs actually use "C++/--", which is basic C with some of the more useful [[Cpp]|[C++]] features. This list applies to those using strict ANSI C.<br />
<br />
Pros:<br />
* C is highly portable<br />
* There are lots of open-source C RLs (so there are many examples)<br />
* C is fast<br />
* Interfaces exist for many graphics libraries<br />
* Lots of people have made successful RLs in C, so you can too!<br />
<br />
Cons:<br />
* Lack of garbage collection means handling memory allocation by hand<br />
* Lack of classes makes it hard to do an object-oriented design, limiting project flexibility (so you have to plan ahead)<br />
* Basically you are using a 30 year old language and sometimes that shows when you reach for more advanced language features like generics, XML handling, or thread synchronization. 3rd party libraries exist to augment the language and overcome these shortfallings. <br />
<br />
== C Roguelikes ==<br />
<br />
C is the default language for roguelike development. There are a vast number of C roguelikes.<br />
<br />
* [[Nethack]]<br />
* [[Angband]]<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=John_Shedletsky&diff=975John Shedletsky2005-08-28T15:26:40Z<p>Telamon: </p>
<hr />
<div>John Shedletsky is the developer of [[Witherwyn]]. He's a masters student in the Computer Science department at Stanford. When Witherwyn is undergoing active development, he will often post to rec.games.roguelike.development under the alias "Shedletsky".<br />
<br />
Helps to maintain RogueBasin under alias "Telamon"</div>Telamonhttp://roguebasin.com/index.php?title=John_Shedletsky&diff=945John Shedletsky2005-08-28T15:26:17Z<p>Telamon: </p>
<hr />
<div>John Shedletsky is the developer of [[Witherwyn]]. He's a masters student in the Computer Science department at Stanford. When Witherwyn is undergoing active development, he will often post to rec.games.roguelike.development under the alias "Shedletsky".<br />
<br />
Maintains RogueBasin under alias "Telamon"</div>Telamonhttp://roguebasin.com/index.php?title=C_Sharp&diff=1154C Sharp2005-08-26T19:12:39Z<p>Telamon: </p>
<hr />
<div>== Background ==<br />
<br />
C# is an object-oriented programming language developed by Microsoft as part of their .NET initiative. Microsoft based C# on [[Cpp|C++]] and [[Java]]. C# was designed as a language that would provide a balance of [[Cpp|C++]] with rapid development, Visual Basic, Delphi, and [[Java]].<br />
<br />
== Language Characteristics ==<br />
<br />
C# is, in some sense, the programming language which most directly reflects the underlying .NET Framework on which all .NET programs run, and it depends strongly on this framework; there is no such thing as an unmanaged C# program. Its primitive datatypes are objects of the corresponding .NET types, it is garbage-collected, and many of its abstractions, such as its classes, interfaces, delegates, exceptions, and so on, expose explicit features of the .NET runtime.<br />
<br />
Compared to C and C++, the language is restricted or enhanced in a number of ways, including but not limited to the following:<br />
<br />
* C# is tied to the Windows platform (end user must have .Net framework installed).<br />
* The Managed DirectX classes were designed for use in C# and make using DX easy.<br />
* Raw pointers and unchecked arithmetic can only be used in a special unsafe mode. Most object access is done through safe references, which cannot be made invalid, and most arithmetic is checked for overflow.<br />
* Objects cannot be explicitly freed, but instead are garbage collected when no more references to them exist.<br />
* As in Java, only single inheritance is available, but a class can implement any number of abstract interfaces. This functions mainly to simplify the runtime's implementation.<br />
* C# is more typesafe than C++. The only implicit conversions by default are safe conversions, such as widening of integers and conversion from a derived type to a base type. There are no implicit conversions between booleans and integers, between enumeration members and integers, no void pointers (although references to Object are similar), and any user-defined implicit conversion must be explicitly marked as such, unlike C++'s copy constructors.<br />
* Syntax for array declaration is different ("int[] a = new int[5]" instead of "int a[5]").<br />
* C# has no templates, but C# 2.0 has generics, and these support some features not supported by C++ templates such as type constraints on generic parameters. On the other hand, expressions cannot be used as generic parameters as in C++ templates.<br />
* Full reflection is available.<br />
<br />
Although C# is often considered similar to Java, there are also a number of notable differences with this language as well, including the following:<br />
<br />
* Java does not have operator overloading.<br />
* Java does not have an unsafe mode permitting native pointer manipulation and unchecked arithmetic.<br />
* Java has checked exceptions, while C# exceptions are unchecked, as in C++.<br />
* C# has a goto control flow construct not found in Java.<br />
* Java uses Javadoc-syntax comments to automatically generate documentation from source files. C# uses XML-based comments for this purpose.<br />
* C# supports checked arithmetic.<br />
* C# supports indexers.<br />
* C# greatly simplifies event-driven programming through language constructs like events and delegates.<br />
* C# supports structures in addition to classes. Structures, known in the .NET Framework as value types, are comparable to C structures, in that they need not be heap-allocated and can limit the number of dereferences needed to access data; see value type.<br />
* C# has a unified object model for value-types and objects (There is no difference between "int" and "System.Int32").<br />
<br />
== C# Roguelikes ==<br />
<br />
C# is of questionable use for roguelike development:<br />
* It is a Rapid Application Development language<br />
* It is platform dependant<br />
* It forces the use of an object-oriented programming style<br />
* It has great tools for designing user interfaces<br />
* It can be used as a scripting language<br />
* It has a console mode, but [[ASCII]] roguelikes will probably need to use [[Curses]]<br />
* Requires the .Net framework (23 MB) to be installed to run<br />
* No easy to use tool to generate an installer program to validate prerequisite packages exist on client.<br />
<br />
As a result roguelikes written in C# are uncommon. At the moment there is just one:<br />
<br />
* [[Witherwyn]]<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=C_Sharp&diff=939C Sharp2005-08-26T19:12:11Z<p>Telamon: </p>
<hr />
<div>== Background ==<br />
<br />
C# is an object-oriented programming language developed by Microsoft as part of their .NET initiative. Microsoft based C# on [[Cpp|C++]] and [[Java]]. C# was designed as a language that would provide a balance of [[Cpp|C++]] with rapid development, Visual Basic, Delphi, and [[Java]].<br />
<br />
== Language characteristics ==<br />
<br />
C# is, in some sense, the programming language which most directly reflects the underlying .NET Framework on which all .NET programs run, and it depends strongly on this framework; there is no such thing as an unmanaged C# program. Its primitive datatypes are objects of the corresponding .NET types, it is garbage-collected, and many of its abstractions, such as its classes, interfaces, delegates, exceptions, and so on, expose explicit features of the .NET runtime.<br />
<br />
Compared to C and C++, the language is restricted or enhanced in a number of ways, including but not limited to the following:<br />
<br />
* C# is tied to the Windows platform (end user must have .Net framework installed).<br />
* The Managed DirectX classes were designed for use in C# and make using DX easy.<br />
* Raw pointers and unchecked arithmetic can only be used in a special unsafe mode. Most object access is done through safe references, which cannot be made invalid, and most arithmetic is checked for overflow.<br />
* Objects cannot be explicitly freed, but instead are garbage collected when no more references to them exist.<br />
* As in Java, only single inheritance is available, but a class can implement any number of abstract interfaces. This functions mainly to simplify the runtime's implementation.<br />
* C# is more typesafe than C++. The only implicit conversions by default are safe conversions, such as widening of integers and conversion from a derived type to a base type. There are no implicit conversions between booleans and integers, between enumeration members and integers, no void pointers (although references to Object are similar), and any user-defined implicit conversion must be explicitly marked as such, unlike C++'s copy constructors.<br />
* Syntax for array declaration is different ("int[] a = new int[5]" instead of "int a[5]").<br />
* C# has no templates, but C# 2.0 has generics, and these support some features not supported by C++ templates such as type constraints on generic parameters. On the other hand, expressions cannot be used as generic parameters as in C++ templates.<br />
* Full reflection is available.<br />
<br />
Although C# is often considered similar to Java, there are also a number of notable differences with this language as well, including the following:<br />
<br />
* Java does not have operator overloading.<br />
* Java does not have an unsafe mode permitting native pointer manipulation and unchecked arithmetic.<br />
* Java has checked exceptions, while C# exceptions are unchecked, as in C++.<br />
* C# has a goto control flow construct not found in Java.<br />
* Java uses Javadoc-syntax comments to automatically generate documentation from source files. C# uses XML-based comments for this purpose.<br />
* C# supports checked arithmetic.<br />
* C# supports indexers.<br />
* C# greatly simplifies event-driven programming through language constructs like events and delegates.<br />
* C# supports structures in addition to classes. Structures, known in the .NET Framework as value types, are comparable to C structures, in that they need not be heap-allocated and can limit the number of dereferences needed to access data; see value type.<br />
* C# has a unified object model for value-types and objects (There is no difference between "int" and "System.Int32").<br />
<br />
== C# roguelikes ==<br />
<br />
C# is of questionable use for roguelike development:<br />
* It is a Rapid Application Development language<br />
* It is platform dependant<br />
* It forces the use of an object-oriented programming style<br />
* It has great tools for designing user interfaces<br />
* It can be used as a scripting language<br />
* It has a console mode, but [[ASCII]] roguelikes will probably need to use [[Curses]]<br />
* Requires the .Net framework (23 MB) to be installed to run<br />
* No easy to use tool to generate an installer program to validate prerequisite packages exist on client.<br />
<br />
As a result roguelikes written in C# are uncommon. At the moment there is just one:<br />
<br />
* [[Witherwyn]]<br />
<br />
== Related links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=C&diff=940C2005-08-26T19:11:08Z<p>Telamon: C moved to C Sharp</p>
<hr />
<div>#REDIRECT [[C Sharp]]<br />
</div>Telamonhttp://roguebasin.com/index.php?title=C_Sharp&diff=938C Sharp2005-08-26T19:09:35Z<p>Telamon: </p>
<hr />
<div>== Background ==<br />
<br />
C# (see section on naming, pronunciation) is an object-oriented programming language developed by Microsoft as part of their .NET initiative. Microsoft based C# on [[Cpp|C++]] and [[Java]]. C# was designed as a language that would provide a balance of [[Cpp|C++]] with rapid development, Visual Basic, Delphi, and [[Java]].<br />
<br />
== Language characteristics ==<br />
<br />
C# is, in some sense, the programming language which most directly reflects the underlying .NET Framework on which all .NET programs run, and it depends strongly on this framework; there is no such thing as an unmanaged C# program. Its primitive datatypes are objects of the corresponding .NET types, it is garbage-collected, and many of its abstractions, such as its classes, interfaces, delegates, exceptions, and so on, expose explicit features of the .NET runtime.<br />
<br />
Compared to C and C++, the language is restricted or enhanced in a number of ways, including but not limited to the following:<br />
<br />
* C# is tied to the Windows platform (end user must have .Net framework installed).<br />
* The Managed DirectX classes were designed for use in C# and make using DX easy.<br />
* Raw pointers and unchecked arithmetic can only be used in a special unsafe mode. Most object access is done through safe references, which cannot be made invalid, and most arithmetic is checked for overflow.<br />
* Objects cannot be explicitly freed, but instead are garbage collected when no more references to them exist.<br />
* As in Java, only single inheritance is available, but a class can implement any number of abstract interfaces. This functions mainly to simplify the runtime's implementation.<br />
* C# is more typesafe than C++. The only implicit conversions by default are safe conversions, such as widening of integers and conversion from a derived type to a base type. There are no implicit conversions between booleans and integers, between enumeration members and integers, no void pointers (although references to Object are similar), and any user-defined implicit conversion must be explicitly marked as such, unlike C++'s copy constructors.<br />
* Syntax for array declaration is different ("int[] a = new int[5]" instead of "int a[5]").<br />
* C# has no templates, but C# 2.0 has generics, and these support some features not supported by C++ templates such as type constraints on generic parameters. On the other hand, expressions cannot be used as generic parameters as in C++ templates.<br />
* Full reflection is available.<br />
<br />
Although C# is often considered similar to Java, there are also a number of notable differences with this language as well, including the following:<br />
<br />
* Java does not have operator overloading.<br />
* Java does not have an unsafe mode permitting native pointer manipulation and unchecked arithmetic.<br />
* Java has checked exceptions, while C# exceptions are unchecked, as in C++.<br />
* C# has a goto control flow construct not found in Java.<br />
* Java uses Javadoc-syntax comments to automatically generate documentation from source files. C# uses XML-based comments for this purpose.<br />
* C# supports checked arithmetic.<br />
* C# supports indexers.<br />
* C# greatly simplifies event-driven programming through language constructs like events and delegates.<br />
* C# supports structures in addition to classes. Structures, known in the .NET Framework as value types, are comparable to C structures, in that they need not be heap-allocated and can limit the number of dereferences needed to access data; see value type.<br />
* C# has a unified object model for value-types and objects (There is no difference between "int" and "System.Int32").<br />
<br />
== C# roguelikes ==<br />
<br />
C# is of questionable use for roguelike development:<br />
* It is a Rapid Application Development language<br />
* It is platform dependant<br />
* It forces the use of an object-oriented programming style<br />
* It has great tools for designing user interfaces<br />
* It can be used as a scripting language<br />
* It has a console mode, but [[ASCII]] roguelikes will probably need to use [[Curses]]<br />
* Requires the .Net framework (23 MB) to be installed to run<br />
* No easy to use tool to generate an installer program to validate prerequisite packages exist on client.<br />
<br />
As a result roguelikes written in C# are uncommon. At the moment there is just one:<br />
<br />
* [[Witherwyn]]<br />
<br />
== Related links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=C_Sharp&diff=937C Sharp2005-08-26T19:08:16Z<p>Telamon: </p>
<hr />
<div>== Background ==<br />
<br />
C# (see section on naming, pronunciation) is an object-oriented programming language developed by Microsoft as part of their .NET initiative. Microsoft based C# on [[C++]] and [[Java]]. C# was designed as a language that would provide a balance of [[C++]] with rapid development, Visual Basic, Delphi, and [[Java]].<br />
<br />
== Language characteristics ==<br />
<br />
C# is, in some sense, the programming language which most directly reflects the underlying .NET Framework on which all .NET programs run, and it depends strongly on this framework; there is no such thing as an unmanaged C# program. Its primitive datatypes are objects of the corresponding .NET types, it is garbage-collected, and many of its abstractions, such as its classes, interfaces, delegates, exceptions, and so on, expose explicit features of the .NET runtime.<br />
<br />
Compared to C and C++, the language is restricted or enhanced in a number of ways, including but not limited to the following:<br />
<br />
* C# is tied to the Windows platform (end user must have .Net framework installed).<br />
* The Managed DirectX classes were designed for use in C# and make using DX easy.<br />
* Raw pointers and unchecked arithmetic can only be used in a special unsafe mode. Most object access is done through safe references, which cannot be made invalid, and most arithmetic is checked for overflow.<br />
* Objects cannot be explicitly freed, but instead are garbage collected when no more references to them exist.<br />
* As in Java, only single inheritance is available, but a class can implement any number of abstract interfaces. This functions mainly to simplify the runtime's implementation.<br />
* C# is more typesafe than C++. The only implicit conversions by default are safe conversions, such as widening of integers and conversion from a derived type to a base type. There are no implicit conversions between booleans and integers, between enumeration members and integers, no void pointers (although references to Object are similar), and any user-defined implicit conversion must be explicitly marked as such, unlike C++'s copy constructors.<br />
* Syntax for array declaration is different ("int[] a = new int[5]" instead of "int a[5]").<br />
* C# has no templates, but C# 2.0 has generics, and these support some features not supported by C++ templates such as type constraints on generic parameters. On the other hand, expressions cannot be used as generic parameters as in C++ templates.<br />
* Full reflection is available.<br />
<br />
Although C# is often considered similar to Java, there are also a number of notable differences with this language as well, including the following:<br />
<br />
* Java does not have operator overloading.<br />
* Java does not have an unsafe mode permitting native pointer manipulation and unchecked arithmetic.<br />
* Java has checked exceptions, while C# exceptions are unchecked, as in C++.<br />
* C# has a goto control flow construct not found in Java.<br />
* Java uses Javadoc-syntax comments to automatically generate documentation from source files. C# uses XML-based comments for this purpose.<br />
* C# supports checked arithmetic.<br />
* C# supports indexers.<br />
* C# greatly simplifies event-driven programming through language constructs like events and delegates.<br />
* C# supports structures in addition to classes. Structures, known in the .NET Framework as value types, are comparable to C structures, in that they need not be heap-allocated and can limit the number of dereferences needed to access data; see value type.<br />
* C# has a unified object model for value-types and objects (There is no difference between "int" and "System.Int32").<br />
<br />
== C# roguelikes ==<br />
<br />
C# is of questionable use for roguelike development:<br />
* It is a Rapid Application Development language<br />
* It is platform dependant<br />
* It forces the use of an object-oriented programming style<br />
* It has great tools for designing user interfaces<br />
* It can be used as a scripting language<br />
* It has a console mode, but [[ASCII]] roguelikes will probably need to use [[Curses]]<br />
* Requires the .Net framework (23 MB) to be installed to run<br />
* No easy to use tool to generate an installer program to validate prerequisite packages exist on client.<br />
<br />
As a result roguelikes written in C# are uncommon. At the moment there is just one:<br />
<br />
* [[Witherwyn]]<br />
<br />
== Related links ==<br />
<br />
[[Category:Programming languages]]</div>Telamonhttp://roguebasin.com/index.php?title=Technical_Concepts&diff=986Technical Concepts2005-08-26T18:52:36Z<p>Telamon: added C#</p>
<hr />
<div>== Languages in Roguelikes ==<br />
* [[FreePascal]]<br />
* [[Java]]<br />
* [[C]]<br />
* [[C#]]<br />
* [[Cpp|C++]]<br />
<br />
== Concepts == <br />
* [[Portability Issues]]<br />
* [[SandBox]]</div>Telamonhttp://roguebasin.com/index.php?title=RogueBasin_talk:Community_Portal&diff=951RogueBasin talk:Community Portal2005-08-26T17:38:24Z<p>Telamon: /* Reviews removal */</p>
<hr />
<div>== Place to discuss Rogue Basin ==<br />
<br />
It would be nice to have a place where we could talk about this site, discuss what you be done, etc. Any suggestions how it could be named? - [[User:Poulpy|Poulpy]] 03:29, 22 May 2005 (CEST)<br />
<br />
---- <br />
Perhaps we could name it 'The roguebasin forum'? :p<br />
<br />
<br />
see http://peltkore.net/~szdev/boards --[[User:Slash|Slash]] 22:42, 25 Aug 2005 (CEST)<br />
<br />
== Wikipedia Merge ==<br />
<br />
I strongly disagree with the idea of merging with Wikipedia. RogueBasin is much more than an encyclopedia. I suggest that this item gets removed from the TO-DO list --[[User:Copx|Copx]] 13:52, 13 Jul 2005 (CEST)<br />
<br />
== Reviews removal ==<br />
<br />
I think we should remove the reviews entirely. --[[User:JeffLait|JeffLait]] 21:39, 25 Aug 2005 (CEST)<br />
<br />
Why is everyone so into removing things from RogueBasin? Why not just let it grow naturally to address the interests of those who send the time to edit it? [[User:John Shedletsky|John Shedletsky]]</div>Telamonhttp://roguebasin.com/index.php?title=How_to_Write_a_Roguelike_in_15_Steps&diff=932How to Write a Roguelike in 15 Steps2005-08-26T14:48:54Z<p>Telamon: /* Step 3 -- It's a boy! */</p>
<hr />
<div>This is a rough route map for the creators of roguelikes. I'm well aware that<br />
there are many possible routes and that no two journeys are the same -- this is<br />
a description of one of possibilities and maybe will help you to plan your own.<br />
<br />
Please add your comments -- maybe we could make this article really<br />
helpful. What are your own routes?<br />
<br />
<br />
== Step 1 -- Decide to write a game ==<br />
<br />
<br />
Most of you will have this step behind you already, but there are some hints<br />
about the direction of the first step. The best reason to start developing your<br />
own roguelike game I can think of, is to create a game that you will enjoy<br />
playing yourself. It's like this in my case.<br />
<br />
Don't start by asking around about the definition of roguelike game -- you don't<br />
need it. If the game you write is not considered roguelike by others, but it's<br />
still fun to play for you -- you succeeded. It's not like there's some kind of<br />
a contest to write a game meeting certain specifications.<br />
<br />
Don't plan too much. Of course, if you want certain things in your game, you<br />
must write it so that there is room for them -- but don't even try to anticipate<br />
everything -- it's just impossible. When you write a desig doc, you make a lot<br />
of decissions. Most of the decissions can't be made without performing some test<br />
first -- usually by writing small programsutilizing given feature. It's best to<br />
make the decissions when your project has already reached apropriate stage --<br />
when you don't need to write an additional program, because your project already<br />
has everything you need.<br />
<br />
It's no fun to just proceed according to plan -- leave some space for<br />
improvisation. Don't be afraid about making mistakes or implementing something<br />
in an inflexible way -- you can improve it when you need it -- most of the time<br />
it will be ok.<br />
<br />
<br />
== Step 2 -- Hello world! ==<br />
<br />
<br />
Prepare your programming environment. Choose your language and platform, choose<br />
apropriate compilers/interpreters, editor, version control, automated build, and<br />
other utilities. Set them up so that you're comfortable with them. <br />
<br />
Decide on which libraries you're going to use -- it can change later, but it's<br />
usually a painful change. Don't think too much about portability -- it can be<br />
fixed later. Think about what you need and what you're comfortable with.<br />
<br />
Decide on the language you want to write comments and object names in your code,<br />
as well as the language you want to be used in your game. I'd strongly recommend<br />
using english in your source code -- you can get more help this way from others.<br />
<br />
Write a simple 'Hello world!' program and test whether it works. Test your<br />
libraries, etc. -- you don't want any surprises.<br />
<br />
Start coding.<br />
<br />
<br />
== Step 3 -- It's a boy! ==<br />
<br />
<br />
<br />
Start with screen output and keyboard input. Decide preemptively on your screen<br />
layout (easy, you can change it later) and make the routines that display map<br />
characters, status lines and messages.<br />
<br />
Make the routine to read key-presses (no config files, no keys redefinition).<br />
<br />
Make a '@ walking around the empty screen' demo. Play with it a little, clean<br />
things up, play some more, imagining the game is finished and you're playing it.<br />
<br />
Make the message handling routines -- especially for the debugging messages --<br />
they come in handy.<br />
<br />
== Step 4 -- The map ==<br />
<br />
<br />
Decide on your map structure. Don't over-generalize -- you can add things later.<br />
Make your (empty) map displayed on the screen. Scrolled if you need it.<br />
Add some elements to your map to see if they are displayed correctly (just<br />
hard-code them, you don't need a level generator yet).<br />
<br />
Make your '@' appear on the map -- not as it's element at first, just as<br />
a cursor. Test the scrolling, maybe make a 'look' command.<br />
<br />
Now turn '@' into creature. You still don't have time implemented, so the<br />
keyboard-reading routines will just move it around the map. Include the checks<br />
for walls in the movement code. Maybe add doors and open/close commands.<br />
<br />
<br />
== Step 5 -- Saving/Loading ==<br />
<br />
<br />
Read the map from a file instead of hard-coding it. You can play with it and test<br />
different configurations if you make it human-readable from the start.<br />
<br />
Add the 'save' command and the procedures to save your game -- the map at first,<br />
then, gradually, all of other game elements. From now on, when you implement<br />
something that needs saving, also implement saving it as soon as possible.<br />
<br />
Once you work with files, you can make your preferences and keybindings config<br />
files. Again, if you make them human-readable, you'll save yourself a lot of<br />
trouble.<br />
<br />
Now, when you're not sure how any element of the game works, you can save the<br />
game to a file and just check it.<br />
<br />
<br />
== Step 6 -- It's alive! Alive! ==<br />
<br />
<br />
Implement other creatures (monsters) and time. At a single monster for start.<br />
Give him some simple AI (like, say, stay still, or maybe move randomly).<br />
<br />
Start with my turn-your turn, then implement the time system you want (or,<br />
usually, a simplification of it and gradually make it more complicated later).<br />
<br />
Remember to test everything as you go.<br />
<br />
<br />
== Step 7 -- Interaction ==<br />
<br />
<br />
Add stats for your creatures. A simplification of the ones you envisioned,<br />
probably. It's best to add stats as they are needed, not because they 'look<br />
cool', but you might not be able to resist ;).<br />
<br />
Make the creatures notice each other -- bump, attack, etc. Gradually improve<br />
their AIs, so that they can chase the player.<br />
<br />
Implement and test the combat system -- without equipment for now, just hardcode<br />
the values. Do lots of testing.<br />
<br />
<br />
== Step 8 -- Data files ==<br />
<br />
<br />
Move the creature, map features, etc. definitions to data files. Forget about<br />
scripting for now If something cannot be moved -- just leave it for now.<br />
<br />
<br />
== Step 9 -- Items ==<br />
<br />
<br />
Add items. For start, just objects you can pick up -- no properties. Gradually<br />
give them properties, kinds, stats, etc., implement inventory, picking up and<br />
dropping, equipping and using (no effects yet), also stacking, containers (if<br />
you want them), etc.<br />
<br />
It's a large step, lots of testing needed.<br />
<br />
<br />
== Step 10 -- Magic ==<br />
<br />
<br />
Add item effects, special monster attacks, spells. Add items and monsters to<br />
test them. You don;t need all the possible effects right away -- just the ones<br />
needed for the next step.<br />
<br />
<br />
== Step 11 -- Simple game ==<br />
<br />
<br />
Try to make a simple, hard-coded game. Play it and give it to play to your<br />
friends. Test the mechanics implemented so far. Check whether the game is fun.<br />
<br />
Change everything you need to change. Don't forget to test a lot. Always ask<br />
someone to test the games 'fun factor', or test it yourself after some time of<br />
break -- it's hard to notice some things right away.<br />
<br />
This step should take pretty long time, until you've got a playable, fun<br />
mini-game.<br />
<br />
<br />
== Step 12 -- Levels ==<br />
<br />
<br />
Write your level generators. Implement moving between the levels, wilderness or<br />
town if you want them, saving the levels on level change if you want them<br />
persistent (so that they don't take up memory).<br />
<br />
Spread your monsters and items on different depths. Add more monsters and items,<br />
with their effects, as needed.<br />
<br />
<br />
== Step 13 -- Experience ==<br />
<br />
<br />
Start developing your experience system and skill system. Tune the monster's and<br />
item's stats. Make character generation screen, classes, races, whatever.<br />
<br />
Play your game a lot.<br />
<br />
<br />
== Step 14 -- Citizens ==<br />
<br />
<br />
Add NPCs, shopkeepers, simple quests -- if you need them all. Keep adding<br />
features and tuning the stats.<br />
<br />
<br />
== Step 15 -- Free at last ==<br />
<br />
<br />
Start adding and testing all the 'unique' features you thought are so cool<br />
months (years?) ago, when you started the whole thing. Revise whether they are<br />
really so cool.<br />
<br />
Write that random plot generator, factions system, infinite wilderness<br />
generator, neural network AI, etc. -- you can test them on a working game.<br />
<br />
<br />
-- <br />
Radomir `The Sheep' Dopieralski @**@_<br />
($s) 3 Ching!<br />
. . . ..v.vVvVVvVvv.v.. .</div>Telamonhttp://roguebasin.com/index.php?title=How_to_Write_a_Roguelike_in_15_Steps&diff=931How to Write a Roguelike in 15 Steps2005-08-26T14:48:34Z<p>Telamon: </p>
<hr />
<div>This is a rough route map for the creators of roguelikes. I'm well aware that<br />
there are many possible routes and that no two journeys are the same -- this is<br />
a description of one of possibilities and maybe will help you to plan your own.<br />
<br />
Please add your comments -- maybe we could make this article really<br />
helpful. What are your own routes?<br />
<br />
<br />
== Step 1 -- Decide to write a game ==<br />
<br />
<br />
Most of you will have this step behind you already, but there are some hints<br />
about the direction of the first step. The best reason to start developing your<br />
own roguelike game I can think of, is to create a game that you will enjoy<br />
playing yourself. It's like this in my case.<br />
<br />
Don't start by asking around about the definition of roguelike game -- you don't<br />
need it. If the game you write is not considered roguelike by others, but it's<br />
still fun to play for you -- you succeeded. It's not like there's some kind of<br />
a contest to write a game meeting certain specifications.<br />
<br />
Don't plan too much. Of course, if you want certain things in your game, you<br />
must write it so that there is room for them -- but don't even try to anticipate<br />
everything -- it's just impossible. When you write a desig doc, you make a lot<br />
of decissions. Most of the decissions can't be made without performing some test<br />
first -- usually by writing small programsutilizing given feature. It's best to<br />
make the decissions when your project has already reached apropriate stage --<br />
when you don't need to write an additional program, because your project already<br />
has everything you need.<br />
<br />
It's no fun to just proceed according to plan -- leave some space for<br />
improvisation. Don't be afraid about making mistakes or implementing something<br />
in an inflexible way -- you can improve it when you need it -- most of the time<br />
it will be ok.<br />
<br />
<br />
== Step 2 -- Hello world! ==<br />
<br />
<br />
Prepare your programming environment. Choose your language and platform, choose<br />
apropriate compilers/interpreters, editor, version control, automated build, and<br />
other utilities. Set them up so that you're comfortable with them. <br />
<br />
Decide on which libraries you're going to use -- it can change later, but it's<br />
usually a painful change. Don't think too much about portability -- it can be<br />
fixed later. Think about what you need and what you're comfortable with.<br />
<br />
Decide on the language you want to write comments and object names in your code,<br />
as well as the language you want to be used in your game. I'd strongly recommend<br />
using english in your source code -- you can get more help this way from others.<br />
<br />
Write a simple 'Hello world!' program and test whether it works. Test your<br />
libraries, etc. -- you don't want any surprises.<br />
<br />
Start coding.<br />
<br />
<br />
== Step 3 -- It's a boy! ==<br />
<br />
<br />
<br />
Start with screen output and keyboard input. Decide preemptively on your screen<br />
layout (easy, you can change it later) and make the routines that display map<br />
characters, status lines and messages.<br />
<br />
Make the routine to read key-presses (no config files, no keys redefinition).<br />
<br />
Make a '@ walking around the empty screen' demo. Play with it a little, clean<br />
things up, play some more, imagining the game is finished and you're playing it<br />
;).<br />
<br />
Make the message handling routines -- especially for the debugging messages --<br />
they come in handy.<br />
<br />
<br />
== Step 4 -- The map ==<br />
<br />
<br />
Decide on your map structure. Don't over-generalize -- you can add things later.<br />
Make your (empty) map displayed on the screen. Scrolled if you need it.<br />
Add some elements to your map to see if they are displayed correctly (just<br />
hard-code them, you don't need a level generator yet).<br />
<br />
Make your '@' appear on the map -- not as it's element at first, just as<br />
a cursor. Test the scrolling, maybe make a 'look' command.<br />
<br />
Now turn '@' into creature. You still don't have time implemented, so the<br />
keyboard-reading routines will just move it around the map. Include the checks<br />
for walls in the movement code. Maybe add doors and open/close commands.<br />
<br />
<br />
== Step 5 -- Saving/Loading ==<br />
<br />
<br />
Read the map from a file instead of hard-coding it. You can play with it and test<br />
different configurations if you make it human-readable from the start.<br />
<br />
Add the 'save' command and the procedures to save your game -- the map at first,<br />
then, gradually, all of other game elements. From now on, when you implement<br />
something that needs saving, also implement saving it as soon as possible.<br />
<br />
Once you work with files, you can make your preferences and keybindings config<br />
files. Again, if you make them human-readable, you'll save yourself a lot of<br />
trouble.<br />
<br />
Now, when you're not sure how any element of the game works, you can save the<br />
game to a file and just check it.<br />
<br />
<br />
== Step 6 -- It's alive! Alive! ==<br />
<br />
<br />
Implement other creatures (monsters) and time. At a single monster for start.<br />
Give him some simple AI (like, say, stay still, or maybe move randomly).<br />
<br />
Start with my turn-your turn, then implement the time system you want (or,<br />
usually, a simplification of it and gradually make it more complicated later).<br />
<br />
Remember to test everything as you go.<br />
<br />
<br />
== Step 7 -- Interaction ==<br />
<br />
<br />
Add stats for your creatures. A simplification of the ones you envisioned,<br />
probably. It's best to add stats as they are needed, not because they 'look<br />
cool', but you might not be able to resist ;).<br />
<br />
Make the creatures notice each other -- bump, attack, etc. Gradually improve<br />
their AIs, so that they can chase the player.<br />
<br />
Implement and test the combat system -- without equipment for now, just hardcode<br />
the values. Do lots of testing.<br />
<br />
<br />
== Step 8 -- Data files ==<br />
<br />
<br />
Move the creature, map features, etc. definitions to data files. Forget about<br />
scripting for now If something cannot be moved -- just leave it for now.<br />
<br />
<br />
== Step 9 -- Items ==<br />
<br />
<br />
Add items. For start, just objects you can pick up -- no properties. Gradually<br />
give them properties, kinds, stats, etc., implement inventory, picking up and<br />
dropping, equipping and using (no effects yet), also stacking, containers (if<br />
you want them), etc.<br />
<br />
It's a large step, lots of testing needed.<br />
<br />
<br />
== Step 10 -- Magic ==<br />
<br />
<br />
Add item effects, special monster attacks, spells. Add items and monsters to<br />
test them. You don;t need all the possible effects right away -- just the ones<br />
needed for the next step.<br />
<br />
<br />
== Step 11 -- Simple game ==<br />
<br />
<br />
Try to make a simple, hard-coded game. Play it and give it to play to your<br />
friends. Test the mechanics implemented so far. Check whether the game is fun.<br />
<br />
Change everything you need to change. Don't forget to test a lot. Always ask<br />
someone to test the games 'fun factor', or test it yourself after some time of<br />
break -- it's hard to notice some things right away.<br />
<br />
This step should take pretty long time, until you've got a playable, fun<br />
mini-game.<br />
<br />
<br />
== Step 12 -- Levels ==<br />
<br />
<br />
Write your level generators. Implement moving between the levels, wilderness or<br />
town if you want them, saving the levels on level change if you want them<br />
persistent (so that they don't take up memory).<br />
<br />
Spread your monsters and items on different depths. Add more monsters and items,<br />
with their effects, as needed.<br />
<br />
<br />
== Step 13 -- Experience ==<br />
<br />
<br />
Start developing your experience system and skill system. Tune the monster's and<br />
item's stats. Make character generation screen, classes, races, whatever.<br />
<br />
Play your game a lot.<br />
<br />
<br />
== Step 14 -- Citizens ==<br />
<br />
<br />
Add NPCs, shopkeepers, simple quests -- if you need them all. Keep adding<br />
features and tuning the stats.<br />
<br />
<br />
== Step 15 -- Free at last ==<br />
<br />
<br />
Start adding and testing all the 'unique' features you thought are so cool<br />
months (years?) ago, when you started the whole thing. Revise whether they are<br />
really so cool.<br />
<br />
Write that random plot generator, factions system, infinite wilderness<br />
generator, neural network AI, etc. -- you can test them on a working game.<br />
<br />
<br />
-- <br />
Radomir `The Sheep' Dopieralski @**@_<br />
($s) 3 Ching!<br />
. . . ..v.vVvVVvVvv.v.. .</div>Telamonhttp://roguebasin.com/index.php?title=How_to_Write_a_Roguelike_in_15_Steps&diff=930How to Write a Roguelike in 15 Steps2005-08-26T14:46:08Z<p>Telamon: </p>
<hr />
<div>This is a rough route map for the creators of roguelikes. I'm well aware that<br />
there are many possible routes and that no two journeys are the same -- this is<br />
a description of one of possibilities and maybe will help you to plan your own.<br />
<br />
Please add your comments -- maybe we could make this article really<br />
helpful. What are your own routes?<br />
<br />
<br />
== Step 1 -- Decide to write a game ==<br />
<br />
--------------------------------<br />
<br />
Most of you will have this step behind you already, but there are some hints<br />
about the direction of the first step. The best reason to start developing your<br />
own roguelike game I can think of, is to create a game that you will enjoy<br />
playing yourself. It's like this in my case.<br />
<br />
Don't start by asking around about the definition of roguelike game -- you don't<br />
need it. If the game you write is not considered roguelike by others, but it's<br />
still fun to play for you -- you succeeded. It's not like there's some kind of<br />
a contest to write a game meeting certain specifications.<br />
<br />
Don't plan too much. Of course, if you want certain things in your game, you<br />
must write it so that there is room for them -- but don't even try to anticipate<br />
everything -- it's just impossible. When you write a desig doc, you make a lot<br />
of decissions. Most of the decissions can't be made without performing some test<br />
first -- usually by writing small programsutilizing given feature. It's best to<br />
make the decissions when your project has already reached apropriate stage --<br />
when you don't need to write an additional program, because your project already<br />
has everything you need.<br />
<br />
It's no fun to just proceed according to plan -- leave some space for<br />
improvisation. Don't be afraid about making mistakes or implementing something<br />
in an inflexible way -- you can improve it when you need it -- most of the time<br />
it will be ok.<br />
<br />
Step 2 -- Hello world!<br />
----------------------<br />
<br />
Prepare your programming environment. Choose your language and platform, choose<br />
apropriate compilers/interpreters, editor, version control, automated build, and<br />
other utilities. Set them up so that you're comfortable with them. <br />
<br />
Decide on which libraries you're going to use -- it can change later, but it's<br />
usually a painful change. Don't think too much about portability -- it can be<br />
fixed later. Think about what you need and what you're comfortable with.<br />
<br />
Decide on the language you want to write comments and object names in your code,<br />
as well as the language you want to be used in your game. I'd strongly recommend<br />
using english in your source code -- you can get more help this way from others.<br />
<br />
Write a simple 'Hello world!' program and test whether it works. Test your<br />
libraries, etc. -- you don't want any surprises.<br />
<br />
Start coding.<br />
<br />
Step 3 -- It's a boy!<br />
---------------------<br />
<br />
Start with screen output and keyboard input. Decide preemptively on your screen<br />
layout (easy, you can change it later) and make the routines that display map<br />
characters, status lines and messages.<br />
<br />
Make the routine to read key-presses (no config files, no keys redefinition).<br />
<br />
Make a '@ walking around the empty screen' demo. Play with it a little, clean<br />
things up, play some more, imagining the game is finished and you're playing it<br />
;).<br />
<br />
Make the message handling routines -- especially for the debugging messages --<br />
they come in handy.<br />
<br />
Step 4 -- The map<br />
-----------------<br />
<br />
Decide on your map structure. Don't over-generalize -- you can add things later.<br />
Make your (empty) map displayed on the screen. Scrolled if you need it.<br />
Add some elements to your map to see if they are displayed correctly (just<br />
hard-code them, you don't need a level generator yet).<br />
<br />
Make your '@' appear on the map -- not as it's element at first, just as<br />
a cursor. Test the scrolling, maybe make a 'look' command.<br />
<br />
Now turn '@' into creature. You still don't have time implemented, so the<br />
keyboard-reading routines will just move it around the map. Include the checks<br />
for walls in the movement code. Maybe add doors and open/close commands.<br />
<br />
Step 5 -- Saving/Loading<br />
------------------------<br />
<br />
Read the map from a file instead of hard-coding it. You can play with it and test<br />
different configurations if you make it human-readable from the start.<br />
<br />
Add the 'save' command and the procedures to save your game -- the map at first,<br />
then, gradually, all of other game elements. From now on, when you implement<br />
something that needs saving, also implement saving it as soon as possible.<br />
<br />
Once you work with files, you can make your preferences and keybindings config<br />
files. Again, if you make them human-readable, you'll save yourself a lot of<br />
trouble.<br />
<br />
Now, when you're not sure how any element of the game works, you can save the<br />
game to a file and just check it.<br />
<br />
Step 6 -- It's alive! Alive!<br />
----------------------------<br />
<br />
Implement other creatures (monsters) and time. At a single monster for start.<br />
Give him some simple AI (like, say, stay still, or maybe move randomly).<br />
<br />
Start with my turn-your turn, then implement the time system you want (or,<br />
usually, a simplification of it and gradually make it more complicated later).<br />
<br />
Remember to test everything as you go.<br />
<br />
Step 7 -- Interaction<br />
---------------------<br />
<br />
Add stats for your creatures. A simplification of the ones you envisioned,<br />
probably. It's best to add stats as they are needed, not because they 'look<br />
cool', but you might not be able to resist ;).<br />
<br />
Make the creatures notice each other -- bump, attack, etc. Gradually improve<br />
their AIs, so that they can chase the player.<br />
<br />
Implement and test the combat system -- without equipment for now, just hardcode<br />
the values. Do lots of testing.<br />
<br />
Step 8 -- Data files<br />
--------------------<br />
<br />
Move the creature, map features, etc. definitions to data files. Forget about<br />
scripting for now If something cannot be moved -- just leave it for now.<br />
<br />
Step 9 -- Items<br />
---------------<br />
<br />
Add items. For start, just objects you can pick up -- no properties. Gradually<br />
give them properties, kinds, stats, etc., implement inventory, picking up and<br />
dropping, equipping and using (no effects yet), also stacking, containers (if<br />
you want them), etc.<br />
<br />
It's a large step, lots of testing needed.<br />
<br />
Step 10 -- Magic <br />
-----------------<br />
<br />
Add item effects, special monster attacks, spells. Add items and monsters to<br />
test them. You don;t need all the possible effects right away -- just the ones<br />
needed for the next step.<br />
<br />
Step 11 -- Simple game<br />
----------------------<br />
<br />
Try to make a simple, hard-coded game. Play it and give it to play to your<br />
friends. Test the mechanics implemented so far. Check whether the game is fun.<br />
<br />
Change everything you need to change. Don't forget to test a lot. Always ask<br />
someone to test the games 'fun factor', or test it yourself after some time of<br />
break -- it's hard to notice some things right away.<br />
<br />
This step should take pretty long time, until you've got a playable, fun<br />
mini-game.<br />
<br />
Step 12 -- Levels<br />
-----------------<br />
<br />
Write your level generators. Implement moving between the levels, wilderness or<br />
town if you want them, saving the levels on level change if you want them<br />
persistent (so that they don't take up memory).<br />
<br />
Spread your monsters and items on different depths. Add more monsters and items,<br />
with their effects, as needed.<br />
<br />
Step 13 -- Experience<br />
---------------------<br />
<br />
Start developing your experience system and skill system. Tune the monster's and<br />
item's stats. Make character generation screen, classes, races, whatever.<br />
<br />
Play your game a lot.<br />
<br />
Step 14 -- Citizens<br />
-------------------<br />
<br />
Add NPCs, shopkeepers, simple quests -- if you need them all. Keep adding<br />
features and tuning the stats.<br />
<br />
Step 15 -- Free at last<br />
-----------------------<br />
<br />
Start adding and testing all the 'unique' features you thought are so cool<br />
months (years?) ago, when you started the whole thing. Revise whether they are<br />
really so cool.<br />
<br />
Write that random plot generator, factions system, infinite wilderness<br />
generator, neural network AI, etc. -- you can test them on a working game.<br />
<br />
<br />
-- <br />
Radomir `The Sheep' Dopieralski @**@_<br />
($s) 3 Ching!<br />
. . . ..v.vVvVVvVvv.v.. .</div>Telamonhttp://roguebasin.com/index.php?title=How_to_Write_a_Roguelike_in_15_Steps&diff=929How to Write a Roguelike in 15 Steps2005-08-26T14:45:52Z<p>Telamon: thanks radomir - I found this very useful</p>
<hr />
<div>This is a rough route map for the creators of roguelikes. I'm well aware that<br />
there are many possible routes and that no two journeys are the same -- this is<br />
a description of one of possibilities and maybe will help you to plan your own.<br />
<br />
Please add your comments -- maybe we could make this article really<br />
helpful. What are your own routes?<br />
<br />
Step 1 -- Decide to write a game<br />
--------------------------------<br />
<br />
Most of you will have this step behind you already, but there are some hints<br />
about the direction of the first step. The best reason to start developing your<br />
own roguelike game I can think of, is to create a game that you will enjoy<br />
playing yourself. It's like this in my case.<br />
<br />
Don't start by asking around about the definition of roguelike game -- you don't<br />
need it. If the game you write is not considered roguelike by others, but it's<br />
still fun to play for you -- you succeeded. It's not like there's some kind of<br />
a contest to write a game meeting certain specifications.<br />
<br />
Don't plan too much. Of course, if you want certain things in your game, you<br />
must write it so that there is room for them -- but don't even try to anticipate<br />
everything -- it's just impossible. When you write a desig doc, you make a lot<br />
of decissions. Most of the decissions can't be made without performing some test<br />
first -- usually by writing small programsutilizing given feature. It's best to<br />
make the decissions when your project has already reached apropriate stage --<br />
when you don't need to write an additional program, because your project already<br />
has everything you need.<br />
<br />
It's no fun to just proceed according to plan -- leave some space for<br />
improvisation. Don't be afraid about making mistakes or implementing something<br />
in an inflexible way -- you can improve it when you need it -- most of the time<br />
it will be ok.<br />
<br />
Step 2 -- Hello world!<br />
----------------------<br />
<br />
Prepare your programming environment. Choose your language and platform, choose<br />
apropriate compilers/interpreters, editor, version control, automated build, and<br />
other utilities. Set them up so that you're comfortable with them. <br />
<br />
Decide on which libraries you're going to use -- it can change later, but it's<br />
usually a painful change. Don't think too much about portability -- it can be<br />
fixed later. Think about what you need and what you're comfortable with.<br />
<br />
Decide on the language you want to write comments and object names in your code,<br />
as well as the language you want to be used in your game. I'd strongly recommend<br />
using english in your source code -- you can get more help this way from others.<br />
<br />
Write a simple 'Hello world!' program and test whether it works. Test your<br />
libraries, etc. -- you don't want any surprises.<br />
<br />
Start coding.<br />
<br />
Step 3 -- It's a boy!<br />
---------------------<br />
<br />
Start with screen output and keyboard input. Decide preemptively on your screen<br />
layout (easy, you can change it later) and make the routines that display map<br />
characters, status lines and messages.<br />
<br />
Make the routine to read key-presses (no config files, no keys redefinition).<br />
<br />
Make a '@ walking around the empty screen' demo. Play with it a little, clean<br />
things up, play some more, imagining the game is finished and you're playing it<br />
;).<br />
<br />
Make the message handling routines -- especially for the debugging messages --<br />
they come in handy.<br />
<br />
Step 4 -- The map<br />
-----------------<br />
<br />
Decide on your map structure. Don't over-generalize -- you can add things later.<br />
Make your (empty) map displayed on the screen. Scrolled if you need it.<br />
Add some elements to your map to see if they are displayed correctly (just<br />
hard-code them, you don't need a level generator yet).<br />
<br />
Make your '@' appear on the map -- not as it's element at first, just as<br />
a cursor. Test the scrolling, maybe make a 'look' command.<br />
<br />
Now turn '@' into creature. You still don't have time implemented, so the<br />
keyboard-reading routines will just move it around the map. Include the checks<br />
for walls in the movement code. Maybe add doors and open/close commands.<br />
<br />
Step 5 -- Saving/Loading<br />
------------------------<br />
<br />
Read the map from a file instead of hard-coding it. You can play with it and test<br />
different configurations if you make it human-readable from the start.<br />
<br />
Add the 'save' command and the procedures to save your game -- the map at first,<br />
then, gradually, all of other game elements. From now on, when you implement<br />
something that needs saving, also implement saving it as soon as possible.<br />
<br />
Once you work with files, you can make your preferences and keybindings config<br />
files. Again, if you make them human-readable, you'll save yourself a lot of<br />
trouble.<br />
<br />
Now, when you're not sure how any element of the game works, you can save the<br />
game to a file and just check it.<br />
<br />
Step 6 -- It's alive! Alive!<br />
----------------------------<br />
<br />
Implement other creatures (monsters) and time. At a single monster for start.<br />
Give him some simple AI (like, say, stay still, or maybe move randomly).<br />
<br />
Start with my turn-your turn, then implement the time system you want (or,<br />
usually, a simplification of it and gradually make it more complicated later).<br />
<br />
Remember to test everything as you go.<br />
<br />
Step 7 -- Interaction<br />
---------------------<br />
<br />
Add stats for your creatures. A simplification of the ones you envisioned,<br />
probably. It's best to add stats as they are needed, not because they 'look<br />
cool', but you might not be able to resist ;).<br />
<br />
Make the creatures notice each other -- bump, attack, etc. Gradually improve<br />
their AIs, so that they can chase the player.<br />
<br />
Implement and test the combat system -- without equipment for now, just hardcode<br />
the values. Do lots of testing.<br />
<br />
Step 8 -- Data files<br />
--------------------<br />
<br />
Move the creature, map features, etc. definitions to data files. Forget about<br />
scripting for now If something cannot be moved -- just leave it for now.<br />
<br />
Step 9 -- Items<br />
---------------<br />
<br />
Add items. For start, just objects you can pick up -- no properties. Gradually<br />
give them properties, kinds, stats, etc., implement inventory, picking up and<br />
dropping, equipping and using (no effects yet), also stacking, containers (if<br />
you want them), etc.<br />
<br />
It's a large step, lots of testing needed.<br />
<br />
Step 10 -- Magic <br />
-----------------<br />
<br />
Add item effects, special monster attacks, spells. Add items and monsters to<br />
test them. You don;t need all the possible effects right away -- just the ones<br />
needed for the next step.<br />
<br />
Step 11 -- Simple game<br />
----------------------<br />
<br />
Try to make a simple, hard-coded game. Play it and give it to play to your<br />
friends. Test the mechanics implemented so far. Check whether the game is fun.<br />
<br />
Change everything you need to change. Don't forget to test a lot. Always ask<br />
someone to test the games 'fun factor', or test it yourself after some time of<br />
break -- it's hard to notice some things right away.<br />
<br />
This step should take pretty long time, until you've got a playable, fun<br />
mini-game.<br />
<br />
Step 12 -- Levels<br />
-----------------<br />
<br />
Write your level generators. Implement moving between the levels, wilderness or<br />
town if you want them, saving the levels on level change if you want them<br />
persistent (so that they don't take up memory).<br />
<br />
Spread your monsters and items on different depths. Add more monsters and items,<br />
with their effects, as needed.<br />
<br />
Step 13 -- Experience<br />
---------------------<br />
<br />
Start developing your experience system and skill system. Tune the monster's and<br />
item's stats. Make character generation screen, classes, races, whatever.<br />
<br />
Play your game a lot.<br />
<br />
Step 14 -- Citizens<br />
-------------------<br />
<br />
Add NPCs, shopkeepers, simple quests -- if you need them all. Keep adding<br />
features and tuning the stats.<br />
<br />
Step 15 -- Free at last<br />
-----------------------<br />
<br />
Start adding and testing all the 'unique' features you thought are so cool<br />
months (years?) ago, when you started the whole thing. Revise whether they are<br />
really so cool.<br />
<br />
Write that random plot generator, factions system, infinite wilderness<br />
generator, neural network AI, etc. -- you can test them on a working game.<br />
<br />
<br />
-- <br />
Radomir `The Sheep' Dopieralski @**@_<br />
($s) 3 Ching!<br />
. . . ..v.vVvVVvVvv.v.. .</div>Telamonhttp://roguebasin.com/index.php?title=The_Development_Process&diff=994The Development Process2005-08-26T14:45:17Z<p>Telamon: perhaps this section should be merged someplace else, i couldn't find a good spot for radomir's article in the existing catagories.</p>
<hr />
<div>Developing a roguelike is a long, arduous process. Here's some tips and tricks to help you along the way.<br />
<br />
* [[How to Write a Roguelike Game in 15 Steps]]</div>Telamonhttp://roguebasin.com/index.php?title=Roguelike_Development&diff=960Roguelike Development2005-08-26T14:39:00Z<p>Telamon: added "The dev process" catagory - may need renaming</p>
<hr />
<div>* [[Project Management]]<br />
* [[Technical Concepts]]<br />
* [[Algorithms and structures]]<br />
* [[Gameplay]]<br />
* [[User Interface]]<br />
* [[Modeling]]<br />
* [[The Development Process]]<br />
<br />
== Communities ==<br />
* [[rgrd]]<br />
<br />
== Related Links ==<br />
* [http://www.roguelikedevelopment.org/ Dungeondweller] - Roguelike development resources<br />
* [http://www-cs-students.stanford.edu/~amitp/gameprog.html Amit’s Game Programming Information] - General game programming information<br />
* [http://library.simugraph.com/ Simugraph game development library] - Roguelike/cRPG articles</div>Telamonhttp://roguebasin.com/index.php?title=RGRD_Wiki_Project&diff=908RGRD Wiki Project2005-08-24T14:31:02Z<p>Telamon: </p>
<hr />
<div>The aim of this project is to Wikify the best articles posted on rec.games.roguelike.development newsgroup. To do so, several people have agreed for using their input on rgrd to compile RogueBasin articles. <br />
<br />
The original request by [[Kornel Kisielewicz]]:<br />
<br />
Hello all,<br />
<br />
I hadn't much time lately to read the newsgroup and ended up with 2300 unread <br />
posts. I decided to finally read them, and decided that this is a good time to do <br />
something for our community (again :-P). I want to wikify (to RogueBasin) some of <br />
the posted threads/articles. To do that I need your permission tough.<br />
<br />
So why this thread? I thought that asking multiple times people wether they <br />
agree to put their posts on Roguebasin would be a waste of time -- but in many <br />
cases I will have to do that anyway.<br />
<br />
But then, there are the regular posters among us -- I would ask them if they <br />
agree on one of the following statements. If you guys do, then please reply to <br />
this post (as I will do). And don't be shy please. If you ever posted a thread to <br />
RGRD (or are planning to do so) then your agreement will be valuable.<br />
<br />
Please (if you agree) reply with _one_ of the following:<br />
<br />
1. I allow anyone to submit any of my posts from r.g.roguelike.development <br />
to RogueBasin under the standard Wiki terms.<br />
<br />
2. I allow anyone to submit any of my posts from r.g.roguelike.development <br />
to RogueBasin under the standard Wiki terms, as long as I will be notified about it.<br />
<br />
3. I allow anyone to submit any of my posts from r.g.roguelike.development <br />
to RogueBasin under the standard Wiki terms, as long as it is (and will stay) <br />
unedited (frozen).<br />
<br />
The person reposting the article on Roguebasin is obliged to include the name <br />
of the author in it.<br />
<br />
Feel free to write your own version of the above.<br />
I would be very happy if at lest all the regular posters would agree upon this <br />
-- it would make life easier for Roguebasin. By standard Wiki terms I mean the GNU <br />
Free Documentation License 1.2.<br />
<br />
regards,<br />
-- <br />
At your service,<br />
Kornel Kisielewicz (charonATmagma-net.pl) [http://chaos.magma-net.pl]<br />
<br />
Up to date, the following people have agreed to statement #1 (sorted by time of reply):<br />
<br />
* [[Kornel Kisielewicz]]<br />
* [[konjin]]<br />
* [[Jim Strathmeyer]]<br />
* [[Wildhalcyon]]<br />
* [[Auric]]<br />
* [[Timothy Pruett]]<br />
* [[ArchMageOmega]]<br />
* [[Kaleth]]<br />
* [[Jeff Lait]]<br />
* [[ABCGi]]<br />
* [[R. Allan Monroe]]<br />
* [[Chris Morris]]<br />
* [[Gerry Quinn]]<br />
* [[Joseph Hewitt]]<br />
* [[Filip Dreger]]<br />
* [[David Damerell]]<br />
* [[Sherm Pendley]]<br />
* [[Martin Read]]<br />
* [[Grosu Oleg]]<br />
* [[The Sheep]]<br />
* [[John Shedletsky]]<br />
<br />
The following people have agreed to statement #2:<br />
<br />
* [[SZDev]]<br />
* [[Tormod Haugen]]<br />
* [[Jude Hungerford]]<br />
* [[Lorenzo Gatti]]<br />
<br />
The following people have agreed to statement #3:<br />
<br />
* [[Glen Wheeler]]</div>Telamonhttp://roguebasin.com/index.php?title=News&diff=1092News2005-08-21T00:03:48Z<p>Telamon: </p>
<hr />
<div>In this area should be announced new game releases, new roguelike sites, ...<br />
<br />
<h2>August 20</h2><br />
[[Witherwyn: Adventures in the Infinite Realm]] http://www.stanford.edu/~jjshed/witherwyn<br />
(Alpha-stage demo of basic roguelike functionality in C#)<br />
<br />
<h2>July 21st: ... </h2><br />
Kamyran's Eye (for mobile primarily) http://keye.phk.at<br />
<br />
<br />
<h2>June 26th: Many new games released!</h2><br />
PAPAKI 0.6.5 http://papaki.tk<br />
<br />
Tower Of Doom 0.4.0 http://todoom.sourceforge.net<br />
<br />
AngBand 3.0.6 ftp://ftp.thangorodrim.net/pub/angband/Windows/Angband-306.exe<br />
<br />
GearHead 0.909 http://gearhead.roguelikedevelopment.org (often updated)<br />
<br />
Guild 1.02 http://www.guildgame.com/<br />
<br />
Dweller 0.7.8 (for mobile) http://www.roguelikedevelopment.org/dweller<br />
<br />
<br />
<h2>March 30th: Tower of Doom 0.3.0 released</h2><br />
A new version of the dark SF roguelike [[Tower of Doom]] is out!<br />
Get it here: http://todoom.sourceforge.net/<br />
<br />
<h2>January 28th: RogueBasin reopens!</h2><br />
As you might have all noticed, the RogueBasin just re-opened!<br />
The aim is to have a central place, a point of focus, for all the roguelike players and developers.<br />
<br />
<i>Should we use this space to direct people to rec.games.roguelike.announce?</i></div>Telamonhttp://roguebasin.com/index.php?title=Witherwyn&diff=10009Witherwyn2005-08-21T00:02:54Z<p>Telamon: </p>
<hr />
<div>#REDIRECT [[Witherwyn: Adventures in the Infinite Realm]]</div>Telamonhttp://roguebasin.com/index.php?title=Developers&diff=963Developers2005-08-20T23:55:43Z<p>Telamon: /* J */</p>
<hr />
<div>This is an alphabetical list of roguelike '''developers''', ordered by last name when they've got one, or by nickname.<br />
{| id="toc" border="0"<br />
! {{MediaWiki:Toc}}:<br />
| [[#0-9|0-9]] [[#A|A]] [[#B|B]] [[#C|C]] [[#D|D]] [[#E|E]] [[#F|F]] [[#G|G]] [[#H|H]] [[#I|I]] [[#J|J]] [[#K|K]] [[#L|L]] [[#M|M]] [[#N|N]] [[#O|O]] [[#P|P]] [[#Q|Q]] [[#R|R]] [[#S|S]] [[#T|T]] [[#U|U]] [[#V|V]] [[#W|W]] [[#X|X]] [[#Y|Y]] [[#Z|Z]]<br /><br />
[[#Related topics|Related topics]]<br />
__NOTOC__<br />
|}<br />
<br />
== The people ==<br />
<br />
=== A ===<br />
* [[ABCGi]] (''[[Beyond]]'')<br />
* [[Ashiz Alibhai]]<br />
* [[Antoine]] (''[[Guild]]'')<br />
* [[Ken Arnold]] (''[[Rogue]]'')<br />
* [[Andy Astrand]] (''[[Angband]]'')<br />
<br />
=== B ===<br />
* [[Thomas Biskup]] (''[[ADOM]]'')<br />
* [[Björn Bergström]] (''[[Dweller]]'')<br />
* [[Eric Bock]] (''[[Rangband]]'', ''[[Zceband]]'')<br />
* [[D. Brodale]]<br />
<br />
=== C ===<br />
* [[copx]] (''[[Tower of Doom]]'')<br />
* [[Alex Cutler]] (''[[Angband]]'')<br />
<br />
=== D ===<br />
* [[David Damerell]]<br />
* [[DarkGod]] (''[[ToME]]'', ''[[ToMENET]]'', ''[[T-Engine]]'')<br />
* [[Ddragoon]]<br />
* [[Jakub Debski]] (''[[Xenocide]]'', ''[http://www.alamak0ta.republika.pl/br-win.zip Bomberrogue]'')<br />
* [[The DevTeam]] (''[[NetHack]]'')<br />
* [[Ray Dillinger]]<br />
* [[Joseph William Dixon]] (''[[Gumband]]'')<br />
* [[Andy Driver]] (''[[JRR]]'')<br />
<br />
=== E ===<br />
<br />
=== F ===<br />
<br />
=== G ===<br />
* [[David Gentle]]<br />
<br />
=== H ===<br />
* [[Ben Harrison]] (''[[Angband]]'')<br />
* [[R Dan Henry]] (''[[Dangband]]'', ''[[Gumband]]'', ''Prototype'')<br />
* [[Linley Henzell]] (''[[Crawl]]'')<br />
* [[Heroic Adventure]]<br />
* [[Joseph Hewitt]] (''[[DeadCold]]'', ''[[Dungeon Monkey]], ''[[GearHead]]'', ''[[GearHead 2]]'')<br />
* [[Geoff Hill]] (''[[Angband]]'')<br />
* [[Mark 'Kamikaze' Hughes]] (''[[Noctyr]]'')<br />
* [[Simen Endsj? Haugen]]<br />
<br />
=== I ===<br />
<br />
=== J ===<br />
* [[JimmyB]] (or [[jimrandomh]]) (''[[CalcRogue]]'')<br />
* [[John Shedletsky]] (''[[Witherwyn: Adventures in the Infinite Realm]]'')<br />
<br />
=== K ===<br />
* [[konijn]]<br />
* [[Kornel Kisielewicz]] (''[[Carceri]]'', ''[[DiabloRL]], ''[[DoomRL]], ''[[GenRogue]])<br />
* [[Robert Alan Koeneke]] (''[[VMS Moria]]'')<br />
* [[Kostatus]]<br />
* [[Krice]]<br />
* [[Gero Kunter]] (''[[Shuruppak]]'')<br />
<br />
=== L ===<br />
* [[Jeff Lait]] (''[[POWDER]]'', ''[[You Only Live Once]]'')<br />
* [[LeonTorres]]<br />
<br />
=== M ===<br />
* [[Hansjoerg Malthener]] (''[[H-World]]'')<br />
* [[Leon Marrick]] (''[[Oangband]]'')<br />
* [[Sean Marsh]] (''[[Angband]]'')<br />
* [[Gary D. McAdoo]] (''[[VMS Moria]]'')<br />
* [[R. Alan Monroe]]<br />
<br />
=== N ===<br />
* [[Mark A. Nicolosi]] ("I've finally got a little '@' walking around the screen")<br />
* [[NIm]]<br />
<br />
=== O ===<br />
<br />
=== P ===<br />
* [[Pfhoenix]] (''[[Adeo]]'')<br />
<br />
=== Q ===<br />
<br />
=== R ===<br />
* [[Martin Read]] (''[[Martin's Dungeon Bash]]'')<br />
* [[Chris Reuter]] (''[[Quest for Pants]]'', entry for [[the 7DRL Contest]])<br />
* [[Brent Richie]]<br />
* [[Robert Ruehlmann]] (''[[Angband]]'')<br />
<br />
=== S ===<br />
* [[Anthony Sequitar]]<br />
* [[Tom Seufert]] (''[[SimpleGame]]'')<br />
* [[The Sheep]] (''[[Z-Day]]'')<br />
* [[ShockFrost]]<br />
* [[Larry Smith]]<br />
* [[Jim Strathmeyer]]<br />
* [[Charles Swiger]] (''[[Angband]]'')<br />
* [[SZDev|SZDev-Slash]] (''[[Guardian Angel]]'', ''[[CastlevaniaRL]]'')<br />
<br />
=== T ===<br />
* [[Charles Teague]] (''[[Angband]]'')<br />
* [[Thijs can Ommen]]<br />
* [[Jimmey Wayne Todd Jr.]] (''[[VMS Moria]]'')<br />
* [[Michael Toy]] (''[[Rogue]]'')<br />
* [[Twisted One]] (or [[Neo]])<br />
<br />
=== U ===<br />
<br />
=== V ===<br />
* [[Antonio Vazquez]] (''[[GAME]]'')<br />
<br />
=== W ===<br />
* [[Amy Wang]]<br />
* [[Glen Wheeler]]<br />
* [[Glenn Wichman]] (''[[Rogue]]'')<br />
* [[Ken Wigle]] (''[[Kangband]]'')<br />
* [[James E. Wilson]] (''[[Umoria]]'')<br />
* [[Martin Woodward]] (''[[Tombs]]'')<br />
<br />
=== Y ===<br />
* [[Topi Ylinen]] (''[[Zangband]]'')<br />
<br />
=== Z ===<br />
* [[The Zangband Devteam]] (''[[Zangband]]'')<br />
* [[Vasilis Zoumpourlis]]<br />
<br />
== Related topics ==<br />
[[Category:Developers|*]]</div>Telamonhttp://roguebasin.com/index.php?title=John_Shedletsky&diff=944John Shedletsky2005-08-20T23:51:40Z<p>Telamon: </p>
<hr />
<div>John Shedletsky is the developer of [[Witherwyn]]. He's a masters student in the Computer Science department at Stanford. When Witherwyn is undergoing active development, he will often post to rec.games.roguelike.development under the alias "Shedletsky".</div>Telamonhttp://roguebasin.com/index.php?title=Witherwyn:_Adventures_in_the_Infinite_Realm&diff=913Witherwyn: Adventures in the Infinite Realm2005-08-20T23:49:22Z<p>Telamon: </p>
<hr />
<div>Witherwyn is a roguelike in the early stages of development by [[John Shedletsky]]. The focus of this project is to develop a graphical roguelike with an intuitive user interface that does not require the user to memorize several hundred key combos, learn to use a macro language, or constantly refer to external help files.<br />
<br />
Witherwyn is the spiritual descendant of such great games as [http://en.wikipedia.org/wiki/Castle_of_the_Winds Castle of the Winds] and [http://en.wikipedia.org/wiki/Yoda_Stories Yoda Stories].<br />
<br />
Witherwyn is written in C#. It's source is freely available.<br />
<br />
[http://www.stanford.edu/~jjshed/witherwyn Witherwyn Project Page]</div>Telamonhttp://roguebasin.com/index.php?title=Witherwyn:_Adventures_in_the_Infinite_Realm&diff=902Witherwyn: Adventures in the Infinite Realm2005-08-20T23:48:42Z<p>Telamon: </p>
<hr />
<div>Witherwyn is a roguelike in the early stages of development by [John Shedletsky]. The focus of this project is to develop a graphical roguelike with an intuitive user interface that does not require the user to memorize several hundred key combos, learn to use a macro language, or constantly refer to external help files.<br />
<br />
Witherwyn is the spiritual descendant of such great games as [http://en.wikipedia.org/wiki/Castle_of_the_Winds Castle of the Winds] and [http://en.wikipedia.org/wiki/Yoda_Stories Yoda Stories].<br />
<br />
Witherwyn is written in C#. It's source is freely available.<br />
<br />
[http://www.stanford.edu/~jjshed/witherwyn Witherwyn Project Page]</div>Telamonhttp://roguebasin.com/index.php?title=List_of_roguelikes&diff=941List of roguelikes2005-08-20T23:41:05Z<p>Telamon: /* W */</p>
<hr />
<div>This is an alphabetical '''list of roguelikes'''.<br />
{| id="toc" border="0"<br />
! {{MediaWiki:Toc}}:<br />
| [[#0-9|0-9]] [[#A|A]] [[#B|B]] [[#C|C]] [[#D|D]] [[#E|E]] [[#F|F]] [[#G|G]] [[#H|H]] [[#I|I]] [[#J|J]] [[#K|K]] [[#L|L]] [[#M|M]] [[#N|N]] [[#O|O]] [[#P|P]] [[#Q|Q]] [[#R|R]] [[#S|S]] [[#T|T]] [[#U|U]] [[#V|V]] [[#W|W]] [[#X|X]] [[#Y|Y]] [[#Z|Z]]<br /><br />
[[#Related topics|Related topics]]<br />
__NOTOC__<br />
|}<br />
== The games ==<br />
<br />
=== 0-9 ===<br />
* [[3059]]<br />
<br />
=== A ===<br />
* [[Abura Tan]]<br />
* [[Adeo]]<br />
* [[ADOM]] (Ancient Domains of Mystery)<br />
* [[Alphaman]]<br />
* [[Angband]]<br />
* [[ANK]]<br />
* [[Avanor]]<br />
<br />
=== B ===<br />
* [[Beyond]]<br />
* [[Boss]]<br />
<br />
=== C ===<br />
* [[CalcRogue]]<br />
* [[Castle of the Winds]]<br />
* [[Caves of Golorp]]<br />
* [[Crawl]]<br />
* [[Crossfire]]<br />
* [[Cryptic Light]]<br />
<br />
=== D ===<br />
* [[DeadCold]]<br />
* [[Decker]]<br />
* [[Diablo]] (at least inspired by roguelikes)<br />
* [[DiabloRL]]<br />
* [[dnd]]<br />
* [[Domain Country]]<br />
* [[DoomRL]]<br />
* [[Dragon]]<br />
* [[Dungeon]]<br />
* [[Dungeon Crawl]]<br />
* [[DungeonDoom]]<br />
* [[Dungeon Hack]]<br />
* [[Dungeon Monkey]]<br />
* [[Dweller]]<br />
<br />
=== E ===<br />
<br />
* [[Egoboo]]<br />
<br />
=== F ===<br />
<br />
* [[Falcon's Eye]]<br />
<br />
=== G ===<br />
* [[GearHead]]<br />
* [[GenRogue]]<br />
* [[Guardian Angel]]<br />
* [[GUILD]]<br />
<br />
=== H ===<br />
* [[Hack]]<br />
* [[Hengband]]<br />
* [[Heroic Adventure!]]<br />
* [[H-World]]<br />
<br />
=== I ===<br />
* [[Incursion]]<br />
* [[iRogue]]<br />
* [[IVAN]] (Iter Vehemens ad Necem)<br />
<br />
=== J ===<br />
* [[JADE]]<br />
* [[JRR]]<br />
<br />
=== K ===<br />
* [[Kaduria]]<br />
* [[Kharne]]<br />
<br />
=== L ===<br />
* [[Larn]]<br />
* [[The Legend of Saladir]]<br />
* [[Lost Labyrinth]]<br />
<br />
=== M ===<br />
* [[MAngband]]<br />
* [[The Minstrel's Song]]<br />
* [[Moria]]<br />
<br />
=== N ===<br />
* [[Necrophobia]]<br />
* [[Netchaos]]<br />
* [[NetHack]]<br />
<br />
=== O ===<br />
* [[Omega]]<br />
<br />
=== P ===<br />
* [[Papaki]]<br />
* [[POWDER]]<br />
<br />
=== Q ===<br />
* [[QHack]]<br />
* [[QuickQuest]]<br />
<br />
=== R ===<br />
* [[Ragnarok]]<br />
* [[Real World]]<br />
* [[Rogue]]<br />
* [[Rolf]]<br />
<br />
=== S ===<br />
* [[SCOURGE]]<br />
* [[Shade]]<br />
* [[SLASH'EM]]<br />
* [[Slaves to Armok]]<br />
* [[Star Rogue]]<br />
* [[Sword of Fargoal]]<br />
<br />
=== T ===<br />
* [[ToME]] (Trouble of Middle Earth)<br />
* [[Tower of Doom]]<br />
* [[Tyrant]]<br />
<br />
=== U ===<br />
* [[UnReal World]]<br />
* [[Utumno]]<br />
* [[UnderDark]]<br />
<br />
=== V ===<br />
* [[Valengard]]<br />
<br />
=== W ===<br />
* [[Wa]]<br />
* [[Witherwyn: Adventures in the Infinite Realm]]<br />
* [[The Woods of Torbin]]<br />
* [[World of Darkness RogueLike]]<br />
<br />
=== X ===<br />
* [[Xenocide]]<br />
<br />
=== Y ===<br />
* [[You Only Live Once]]<br />
<br />
=== Z ===<br />
* [[Zangband]]<br />
* [[Zapm]]<br />
* [[Z-Day]]<br />
<br />
== Related topics ==<br />
* [[Categories]]<br />
<br />
[[Category:Lists of roguelikes|*]]</div>Telamon