Difference between revisions of "ProD"

From RogueBasin
Jump to navigation Jump to search
Line 1: Line 1:
== Introduction ==
== Introduction ==


ProD is a versatile game development kit in C# designed for the [http://unity3d.com/ Unity Engine]. ProD gives you the essential tools for making games with procedurally generated content as well as various common tools for roguelike development.  
Pro-D is a versatile game development kit in C# designed for the [http://unity3d.com/ Unity Engine]. Pro-D gives you the essential tools for making games with procedurally generated content as well as various common tools for roguelike development.  


ProD’s main features include random map generation, A* pathfinding, turn-based progression,  object distribution, field of view and fog of war. The package supports use of both 2D and 3D assets even though the generation field is two dimensional.
Pro-D’s main features include random map generation, A* pathfinding, turn-based progression,  object distribution, field of view and fog of war. The package supports use of both 2D and 3D assets even though the generation field is two dimensional.


== Downloads & Versions ==
== Downloads & Versions ==


ProD is currently on version 4.0 and has two versions:
Pro-D is currently on version 4.0 and has two versions:
* [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_assetstore.html ProD Free] ProD Free is the free version that has limited functionality. [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_assetstore.html Download ProD Free here].
* [https://www.assetstore.unity3d.com/en/#!/publisher/3258 Pro-D Lite] Pro-D Lite is the basic version which has limited functionality. [https://www.assetstore.unity3d.com/en/#!/publisher/3258 Learn about Pro-D Lite here].
* [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_assetstore.html ProD Total] ProD Total is the complete version that has all available functionality and requires a license to use. [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_assetstore.html Learn about ProD Total here]
* [https://www.assetstore.unity3d.com/en/#!/publisher/3258 Pro-D Total] Pro-D Total is the complete version that has all available functionality and requires a license to use. [https://www.assetstore.unity3d.com/en/#!/publisher/3258 Learn about Pro-D Total here]


ProD requires Unity Engine:
Pro-D requires Unity Engine:
[http://unity3d.com/unity/download Download Unity Engine here].
[http://unity3d.com/unity/download Download Unity Engine here].


== Code Structure ==
== Code Structure ==
Main components of ProD are the MethodLibrary and the Materializer. You can find more detailed information in the [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_manual.html Manual here].
Main components of Pro-D are the MethodLibrary and the Materializer. You can find more detailed information in the [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_manual.html Manual here].


'''Cells, Maps, WorldMaps'''
'''Cells, Maps, WorldMaps'''
Line 39: Line 39:
'''Materializer.cs'''
'''Materializer.cs'''


Materializer.cs uses the theme of a map and the resources folder to instantiate game objects. If a map has its theme as “Terminal Theme”, then the Materializer.cs will look into “ProD\Visual Assets\Resources\Terminal Theme\Cells” and search for respective Prefabs such as Wall, Path, Trap, Entrance and Exit.
Materializer.cs uses the theme of a map and the resources folder to instantiate game objects. If a map has its theme as “Terminal Theme”, then the Materializer.cs will look into “Pro-D\Visual Assets\Resources\Terminal Theme\Cells” and search for respective Prefabs such as Wall, Path, Trap, Entrance and Exit.


The [http://graylakestudios.com/graylakestudios/prod_doxygen/ProD%20Total%204.0%20Doxygen%20Output/html/class_pro_d_1_1_materializer.html Materializer] is the tool to instantiate the aforementioned maps.
The [http://graylakestudios.com/graylakestudios/prod_doxygen/ProD%20Total%204.0%20Doxygen%20Output/html/class_pro_d_1_1_materializer.html Materializer] is the tool to instantiate the aforementioned maps.


ProD allows the user to be in full control of the visual representation of the tiles. Developers can place the map on any axis they like which makes builtin Unity Physics features available for play. Due to this functionality devs can make both platformers and roguelikes alike. Materializer also allows setting orientations for your tiles. Whether your visuals are 2D or 3D, the individual assets can be flagged for rotation in case your assets require that.
Pro-D allows the user to be in full control of the visual representation of the tiles. Developers can place the map on any axis they like which makes builtin Unity Physics features available for play. Due to this functionality devs can make both platformers and roguelikes alike. Materializer also allows setting orientations for your tiles. Whether your visuals are 2D or 3D, the individual assets can be flagged for rotation in case your assets require that.


== Main Features ==
== Main Features ==
Following is a feature list for ProD Total:
Following is a feature list for Pro-D Total:
* Over 30 base methods and '''algorithms to create maps'''
* Over 30 base methods and '''algorithms to create maps'''
* 12 distinct ready to use '''generators''' for a wide variety of maps
* 12 distinct ready to use '''generators''' for a wide variety of maps
Line 73: Line 73:
Special thanks to:
Special thanks to:
* Tycho Henzen
* Tycho Henzen
* The most wonderful contributors and supporters [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_community.html ProD Community] at r/ProD
* The most wonderful contributors and supporters [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_community.html Pro-D Community] at r/ProD


== Games made with ProD ==
== Games made with Pro-D ==
* [https://play.google.com/store/apps/details?id=com.graylakestudios.krogue Auto-Rogue]
* [https://play.google.com/store/apps/details?id=com.graylakestudios.krogue Auto-Rogue]
* [[Rogue Station]]
* [[Rogue Station]]
== Prototypes made with Pro-D ==
* [http://globalgamejam.org/2014/games/shifting-bricks Shifting Bricks]
* [http://globalgamejam.org/2014/games/shifting-bricks Shifting Bricks]
 
* [http://jurvanoerle.nl/zombieappocalypse_blog.html Zombie Apocalypse]
== Prototypes made with ProD ==
*[http://jurvanoerle.nl/zombieappocalypse_blog.html Zombie Apocalypse]


== Important links ==
== Important links ==


* Try the [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_assetstore.html free version].
* Try the [https://www.assetstore.unity3d.com/en/#!/publisher/3258 lite version].
* Check the [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_webplayer.html browser demo.]
* Check the [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_webplayer.html browser demo.]
* Learn about [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_assetstore.html ProD Total].
* Learn about [https://www.assetstore.unity3d.com/en/#!/publisher/3258 Pro-D Total].
* Download [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_manual.html the manual].
* Download [http://graylakestudios.com/graylakestudios/graylake_redirect/rd_manual.html the manual].
* E-mail us your questions, feedback and more at Unity3D@graylakestudios.com.
* E-mail us your questions, feedback and more at Unity3D@graylakestudios.com.

Revision as of 08:41, 9 October 2014

Introduction

Pro-D is a versatile game development kit in C# designed for the Unity Engine. Pro-D gives you the essential tools for making games with procedurally generated content as well as various common tools for roguelike development.

Pro-D’s main features include random map generation, A* pathfinding, turn-based progression, object distribution, field of view and fog of war. The package supports use of both 2D and 3D assets even though the generation field is two dimensional.

Downloads & Versions

Pro-D is currently on version 4.0 and has two versions:

Pro-D requires Unity Engine: Download Unity Engine here.

Code Structure

Main components of Pro-D are the MethodLibrary and the Materializer. You can find more detailed information in the Manual here.

Cells, Maps, WorldMaps

Worldmaps are made out of maps. For example a worldmap can be, “the Ancient Dungeon Ruins”, and its maps can be individual levels in your game “Dungeon Ruins - Entrance”, “Dungeon Ruins - Maze” and “Dungeon Ruins - Lich’s Lair”. Maps are made out of cells. For example “Dungeon Ruins - Maze” will have Wall, Path, Trap, Entrance and Exit as some of its cells.

MethodLibrary.cs

WorldMap Generators use Map Generators. For example “the Ancient Dungeon Ruins” can use Generator_DungeonRuins.cs and Generator_Maze to make its individual maps. Map Generators always use MethodLibrary.cs methods: The MethodLibrary.cs contains all fundamental methods for making maps. For example Generator_DungeonRuins.cs uses the following and more:

  • MethodLibrary.CreateRooms(...);
  • MethodLibrary.CreateMaze(...);
  • MethodLibrary.SetCellsOfTypeAToB(...);
  • MethodLibrary.CloseDeadEndCells(...);
  • MethodLibrary.ReduceUCorridors(...);
  • MethodLibrary.ConvertUnreachableCells(...);

The MethodLibrary provides over 30 common methods to create and customize procedural worlds. In the Total version there are 12 distinct map generators including rocky hills, sinuous caverns, winding dungeons, shattered ruins, serpentine mazes, rustic villages and more all made possible by the library alone.


Materializer.cs

Materializer.cs uses the theme of a map and the resources folder to instantiate game objects. If a map has its theme as “Terminal Theme”, then the Materializer.cs will look into “Pro-D\Visual Assets\Resources\Terminal Theme\Cells” and search for respective Prefabs such as Wall, Path, Trap, Entrance and Exit.

The Materializer is the tool to instantiate the aforementioned maps.

Pro-D allows the user to be in full control of the visual representation of the tiles. Developers can place the map on any axis they like which makes builtin Unity Physics features available for play. Due to this functionality devs can make both platformers and roguelikes alike. Materializer also allows setting orientations for your tiles. Whether your visuals are 2D or 3D, the individual assets can be flagged for rotation in case your assets require that.

Main Features

Following is a feature list for Pro-D Total:

  • Over 30 base methods and algorithms to create maps
  • 12 distinct ready to use generators for a wide variety of maps
  • Infrastructure that allows use of both, 2D and 3D assets
  • Camera systems for player tracking and free movement
  • Turn based player movement and AI system
  • A*pathfinding
  • Fog of War with 7 different algorithms for different use-cases
  • Map to texture, for previews and minimaps
  • Capability to import and export maps using the popular .tmx format that allows editing randomly generated maps with third-party softwares such as third-party software Tiled.
  • Fully commented code that comes with online documentation made possible by Doxygen.
  • A vibrant community subreddit and a responsible dev team that promises immediate responses to all your inquiries and questions.


Development Team

The package is being developed by GrayLake Studios, an independent game design and development company that makes games.

Team members who worked on the package:

  • Tobias Hoffmann - Programmer
  • Wijnand van Tol - Programmer
  • Erhan Türel - Supervisor
  • Tunç Türel - Supervisor
  • Saverio Wielkens - Artist
  • Ies Wierdsma - Programmer

Special thanks to:

  • Tycho Henzen
  • The most wonderful contributors and supporters Pro-D Community at r/ProD

Games made with Pro-D

Prototypes made with Pro-D

Important links

Screenshots

aLLYi8d.jpg

cUswNmm.jpg

cTON5Ve.jpg