http://roguebasin.com/api.php?action=feedcontributions&user=Ed+Ropple&feedformat=atomRogueBasin - User contributions [en]2024-03-28T17:56:48ZUser contributionsMediaWiki 1.36.0http://roguebasin.com/index.php?title=Sharplike&diff=21473Sharplike2010-06-18T14:22:32Z<p>Ed Ropple: /* Current Version */</p>
<hr />
<div>{{library| name = Sharplike<br />
|developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple<br />
|released = June 10, 2010 (0.2.0)<br />
|updated = June 18, 2010 (0.4.0)<br />
|dependencies = [[.NET Framework]] 2.0 or [[Mono Framework]]<br />
|status = Alpha<br />
|licensing = [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt Common Public Attribution License, Version 1.0]<br />
|language = [[C Sharp|C#]]<br />
|platforms = [[Windows]], [[Mac OS X]] (Mono 2.4 and newer), [[Linux]] (Mono 2.2 and newer)<br />
|site = http://dev.largerussiangames.com/projects/show/sharplike<br />
}}<br />
<br />
==Introduction==<br />
Sharplike is an open source roguelike library written in [[C_Sharp|C#]] for the [[.NET Framework]] and [[Mono Framework]], licensed under the [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt CPAL 1.0] (a derivative of the Mozilla Public License). It is developed in an attempt to provide a best-practices framework within which developers can concentrate on just making an awesome game, instead of spending a lot of time reinventing the wheel. Development of Sharplike focuses on two separate concerns:<br />
<br />
* An '''easily usable, extensible''' core library, and<br />
* A clean, powerful library of additional features for developers who want to get a head start on realizing their game.<br />
<br />
==Current Version==<br />
The current version of Sharplike is '''0.4.0''', released on June 18, 2010. Features include (0.4.0 in bold):<br />
<br />
* Modular core system for audio, graphics, input, and scripting (scripting currently disabled) using a provider model for all core systems.<br />
* OpenGL audio and video system, using [[OpenTK]].<br />
* Keyboard and mouse input using WinForms. Command-based input mechanism; games don't have to care about specific key bindings outside of an .ini file, the framework handles it for you.<br />
* '''Blocking or non-blocking game flow.'''<br />
* Stack based state machine for control flow. Integrates with the game loop automatically, without any special configuration.<br />
* Preliminary noise generation systems in Sharplike.Noise.<br />
* '''Mapping system is (mostly) finished, using Pages (uniformly sized blocks) of Squares (tiles). Other features build on top of Mapping, including the following:'''<br />
:* '''Entity system implemented (usable for both mobiles and items). Predominantly event-driven to enable fine-grained control.'''<br />
:* '''Messaging system implemented, to send messages between entities and pages in a thread-safe manner (that works effectively with the multi-threaded schedulers).'''<br />
:* '''A game caching system. Currently only "cold" caching (to-disk) is implemented; future plans include a "warm" caching system for saving on CPU time while keeping the page and its entities in memory.'''<br />
:* '''An actor scheduling system, with a number of scheduler types. The SingleThreadedScheduler is recommended for simpler games, such as Hacks and Bands, while the multithreaded schedulers (included primarily for advanced use) are more useful for large-scale, Dwarf Fortress-style games.'''<br />
* '''Control-based UI, named Regions, for use in graphical displays. A Region is somewhat similar to a Windows Form control, in that it may be arbitrarily placed within the display window. They may be subclassed for your specific needs. (The map display is a Region, and can be manipulated as such.)'''<br />
* Built using the .NET Framework 2.0 and tested with Mono 2.4.4 to ensure cross-platform operation on Linux and Mac OS X.<br />
<br />
==Links==<br />
* http://dev.largerussiangames.com/projects/show/sharplike - the Redmine project on the primary developers' tracker. Primary source for documentation and updates on development.<br />
* http://dev.largerussiangames.com/projects/sharplike/boards - the Sharplike forum.<br />
* http://dev.largerussiangames.com/projects/list_files/sharplike - the Sharplike release list.<br />
* http://opensource.edropple.com/svn/Sharplike/trunk - SVN trunk for project's source repository.</div>Ed Ropplehttp://roguebasin.com/index.php?title=Sharplike&diff=21472Sharplike2010-06-18T13:53:26Z<p>Ed Ropple: </p>
<hr />
<div>{{library| name = Sharplike<br />
|developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple<br />
|released = June 10, 2010 (0.2.0)<br />
|updated = June 18, 2010 (0.4.0)<br />
|dependencies = [[.NET Framework]] 2.0 or [[Mono Framework]]<br />
|status = Alpha<br />
|licensing = [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt Common Public Attribution License, Version 1.0]<br />
|language = [[C Sharp|C#]]<br />
|platforms = [[Windows]], [[Mac OS X]] (Mono 2.4 and newer), [[Linux]] (Mono 2.2 and newer)<br />
|site = http://dev.largerussiangames.com/projects/show/sharplike<br />
}}<br />
<br />
==Introduction==<br />
Sharplike is an open source roguelike library written in [[C_Sharp|C#]] for the [[.NET Framework]] and [[Mono Framework]], licensed under the [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt CPAL 1.0] (a derivative of the Mozilla Public License). It is developed in an attempt to provide a best-practices framework within which developers can concentrate on just making an awesome game, instead of spending a lot of time reinventing the wheel. Development of Sharplike focuses on two separate concerns:<br />
<br />
* An '''easily usable, extensible''' core library, and<br />
* A clean, powerful library of additional features for developers who want to get a head start on realizing their game.<br />
<br />
==Current Version==<br />
The current version of Sharplike is '''0.4.0''', released on June 18, 2010. Features include (0.4.0 in bold):<br />
<br />
* Modular core system for audio, graphics, input, and scripting (scripting currently disabled) using a provider model for all core systems.<br />
* OpenGL audio and video system, using [[OpenTK]].<br />
* Keyboard and mouse input using WinForms. Command-based input mechanism; games don't have to care about specific key bindings outside of an .ini file, the framework handles it for you.<br />
* Stepwise game loop system for roguelike game control. (Realtime game loop coming in the next release.)<br />
* Stack based state machine for control flow. Integrates with the game loop automatically, without any special configuration.<br />
* Preliminary noise generation systems in Sharplike.Noise.<br />
* '''Mapping system is (mostly) finished, using Pages (uniformly sized blocks) of Squares (tiles). Other features build on top of Mapping, including the following:'''<br />
:* '''Entity system implemented (usable for both mobiles and items). Predominantly event-driven to enable fine-grained control.'''<br />
:* '''Messaging system implemented, to send messages between entities and pages in a thread-safe manner (that works effectively with the multi-threaded schedulers).'''<br />
:* '''A game caching system. Currently only "cold" caching (to-disk) is implemented; future plans include a "warm" caching system for saving on CPU time while keeping the page and its entities in memory.'''<br />
:* '''An actor scheduling system, with a number of scheduler types. The SingleThreadedScheduler is recommended for simpler games, such as Hacks and Bands, while the multithreaded schedulers (included primarily for advanced use) are more useful for large-scale, Dwarf Fortress-style games.'''<br />
* '''Control-based UI, named Regions, for use in graphical displays. A Region is somewhat similar to a Windows Form control, in that it may be arbitrarily placed within the display window. They may be subclassed for your specific needs. (The map display is a Region, and can be manipulated as such.)'''<br />
* Built using the .NET Framework 2.0 and tested with Mono 2.4.4 to ensure cross-platform operation on Linux and Mac OS X.<br />
<br />
==Links==<br />
* http://dev.largerussiangames.com/projects/show/sharplike - the Redmine project on the primary developers' tracker. Primary source for documentation and updates on development.<br />
* http://dev.largerussiangames.com/projects/sharplike/boards - the Sharplike forum.<br />
* http://dev.largerussiangames.com/projects/list_files/sharplike - the Sharplike release list.<br />
* http://opensource.edropple.com/svn/Sharplike/trunk - SVN trunk for project's source repository.</div>Ed Ropplehttp://roguebasin.com/index.php?title=News&diff=21468News2010-06-18T07:43:27Z<p>Ed Ropple: </p>
<hr />
<div><!-- Add new news to the top --><br />
* 18 Jun 2010 - [[Sharplike]] 0.4.0 [http://oss.largerussiangames.com/42/sharplike-0-4-0-released/ released]<br />
* 16 Jun 2010 - [[Rogue Survivor]] alpha 3.1 [http://roguesurvivor.blogspot.com/ released]<br />
* 10 Jun 2010 - [[Roguelike GCS Editor]] 0.11 alpha [http://www.roguelike-gcs.co.uk/ released]<br />
* 10 Jun 2010 - [[Privateer: Ascii Sector]] v0.6.6 [http://www.asciisector.net released]<br />
* 10 Jun 2010 - [[Sharplike]] 0.2.0 [http://oss.largerussiangames.com/6/sharplike-0-2-0-releases/ released]<br />
* 05 Jun 2010 - [[Dwarf Fortress]] 0.31.05 [http://www.bay12forums.com/smf/index.php?topic=58651.0 released]<br />
* 04 Jun 2010 - [[Prospector]] 0.1.12a [http://code.google.com/p/rlprospector/ released]<br />
* 03 Jun 2010 - [[Neon]] 0.3.1 [http://sourceforge.net/projects/neon/ released]<br />
* 03 Jun 2010 - [[AliensRL]] 0.8.0 [http://alien.chaosforge.org/ released]<br />
* 01 Jun 2010 - [[Rayel]] 0.1.9 [http://anfeir.ter12.ru/rayel.htm released]<br />
* 31 May 2010 - [[Triangle Wizard]] R 8.0.7 [http://trianglewizard.webs.com/ released]<br />
* 30 May 2010 - [[ToME]] 4.0.0 Beta3 [http://blog.te4.org released]<br />
* 30 May 2010 - [[Roguelike gcs]] 0.10 alpha [http://www.roguelike-gcs.co.uk/ released]<br />
* 26 May 2010 - [[Triangle Wizard]] R 8.0.6 [http://trianglewizard.webs.com/ released]<br />
* 25 May 2010 - [[Magecrawl]] Tech Demo III [http://iferrorthrownewbrick.blogspot.com/2010/05/magecrawl-tech-demo-iii-release-for.html released]<br />
* 24 May 2010 - [[Prospector]] 0.1.12 [http://code.google.com/p/rlprospector/ released]<br />
<div style="text-align:right"><br />
''See also: [[Old news]]''<br />
</div><br />
<br />
[[Category:Main]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=Sharplike&diff=21467Sharplike2010-06-18T07:33:50Z<p>Ed Ropple: </p>
<hr />
<div>{{library| name = Sharplike<br />
|developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple<br />
|released = June 10, 2010 (0.2.0)<br />
|updated = June 18, 2010 (0.4.0)<br />
|dependencies = [[.NET Framework]] 2.0 or [[Mono Framework]]<br />
|status = Alpha<br />
|licensing = [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt Common Public Attribution License, Version 1.0]<br />
|language = [[C Sharp|C#]]<br />
|platforms = [[Windows]], [[Mac OS X]] (Mono 2.4 and newer), [[Linux]] (Mono 2.2 and newer)<br />
|site = http://dev.largerussiangames.com/projects/show/sharplike<br />
}}<br />
<br />
==Introduction==<br />
Sharplike is an open source roguelike library written in [[C_Sharp|C#]] for the [[.NET Framework]] and [[Mono Framework]], licensed under the [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt CPAL 1.0] (a derivative of the Mozilla Public License). It is developed in an attempt to provide a best-practices framework within which developers can concentrate on just making an awesome game, instead of spending a lot of time reinventing the wheel. Development of Sharplike focuses on two separate concerns:<br />
<br />
* An '''easily usable, extensible''' core library, and<br />
* A clean, powerful library of additional features for developers who want to get a head start on realizing their game.<br />
<br />
==Current Version==<br />
The current version of Sharplike is '''0.4.0''', released on June 18, 2010. Features include:<br />
<br />
* Modular core system for audio, graphics, input, and scripting (scripting currently disabled) using a provider model for all core systems.<br />
* OpenGL audio and video system, using [[OpenTK]].<br />
* Keyboard and mouse input using WinForms. Command-based input mechanism; games don't have to care about specific key bindings outside of an .ini file, the framework handles it for you.<br />
* Stepwise game loop system for roguelike game control. (Realtime game loop coming in the next release.)<br />
* Stack based state machine for control flow. Integrates with the game loop automatically, without any special configuration.<br />
* Preliminary noise generation systems in Sharplike.Noise.<br />
* Mapping system is (mostly) finished, using Pages (uniformly sized blocks) of Squares (tiles). Other features build on top of Mapping, including the following:<br />
:* Entity system implemented (usable for both mobiles and items). Predominantly event-driven to enable fine-grained control.<br />
:* Messaging system implemented, to send messages between entities and pages in a thread-safe manner (that works effectively with the multi-threaded schedulers).<br />
:* A game caching system. Currently only "cold" caching (to-disk) is implemented; future plans include a "warm" caching system for saving on CPU time while keeping the page and its entities in memory.<br />
:* An actor scheduling system, with a number of scheduler types. The SingleThreadedScheduler is recommended for simpler games, such as Hacks and Bands, while the multithreaded schedulers (included primarily for advanced use) are more useful for large-scale, Dwarf Fortress-style games.<br />
* Control-based UI, named Regions, for use in graphical displays. A Region is somewhat similar to a Windows Form control, in that it may be arbitrarily placed within the display window. They may be subclassed for your specific needs. (The map display is a Region, and can be manipulated as such.)<br />
* Built using the .NET Framework 2.0 and tested with Mono 2.4.4 to ensure cross-platform operation on Linux and Mac OS X.<br />
<br />
==Links==<br />
* http://dev.largerussiangames.com/projects/show/sharplike - the Redmine project on the primary developers' tracker. Primary source for documentation and updates on development.<br />
* http://dev.largerussiangames.com/projects/sharplike/boards - the Sharplike forum.<br />
* http://dev.largerussiangames.com/projects/list_files/sharplike - the Sharplike release list.<br />
* http://opensource.edropple.com/svn/Sharplike/trunk - SVN trunk for project's source repository.</div>Ed Ropplehttp://roguebasin.com/index.php?title=Sharplike&diff=21447Sharplike2010-06-11T20:23:59Z<p>Ed Ropple: </p>
<hr />
<div>{{library| name = Sharplike<br />
|developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple<br />
|released = June 10, 2010 (0.2.0)<br />
|updated = June 10, 2010 (0.2.0)<br />
|dependencies = [[.NET Framework]] 2.0 or [[Mono Framework]]<br />
|status = Alpha<br />
|licensing = [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt Common Public Attribution License, Version 1.0]<br />
|language = [[C Sharp|C#]]<br />
|platforms = [[Windows]], [[Mac OS X]] (Mono 2.4 and newer), [[Linux]] (Mono 2.2 and newer)<br />
|site = http://dev.largerussiangames.com/projects/show/sharplike<br />
}}<br />
<br />
==Introduction==<br />
Sharplike is an open source roguelike library written in [[C_Sharp|C#]] for the [[.NET Framework]] and [[Mono Framework]], licensed under the [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt CPAL 1.0] (a derivative of the Mozilla Public License). It is developed in an attempt to provide a best-practices framework within which developers can concentrate on just making an awesome game, instead of spending a lot of time reinventing the wheel. Development of Sharplike focuses on two separate concerns:<br />
<br />
* An '''easily usable, extensible''' core library, and<br />
* A clean, powerful library of additional features for developers who want to get a head start on realizing their game.<br />
<br />
==Current Version==<br />
The current version of Sharplike is '''0.2.0''', released on June 10, 2010. Features include:<br />
<br />
* Modular core system for audio, graphics, input, and scripting (scripting currently disabled) using a provider model for all core systems.<br />
* OpenGL audio and video system, using [[OpenTK]].<br />
* Keyboard and mouse input using WinForms. Command-based input mechanism; games don't have to care about specific key bindings outside of an .ini file, the framework handles it for you.<br />
* Stepwise game loop system for roguelike game control. (Realtime game loop coming in the next release.)<br />
* Stack based state machine for control flow. Integrates with the game loop automatically, without any special configuration.<br />
* Preliminary noise generation systems in Sharplike.Noise.<br />
* Very early start of a UI library to use in conjunction with the core libraries. (Next release wll build this out significantly.)<br />
* Built using the .NET Framework 2.0 and tested with Mono 2.4.4 to ensure cross-platform operation on Linux and Mac OS X.<br />
<br />
==Links==<br />
* http://dev.largerussiangames.com/projects/show/sharplike - the Redmine project on the primary developers' tracker. Primary source for documentation and updates on development.<br />
* http://dev.largerussiangames.com/projects/sharplike/boards - the Sharplike forum.<br />
* http://dev.largerussiangames.com/projects/list_files/sharplike - the Sharplike release list.<br />
* http://opensource.edropple.com/svn/Sharplike/trunk - SVN trunk for project's source repository.</div>Ed Ropplehttp://roguebasin.com/index.php?title=Sharplike&diff=21446Sharplike2010-06-11T18:17:54Z<p>Ed Ropple: </p>
<hr />
<div>{{library| name = Sharplike: The Open Roguelike Library<br />
|developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple<br />
|released = June 10, 2010 (0.2.0)<br />
|updated = June 10, 2010 (0.2.0)<br />
|dependencies = [[.NET Framework]] 2.0 or [[Mono Framework]]<br />
|status = Alpha<br />
|licensing = [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt Common Public Attribution License, Version 1.0]<br />
|language = [[C Sharp|C#]]<br />
|platforms = [[Windows]], [[Mac OS X]] (Mono 2.4 and newer), [[Linux]] (Mono 2.2 and newer)<br />
|site = http://dev.largerussiangames.com/projects/show/sharplike<br />
}}<br />
<br />
==Introduction==<br />
Sharplike is an open source roguelike library written in [[C_Sharp|C#]] for the [[.NET Framework]] and [[Mono Framework]], licensed under the [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt CPAL 1.0] (a derivative of the Mozilla Public License). It is developed in an attempt to provide a best-practices framework within which developers can concentrate on just making an awesome game, instead of spending a lot of time reinventing the wheel. Development of Sharplike focuses on two separate concerns:<br />
<br />
* An '''easily usable, extensible''' core library, and<br />
* A clean, powerful library of additional features for developers who want to get a head start on realizing their game.<br />
<br />
==Current Version==<br />
The current version of Sharplike is '''0.2.0''', released on June 10, 2010. Features include:<br />
<br />
* Modular core system for audio, graphics, input, and scripting (scripting currently disabled) using a provider model for all core systems.<br />
* OpenGL audio and video system, using [[OpenTK]].<br />
* Keyboard and mouse input using WinForms. Command-based input mechanism; games don't have to care about specific key bindings outside of an .ini file, the framework handles it for you.<br />
* Stepwise game loop system for roguelike game control. (Realtime game loop coming in the next release.)<br />
* Stack based state machine for control flow. Integrates with the game loop automatically, without any special configuration.<br />
* Preliminary noise generation systems in Sharplike.Noise.<br />
* Very early start of a UI library to use in conjunction with the core libraries. (Next release wll build this out significantly.)<br />
* Built using the .NET Framework 2.0 and tested with Mono 2.4.4 to ensure cross-platform operation on Linux and Mac OS X.<br />
<br />
==Links==<br />
* http://dev.largerussiangames.com/projects/show/sharplike - the Redmine project on the primary developers' tracker. Primary source for documentation and updates on development.<br />
* http://dev.largerussiangames.com/projects/sharplike/boards - the Sharplike forum.<br />
* http://dev.largerussiangames.com/projects/list_files/sharplike - the Sharplike release list.<br />
* http://opensource.edropple.com/svn/Sharplike/trunk - SVN trunk for project's source repository.</div>Ed Ropplehttp://roguebasin.com/index.php?title=Sharplike&diff=21442Sharplike2010-06-10T21:26:24Z<p>Ed Ropple: </p>
<hr />
<div>{{library| name = Sharplike: The Open Roguelike Library<br />
|developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple<br />
|released = June 10, 2010 (0.2.0)<br />
|updated = June 10, 2010 (0.2.0)<br />
|dependencies = [[.NET Framework]] 2.0 or [[Mono Framework]]<br />
|status = Alpha<br />
|licensing = [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt Common Public Attribution License, Version 1.0]<br />
|language = [[C Sharp|C#]]<br />
|platforms = [[Windows]], [[Mac OS X]] (Mono 2.4 and newer), [[Linux]] (Mono 2.2 and newer)<br />
|site = http://dev.largerussiangames.com/projects/show/sharplike<br />
}}<br />
<br />
==Introduction==<br />
Sharplike is an open source roguelike library written in [[C_Sharp|C#]] for the [[.NET Framework]] and [[Mono Framework]], licensed under the [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt CPAL 1.0] (a derivative of the Mozilla Public License). It is developed in an attempt to provide a best-practices framework within which developers can concentrate on just making an awesome game, instead of spending a lot of time reinventing the wheel. Development of Sharplike focuses on two separate concerns:<br />
<br />
* An '''easily usable, extensible''' core library, and<br />
* A clean, powerful library of additional features for developers who want to get a head start on realizing their game.<br />
<br />
==Current Version==<br />
The current version of Sharplike is '''0.2.0''', released on June 10, 2010. Features include:<br />
<br />
* Modular core system for audio, graphics, input, and scripting (scripting currently disabled) using a provider model for all core systems.<br />
* OpenGL audio and video system, using [[OpenTK]].<br />
* Keyboard and mouse input using WinForms. Command-based input mechanism; games don't have to care about specific key bindings outside of an .ini file, the framework handles it for you.<br />
* Stepwise game loop system for roguelike game control. (Realtime game loop coming in the next release.)<br />
* Stack based state machine for control flow. Integrates with the game loop automatically, without any special configuration.<br />
* Preliminary noise generation systems in Sharplike.Noise.<br />
* Very early start of a UI library to use in conjunction with the core libraries. (Next release wll build this out significantly.)<br />
* Built using the .NET Framework 2.0 and tested with Mono 2.4.4 to ensure cross-platform operation on Linux and Mac OS X.<br />
<br />
==Links==<br />
* http://dev.largerussiangames.com/projects/show/sharplike - the Redmine project on the primary developers' tracker. Primary source for documentation and updates on development.<br />
* http://dev.largerussiangames.com/projects/sharplike/boards - the Sharplike forum.<br />
* http://dev.largerussiangames.com/projects/list_files/sharplike - the Sharplike release list.</div>Ed Ropplehttp://roguebasin.com/index.php?title=RogueSDL&diff=21436RogueSDL2010-06-10T17:31:02Z<p>Ed Ropple: </p>
<hr />
<div>{{library| name = RogueSDL <br />
|developer = [[User:Ed Ropple | Ed Ropple]]<br />
|released = <br />
|updated = <br />
|dependencies = <br />
|status = <br />
|licensing = GNU LGPL<br />
|language = <br />
|platforms = <br />
|site = http://www.umcs.maine.edu/~err/oss/roguesdl<br />
}}{{stub}}<br />
<br />
RogueSDL is the Roguelike graphics and input library for [[C Sharp|C#]] and the [[.NET Framework]] maintained by [[User:Ed Ropple | Ed Ropple]]. It supports 24-bit color for ASCII tiles, high-bit rendered tiles, and nonstandard viewport widths (the library will accept anything that is a multiple of tile width and height).<br />
<br />
RogueSDL uses the SDL.NET rendering libraries and is released under the GNU Lesser General Public License.<br />
<br />
<br />
'''June 11, 2010:''' RogueSDL's codebase was lost in a crash (anyone still have it?) and is somewhat replaced by [[Sharplike]], a much more powerful and flexible library than RogueSDL (also by the same author).</div>Ed Ropplehttp://roguebasin.com/index.php?title=News&diff=21432News2010-06-10T04:31:57Z<p>Ed Ropple: </p>
<hr />
<div><!-- Add new news to the top --><br />
* 10 Jun 2010 - [[Sharplike]] 0.2.0 [http://oss.largerussiangames.com/6/sharplike-0-2-0-releases/ released]<br />
* 05 Jun 2010 - [[Dwarf Fortress]] 0.31.05 [http://www.bay12forums.com/smf/index.php?topic=58651.0 released]<br />
* 04 Jun 2010 - [[Prospector]] 0.1.12a [http://code.google.com/p/rlprospector/ released]<br />
* 03 Jun 2010 - [[Neon]] 0.3.1 [http://sourceforge.net/projects/neon/ released]<br />
* 03 Jun 2010 - [[AliensRL]] 0.8.0 [http://alien.chaosforge.org/ released]<br />
* 01 Jun 2010 - [[Rayel]] 0.1.9 [http://anfeir.ter12.ru/rayel.htm released]<br />
* 31 May 2010 - [[Triangle Wizard]] R 8.0.7 [http://trianglewizard.webs.com/ released]<br />
* 30 May 2010 - [[ToME]] 4.0.0 Beta3 [http://blog.te4.org released]<br />
* 30 May 2010 - [[Roguelike gcs]] 0.10 alpha [http://www.roguelike-gcs.co.uk/ released]<br />
* 26 May 2010 - [[Triangle Wizard]] R 8.0.6 [http://trianglewizard.webs.com/ released]<br />
* 25 May 2010 - [[Magecrawl]] Tech Demo III [http://iferrorthrownewbrick.blogspot.com/2010/05/magecrawl-tech-demo-iii-release-for.html released]<br />
* 24 May 2010 - [[Prospector]] 0.1.12 [http://code.google.com/p/rlprospector/ released]<br />
<div style="text-align:right"><br />
''See also: [[Old news]]''<br />
</div><br />
<br />
[[Category:Main]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=Sharplike&diff=21431Sharplike2010-06-10T04:30:51Z<p>Ed Ropple: Created page with '{{library| name = Sharplike: The Open Roguelike Library |developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple |released = Ju…'</p>
<hr />
<div>{{library| name = Sharplike: The Open Roguelike Library<br />
|developer = [http://largerussiangames.com Large Russian Games]: Sean Edwards, Alex Karantza, and Ed Ropple<br />
|released = June 10, 2010 (0.2.0)<br />
|updated = June 10, 2010 (0.2.0)<br />
|dependencies = [[.NET Framework]] 2.0 or [[Mono]] 2.4 and newer<br />
|status = Alpha<br />
|licensing = [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt Common Public Attribution License, Version 1.0]<br />
|language = [[C Sharp|C#]]<br />
|platforms = [[Windows]], [[Mac OS X]], [[Linux]]<br />
|site = http://dev.largerussiangames.com/projects/show/sharplike<br />
}}<br />
<br />
==Introduction==<br />
Sharplike is an open source roguelike library written in [[C_Sharp|C#]] for the [[.NET Framework]] and [[Mono Framework]], licensed under the [http://opensource.edropple.com/svn/Sharplike/tags/0.2.0/Sharplike%20License.txt CPAL 1.0] (a derivative of the Mozilla Public License). It is developed in an attempt to provide a best-practices framework within which developers can concentrate on just making an awesome game, instead of spending a lot of time reinventing the wheel. Development of Sharplike focuses on two separate concerns:<br />
<br />
* An '''easily usable, extensible''' core library, and<br />
* A clean, powerful library of additional features for developers who want to get a head start on realizing their game.<br />
<br />
==Current Version==<br />
The current version of Sharplike is '''0.2.0''', released on June 10, 2010. Features include:<br />
<br />
* Modular core system for audio, graphics, input, and scripting (scripting currently disabled) using a provider model for all core systems.<br />
* OpenGL audio and video system, using [[OpenTK]].<br />
* Keyboard and mouse input using WinForms. Command-based input mechanism; games don't have to care about specific key bindings outside of an .ini file, the framework handles it for you.<br />
* Stepwise game loop system for roguelike game control. (Realtime game loop coming in the next release.)<br />
* Stack based state machine for control flow. Integrates with the game loop automatically, without any special configuration.<br />
* Preliminary noise generation systems in Sharplike.Noise.<br />
* Very early start of a UI library to use in conjunction with the core libraries. (Next release wll build this out significantly.)<br />
* Built using the .NET Framework 2.0 and tested with Mono 2.4.4 to ensure cross-platform operation on Linux and Mac OS X.<br />
<br />
==Links==<br />
* http://dev.largerussiangames.com/projects/show/sharplike - the Redmine project on the primary developers' tracker. Primary source for documentation and updates on development.<br />
* http://dev.largerussiangames.com/projects/sharplike/boards - the Sharplike forum.<br />
* http://dev.largerussiangames.com/projects/list_files/sharplike - the Sharplike release list.</div>Ed Ropplehttp://roguebasin.com/index.php?title=Portability_issues&diff=17828Portability issues2009-06-02T04:04:07Z<p>Ed Ropple: /* Filesystem */</p>
<hr />
<div>Portability Issues<br />
<br />
The purpose of this article is to collect portability issues often encountered by roguelike programmers as well as possible solutions for these problems.<br />
<br />
== Memory ==<br />
<br />
* Some [[Operating systems]], such as IRIX, allow the programs to read from a [[NULL address]], while others will [[segfault]] instantly. Trying to write to a [[NULL address]] will hopefully always cause a [[segfault]]. (Except on many embedded systems. The Gameboy Advance, for example, will not [[segfault]] on a [[NULL address]] write.)<br />
<br />
== Display ==<br />
<br />
* Only the characters of the basic (7bit) ASCII character set are reasonably portable. Using characters from extended character sets (like the solid blocks from the IBM DOS character set) or characters which aren't classified as printable by the ASCII standard (like the smileys from IBM DOS) will probably cause problems.<br />
** Extensions to ASCII are not portable. Unicode is portable, though, plus it includes all the old IBM DOS characters, though not necessarily at the same code points.<br />
* [[Output libraries]] discusses the options you have.<br />
<br />
== Filesystem ==<br />
<br />
* Some [[Operating systems]] (such as any that derive from or pattern [[UNIX]] or follow [[POSIX]] standards) are case-sensitive as far as filenames are concerned. Others (like [[DOS]] or [[Windows]]) are case-insensitive. Still others (like HFS , in common use on [[Mac OS X | OS X]]) preserve case but are insensitive to it. One shouldn't rely on any one case behavior to achieve maximum portability.<br />
* There are [[Operating systems]] that forbid use of certain characters within file names, most often path separators (e.g., colons in Classic [[Mac OS]]). Other characters may require "escaping" in filename references.<br />
* [[Operating systems]] may also restrict filename length or the total length of an absolute filepath.<br />
* [[DOS]] and [[Windows]] use backslash as their path separator while [[UNIX]] uses slash. Most Windows APIs will understand the forward slash as a path separator, however.<br />
[[Category:Articles]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=User:Ed_Ropple&diff=14218User:Ed Ropple2008-10-09T18:02:08Z<p>Ed Ropple: </p>
<hr />
<div>Hey, folks. I'm Ed, the creator of RogueSDL (now deprecated) and a developer of [http://code.google.com/p/libtcod-net/ libtcod-net], along with Chris Hamons, the maintainer. When it comes to roguelikes, I prefer to work primarily in [[C Sharp|C#]]. More to come later.</div>Ed Ropplehttp://roguebasin.com/index.php?title=User:Ed_Ropple&diff=14217User:Ed Ropple2008-10-09T18:01:44Z<p>Ed Ropple: </p>
<hr />
<div>Hey, folks. I'm Ed, the creator of RogueSDL (now deprecated) and a developer of [http://code.google.com/p/libtcod-net/ libtcod-net], along with Chris Hamons, the maintainer. More to come later.</div>Ed Ropplehttp://roguebasin.com/index.php?title=C_Sharp&diff=14216C Sharp2008-10-09T17:59:58Z<p>Ed Ropple: /* C# Roguelike Library */</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 originally Windows platform (end user must have .NET framework installed). However, the C# language is an open ECMA standard and can be reimplemented by anyone who chooses to; the [http://www.mono-project.com/Main_Page Mono Framework] is a very full-featured system available for Windows, OS X and Linux, even able to run most .NET-compiled applications so long as these applications do not use Windows API calls directly.<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 />
== Portability ==<br />
<br />
C# is a ECMA and ISO standardized language. There are currently a number of C# implementations. More information can be found [http://en.wikipedia.org/wiki/C_Sharp#Implementations here].<br />
<br />
== C# Roguelikes ==<br />
<br />
C# has only been used for a few roguelikes so far:<br />
<br />
* [[Witherwyn]]<br />
<br />
The site Evil Science contains a [http://www.evilscience.co.uk/?cat=5 small section] containing C# code samples for basic Roguelike concepts.<br />
<br />
== C# Roguelike Library ==<br />
<br />
The [[User:Ed Ropple|RogueSDL]] library is designed to work with C#, via .NET and Mono, to provide developers with an easy-to-use, quickly implemented graphics and input system for a Roguelike. RogueSDL has been deprecated in favor of libtcod-net.<br />
<br />
[http://code.google.com/p/libtcod-net/ libtcod-net] is a C# library that works under .NET and Mono, that provides bindings to [http://jice.nospam.googlepages.com/thedoryenlibrary TheDoryenLibrary]. This library provides a full console emulator, field of view, configuration file parsing, random number generation, and other things useful for a Roguelike. libtcod-net is, however, stalled in development, though fully functional with version 1.3 of The Doryen Library.<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=C_Sharp&diff=14215C Sharp2008-10-09T17:59:47Z<p>Ed Ropple: /* C# Roguelike Library */</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 originally Windows platform (end user must have .NET framework installed). However, the C# language is an open ECMA standard and can be reimplemented by anyone who chooses to; the [http://www.mono-project.com/Main_Page Mono Framework] is a very full-featured system available for Windows, OS X and Linux, even able to run most .NET-compiled applications so long as these applications do not use Windows API calls directly.<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 />
== Portability ==<br />
<br />
C# is a ECMA and ISO standardized language. There are currently a number of C# implementations. More information can be found [http://en.wikipedia.org/wiki/C_Sharp#Implementations here].<br />
<br />
== C# Roguelikes ==<br />
<br />
C# has only been used for a few roguelikes so far:<br />
<br />
* [[Witherwyn]]<br />
<br />
The site Evil Science contains a [http://www.evilscience.co.uk/?cat=5 small section] containing C# code samples for basic Roguelike concepts.<br />
<br />
== C# Roguelike Library ==<br />
<br />
The [User:Ed Ropple|RogueSDL]] library is designed to work with C#, via .NET and Mono, to provide developers with an easy-to-use, quickly implemented graphics and input system for a Roguelike. RogueSDL has been deprecated in favor of libtcod-net.<br />
<br />
[http://code.google.com/p/libtcod-net/ libtcod-net] is a C# library that works under .NET and Mono, that provides bindings to [http://jice.nospam.googlepages.com/thedoryenlibrary TheDoryenLibrary]. This library provides a full console emulator, field of view, configuration file parsing, random number generation, and other things useful for a Roguelike. libtcod-net is, however, stalled in development, though fully functional with version 1.3 of The Doryen Library.<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=C_Sharp&diff=14214C Sharp2008-10-09T17:59:32Z<p>Ed Ropple: /* C# Roguelike Library */</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 originally Windows platform (end user must have .NET framework installed). However, the C# language is an open ECMA standard and can be reimplemented by anyone who chooses to; the [http://www.mono-project.com/Main_Page Mono Framework] is a very full-featured system available for Windows, OS X and Linux, even able to run most .NET-compiled applications so long as these applications do not use Windows API calls directly.<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 />
== Portability ==<br />
<br />
C# is a ECMA and ISO standardized language. There are currently a number of C# implementations. More information can be found [http://en.wikipedia.org/wiki/C_Sharp#Implementations here].<br />
<br />
== C# Roguelikes ==<br />
<br />
C# has only been used for a few roguelikes so far:<br />
<br />
* [[Witherwyn]]<br />
<br />
The site Evil Science contains a [http://www.evilscience.co.uk/?cat=5 small section] containing C# code samples for basic Roguelike concepts.<br />
<br />
== C# Roguelike Library ==<br />
<br />
The [User:Ed Ropple|RogueSDL] library is designed to work with C#, via .NET and Mono, to provide developers with an easy-to-use, quickly implemented graphics and input system for a Roguelike. RogueSDL has been deprecated in favor of libtcod-net.<br />
<br />
[http://code.google.com/p/libtcod-net/ libtcod-net] is a C# library that works under .NET and Mono, that provides bindings to [http://jice.nospam.googlepages.com/thedoryenlibrary TheDoryenLibrary]. This library provides a full console emulator, field of view, configuration file parsing, random number generation, and other things useful for a Roguelike. libtcod-net is, however, stalled in development, though fully functional with version 1.3 of The Doryen Library.<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=C_Sharp&diff=13194C Sharp2008-06-14T05:00:29Z<p>Ed Ropple: Don't edit links when you don't have a clue.</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 originally Windows platform (end user must have .NET framework installed). However, the C# language is an open ECMA standard and can be reimplemented by anyone who chooses to; the [http://www.mono-project.com/Main_Page Mono Framework] is a very full-featured system available for Windows, OS X and Linux, even able to run most .NET-compiled applications so long as these applications do not use Windows API calls directly.<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 />
== Portability ==<br />
<br />
C# is a ECMA and ISO standardized language. There are currently a number of C# implementations. More information can be found [http://en.wikipedia.org/wiki/C_Sharp#Implementations here].<br />
<br />
== C# Roguelikes ==<br />
<br />
C# has only been used for a few roguelikes so far:<br />
<br />
* [[Witherwyn]]<br />
<br />
In addition, the [http://www.umcs.maine.edu/~err/oss/roguesdl RogueSDL] library is designed to work with C#, via .NET and Mono, to provide developers with an easy-to-use, quickly implemented graphics and input system for a Roguelike.<br />
<br />
The site Evil Science contains a [http://www.evilscience.co.uk/?cat=5 small section] containing C# code samples for basic Roguelike concepts.<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=News&diff=12111News2007-12-24T05:27:03Z<p>Ed Ropple: </p>
<hr />
<div>== 24 December 2007==<br />
* [[RogueSDL]] 1.0.0.0 [http://www.umcs.maine.edu/~err/oss/roguesdl released].<br />
<br />
== 22 December 2007==<br />
* [[Dwarf Fortress]] 0.27.169.33g [http://www.bay12games.com/dwarves released].<br />
<br />
== 1 December 2007 ==<br />
* [[Dwarf Fortress]] 0.27.169.33d [http://www.bay12games.com/dwarves released].<br />
* [[UnReal World]] 3.03.1 [http://www.jmp.fi/~smaarane/urw.html released].<br />
<br />
== 22 November 2007 ==<br />
<br />
* [[IronBand]] r1 has been [http://angband.oook.cz/rgra.php?showpost=115363 released].<br />
<br />
== 19 November 2007 ==<br />
<br />
* The latest [[Angband competition]] save-file is [http://www.angband-comp.pwp.blueyonder.co.uk/compo.html available].<br />
<br />
* [[UnAngband]] 0.6.2-wip7c [http://unangband.blogspot.com released].<br />
<br />
== 17 November 2007 ==<br />
* [[Dwarf Fortress]] 0.27.169.33b [http://www.bay12games.com/dwarves released]<br />
<br />
== 4 November 2007 ==<br />
<br />
* [[UnAngband]] 0.6.2-wip7b [http://unangband.blogspot.com released]<br />
<br />
== 3 November 2007 ==<br />
* [[Ascii Dreams]] has [http://roguelikedeveloper.blogspot.com/2007/11/unangband-monster-ai-part-four.html part IV] of the [http://roguelikedeveloper.blogspot.com/2007/10/unangband-monster-ai-part-one-history.html Unangband monster AI] series of articles available.<br />
<br />
== 31 October 2007 ==<br />
* [[Dungeon Crawl Stone Soup]] 0.3 [http://crawl-ref.sourceforge.net/ released]<br />
<br />
== 30 October 2007 ==<br />
* [[Dwarf Fortress]] 0.27.169.32a [http://www.bay12games.com/dwarves released]<br />
<br />
== 29 October 2007 ==<br />
* [[UnAngband]] 0.6.2-wip7a [http://unangband.blogspot.com released]<br />
<br />
== 27 October 2007 ==<br />
* [[SewerJacks]] 0.8.5b [http://sewerjacks.sourceforge.net/ released]<br />
<br />
== 23 October 2007 ==<br />
* [[UnAngband]] 0.6.2-wip7 [http://unangband.blogspot.com released]<br />
<br />
== 21 October 2007 ==<br />
* [[UnReal World]] 3.03 [http://www.jmp.fi/~smaarane/urw.html released]<br />
<br />
== 20 October 2007 ==<br />
* [[Saffron]] 0.6 [http://iceyboard.no-ip.org/projects/saffron/ released]<br />
* [[First Age Angband]] 0.3.0 [http://angband.oook.cz/faangband/ released]<br />
* [[ChessRogue]] 0.3.0 [http://chessrogue.sourceforge.net/ released]<br />
<br />
== 17 October 2007 ==<br />
* [[Lords of DarkHall]] 1.1.2 [http://lordsofdarkhall.weebly.com/ released]<br />
* [[Beggar]] 0.4.9 [http://sourceforge.net/projects/beggar/ released]<br />
<br />
== 9 October 2007 ==<br />
* [[Incursion | Incursion: Halls of the Goblin King]] 0.6.4E [http://www.incursion-roguelike.org/download.html released]<br />
<br />
== 30 September 2007 ==<br />
* [[GearHead2]] 0.440 [http://gearhead.roguelikedevelopment.org/ released]<br />
<br />
== 27 September 2007 ==<br />
* [[Gumband]] 2.3.0 [http://angband.oook.cz/gumband/ released]<br />
<br />
== 19 September 2007 ==<br />
* [[Deep]] 2.21d [http://sloth.xmark.us/ released]<br />
<br />
== 31 August 2007 ==<br />
* [[UnAngband]] 0.6.2-wip6a [http://unangband.blogspot.com/2007/09/unangband-062-wip6a.html released]<br />
<br />
==15 August 2007 ==<br />
* [[CastlevaniaRL | CastlevaniaRL: Serenade of Chaos]] 1.26 [http://www.santiagoz.com/web released]<br />
<br />
==13 August 2007 ==<br />
* [[Deep]] 2.21c [http://sloth.xmark.us/ released]<br />
<br />
== 8 August 2007 ==<br />
* [[Subterrane]] 0.224 Alpha [http://subterrane.tarindel.com/?p=7 released]<br />
<br />
<div style="text-align:right"><br />
&nbsp;<br />
''See also: [[Old news]]''<br />
</div></div>Ed Ropplehttp://roguebasin.com/index.php?title=RogueSDL&diff=12110RogueSDL2007-12-24T05:26:00Z<p>Ed Ropple: </p>
<hr />
<div>RogueSDL is the Roguelike graphics and input library for C# and the .NET Framework maintained by [[User:Ed Ropple]]. It supports 24-bit color for ASCII tiles, high-bit rendered tiles, and nonstandard viewport widths (the library will accept anything that is a multiple of tile width and height).<br />
<br />
RogueSDL uses the SDL.NET rendering libraries and is released under the GNU Lesser General Public License.<br />
<br />
== External Links ==<br />
* [http://www.umcs.maine.edu/~err/oss/roguesdl RogueSDL Homepage]</div>Ed Ropplehttp://roguebasin.com/index.php?title=C_Sharp&diff=12109C Sharp2007-12-24T04:56:52Z<p>Ed Ropple: /* C# Roguelikes */</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 originally Windows platform (end user must have .NET framework installed). However, the C# language is an open ECMA standard and can be reimplemented by anyone who chooses to; the [http://www.mono-project.com/Main_Page Mono Framework] is a very full-featured system available for Windows, OS X and Linux, even able to run most .NET-compiled applications so long as these applications do not use Windows API calls directly.<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 />
== Portability ==<br />
<br />
C# is a ECMA and ISO standardized language. There are currently a number of C# implementations. More information can be found [http://en.wikipedia.org/wiki/C_Sharp#Implementations here].<br />
<br />
== C# Roguelikes ==<br />
<br />
C# has only been used for a few roguelikes so far:<br />
<br />
* [[Witherwyn]]<br />
<br />
In addition, the [http://www.umcs.maine.edu/~err/oss/roguesdl RogueSDL] library is designed to work with C#, via .NET and Mono, to provide developers with an easy-to-use, quickly implemented graphics and input system for a Roguelike.<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=C_Sharp&diff=12108C Sharp2007-12-24T04:55:36Z<p>Ed Ropple: /* Language Characteristics */</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 originally Windows platform (end user must have .NET framework installed). However, the C# language is an open ECMA standard and can be reimplemented by anyone who chooses to; the [http://www.mono-project.com/Main_Page Mono Framework] is a very full-featured system available for Windows, OS X and Linux, even able to run most .NET-compiled applications so long as these applications do not use Windows API calls directly.<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 />
== Portability ==<br />
<br />
C# is a ECMA and ISO standardized language. There are currently a number of C# implementations. More information can be found [http://en.wikipedia.org/wiki/C_Sharp#Implementations here].<br />
<br />
== C# Roguelikes ==<br />
<br />
C# has only been used for a few roguelikes so far:<br />
<br />
* [[Witherwyn]]<br />
<br />
== Related Links ==<br />
<br />
[[Category:Programming languages]]</div>Ed Ropplehttp://roguebasin.com/index.php?title=Links&diff=12107Links2007-12-24T04:45:29Z<p>Ed Ropple: /* Development Resources */</p>
<hr />
<div>== Archives and History ==<br />
* [http://thelist.roguelikedevelopment.org/ Actively Developing Roguelikes] - Roguelikes sorted by last release date. Includes [[Alpha Projects]] and [[Beta Projects]].<br />
* [http://tvilsom.org/roguelike/ BALROG] - Genealogy and chronology of roguelikes.<br />
* [http://www.digital-eel.com/deep.htm Dungeons Deep] - Freeware fantasy dungeon game classics.<br />
* [http://www.the-underdogs.info/genre.php?id=7&subgen=Roguelike Home of the Underdogs] - Great listing of older roguelikes.<br />
* [http://dmoz.org/Games/Video_Games/Roleplaying/Rogue-like/ Open Directory Project's Rogue-like Category] - Indexed collection of roguelikes and related resources.<br />
* [http://www.graveyard.roguelikedevelopment.org/ Roguelike Graveyard] - The place for abandoned roguelikes.<br />
* [http://rogue.rogueforge.net/ Roguelike Restoration Project] - The Project's goal is to find old roguelikes (e.g., rogue, xrogue, ultrarogue) and patch them to run on today's computing platforms.<br />
* [http://en.wikipedia.org/wiki/Roguelike Wikipedia entry] on Roguelikes.<br />
<br />
== Columns and Periodicals ==<br />
* [http://www.gamesetwatch.com/column_at_play/ @ Play] - Bi-weekly column on roguelikes.<br />
* [http://magazine.roguelike.us/index.html Roguelike. The magazine.] - Articles on roguelikes in general.<br />
* [http://txe.swa.com/roguelike/ Roguelike Review] - A website that reviews roguelikes.<br />
* [http://www.roguetemple.com/ Temple of the Roguelike] - Reviews, articles, resources.<br />
<br />
== Web Forums ==<br />
* [http://angband.oook.cz/forum/ Angband] web forums.<br />
* [http://www.bay12games.com/cgi-local/ultimatebb.cgi Dwarf Fortress] web forums.<br />
* [http://boards.gamefaqs.com/gfaqs/gentopic.php?board=582497 GameFAQs] forum for [[Nethack]].<br />
* [http://community.livejournal.com/angband_game/ Live Journal] forum for [[Angband]] and [[Zangband]].<br />
* [http://www.roguetemple.com/forums/ Temple of the Roguelike] web forums for all roguelike players and developers.<br />
* [http://forum.t-o-m-e.net/ ToME: Troubles of Middle-Earth] web forums.<br />
* [http://nppangband.tannert.name/ TONPPAFS] web forums for [[NPPAngband]].<br />
<br />
== Blogs ==<br />
* [http://roguelikedeveloper.blogspot.com/ Ascii Dreams] - [[UnAngband]] development blog.<br />
* [http://doryen.blogspot.com/ The Chronicles of Doryen] - [[Doryen]] development blog.<br />
* [http://domainsofmystery.blogspot.com/ Domains of Mystery] - Records of roguelike adventures.<br />
* [http://kaduria.blogspot.com/ Kaduria] - [[Kaduria]] development blog.<br />
* [http://szdev.livejournal.com/ SZDev] - Development blog for [[Slash]]'s roguelikes.<br />
<br />
== Mailing Lists ==<br />
* [http://angband.oook.cz/mailman/listinfo/angband-dev Angband development] - Medium traffic list discussing Angband development.<br />
<br />
== Development Resources ==<br />
* [http://www-cs-students.stanford.edu/~amitp/gameprog.html Amit's Game Programming Information] - General game programming information.<br />
* [http://www.roguelikedevelopment.org/ Dungeondweller] - Roguelike development resources.<br />
* [http://h-world.simugraph.com/pmwiki/pmwiki.php?n=Library.Catalog Hajo's library] - A collection of articles concerning game development.<br />
* [http://www.umcs.maine.edu/~err/oss/roguesdl RogueSDL] - A Roguelike graphics and input library for .NET and Mono. Written in [[C_Sharp|C#]].<br />
* [http://library.simugraph.com/ Simugraph game development library] - Roguelike/cRPG articles.<br />
<br />
[[category:main]]</div>Ed Ropple