Difference between revisions of "Game Development"

From HaskellWiki
Jump to navigation Jump to search
(Added an updated version of a paper)
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
[[Category:Games]] [[Category:Community]]
 
[[Category:Games]] [[Category:Community]]
   
This page and the #haskell-game [[IRC channel]] is the starting point for everyone interested in doing game development with Haskell. You may also wish to join the [http://www.haskellers.com/teams/7 Games group] on haskellers.com.
+
This page and the #haskell-game [[IRC channel]] are the starting points for everyone interested in doing game development with Haskell. You may also wish to join the [http://www.haskellers.com/teams/7 Games group] on haskellers.com, or [http://www.reddit.com/r/haskellgamedev the Haskell game development subreddit].
   
 
There are quite a lot of games, unfinished libraries, and interested people out there - please gather links here and join us on '''[irc://irc.freenode.net/#haskell-game #haskell-game]''' !
 
There are quite a lot of games, unfinished libraries, and interested people out there - please gather links here and join us on '''[irc://irc.freenode.net/#haskell-game #haskell-game]''' !
Line 10: Line 10:
   
 
* See also Hackage categories: [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:game Game], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:game%20engine Game Engine], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:graphics Graphics], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:sound Sound], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:physics Physics]
 
* See also Hackage categories: [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:game Game], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:game%20engine Game Engine], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:graphics Graphics], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:sound Sound], [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:physics Physics]
  +
  +
* Other game-related wiki pages: [[:category:Games]]
  +
  +
  +
=== Other supporting software ===
  +
  +
* [http://hackage.haskell.org/package/grid grid] provides tools for working with regular arrangements of tiles, such as might be used in a board game or self-organising map (SOM). Grid currently supports triangular, square, and hexagonal tiles, with various 2D and toroidal layouts ([https://github.com/mhwombat/grid/wiki description]).
   
 
== Articles and blog posts ==
 
== Articles and blog posts ==
 
<!-- add new ones at the top, probably -->
 
<!-- add new ones at the top, probably -->
  +
  +
* [https://github.com/alexander-b/master-thesis The Quest for Programming Nirvana: On Programming Game Systems in Haskell]; a Master Thesis on programming game systems in Haskell
  +
  +
* [http://www.cse.unsw.edu.au/~pls/thesis/munc-thesis.pdf Functional Programming and 3D Games] (thesis, PDF)
  +
  +
* [http://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html Asteroids & Netwire]
  +
  +
* [http://jshaskell.blogspot.nl/2012/09/breakout.html Writing JavaScript games in Haskell - Breakout]
   
 
* [https://github.com/leonidas/codeblog/blob/master/2012/2012-01-17-declarative-game-logic-afrp.md Purely Functional, Declarative Game Logic Using Reactive Programming]
 
* [https://github.com/leonidas/codeblog/blob/master/2012/2012-01-17-declarative-game-logic-afrp.md Purely Functional, Declarative Game Logic Using Reactive Programming]
Line 31: Line 46:
   
 
* [http://lambdor.net/ Lambdor] blog mostly about Yampa FRP and game development in Haskell with some tutorials
 
* [http://lambdor.net/ Lambdor] blog mostly about Yampa FRP and game development in Haskell with some tutorials
  +
  +
* [http://jshaskell.blogspot.de/ Writing JavaScript games in Haskell]
  +
  +
* [http://lambdacube3d.wordpress.com/ LambdaCube 3D] is a domain specific language and library that makes it possible to program GPUs in a purely functional style.
   
 
== Videos ==
 
== Videos ==
* [http://video.google.com/videoplay?docid=9139666903029663537 Games in Haskell] - Matthew Sackman and Tristan Allwood on developing games with OpenGL in Haskell
+
* <strike>[http://video.google.com/videoplay?docid=9139666903029663537 Games in Haskell] - Matthew Sackman and Tristan Allwood on developing games with OpenGL in Haskell</strike> (404)
   
 
* [http://www.youtube.com/watch?v=AJQZg3Po-Ag bloxors: an OpenGL Logic Game written in Haskell]
 
* [http://www.youtube.com/watch?v=AJQZg3Po-Ag bloxors: an OpenGL Logic Game written in Haskell]
   
* [http://www.youtube.com/watch?v=kDu5aCGc8l4 LambdaCube 3D - Stunts example]
+
* [http://www.youtube.com/watch?v=XoE5CKLLnaM LambdaCube 3D - Stunts example]
  +
  +
* [http://www.youtube.com/watch?v=JleoASegUlk LambdaCube 3D - Quake 3 example]
   
 
== Examples ==
 
== Examples ==
Line 53: Line 74:
   
 
* http://hackage.haskell.org/package/stunts - A revival of the classic racing game Stunts to serve as a non-toy-sized example for LambdaCube.
 
* http://hackage.haskell.org/package/stunts - A revival of the classic racing game Stunts to serve as a non-toy-sized example for LambdaCube.
  +
  +
* http://hackage.haskell.org/package/dow - Dungeons of Wor is an homage to the classic arcade game, Wizard of Wor. This game is also an experiment in functional reactive programming, so it might be a useful resource to anyone interested in this topic.
   
 
* Possible Hackage categorisation guidelines: upload games to Game, engines and libs to Game Engine, or at least to some category beginning with Game, and check latest categories before uploading
 
* Possible Hackage categorisation guidelines: upload games to Game, engines and libs to Game Engine, or at least to some category beginning with Game, and check latest categories before uploading
Line 58: Line 81:
 
== Wishlist ==
 
== Wishlist ==
   
Is hackage missing a useful data structure or library for some functionality that would benefit game programming? Suggestions for useful things can be added here as potential projects to hack on.
+
Is Hackage missing a useful data structure or library for some functionality that would benefit game programming? Suggestions for useful things can be added here as potential projects to hack on.
   
 
* Octtree, kd-tree, various space partitioning techniques (maybe start with [http://hackage.haskell.org/package/spacepart spacepart]).
 
* Octtree, kd-tree, various space partitioning techniques (maybe start with [http://hackage.haskell.org/package/spacepart spacepart]).

Revision as of 16:30, 16 September 2014


This page and the #haskell-game IRC channel are the starting points for everyone interested in doing game development with Haskell. You may also wish to join the Games group on haskellers.com, or the Haskell game development subreddit.

There are quite a lot of games, unfinished libraries, and interested people out there - please gather links here and join us on #haskell-game !

Games and game engines


Other supporting software

  • grid provides tools for working with regular arrangements of tiles, such as might be used in a board game or self-organising map (SOM). Grid currently supports triangular, square, and hexagonal tiles, with various 2D and toroidal layouts (description).

Articles and blog posts

  • Lambdor blog mostly about Yampa FRP and game development in Haskell with some tutorials
  • LambdaCube 3D is a domain specific language and library that makes it possible to program GPUs in a purely functional style.

Videos

  • Games in Haskell - Matthew Sackman and Tristan Allwood on developing games with OpenGL in Haskell (404)

Examples

  • GorillaBAS - this was an attempt on defining computer games, and build such a thing.
  • http://hackage.haskell.org/package/dow - Dungeons of Wor is an homage to the classic arcade game, Wizard of Wor. This game is also an experiment in functional reactive programming, so it might be a useful resource to anyone interested in this topic.
  • Possible Hackage categorisation guidelines: upload games to Game, engines and libs to Game Engine, or at least to some category beginning with Game, and check latest categories before uploading

Wishlist

Is Hackage missing a useful data structure or library for some functionality that would benefit game programming? Suggestions for useful things can be added here as potential projects to hack on.

  • Octtree, kd-tree, various space partitioning techniques (maybe start with spacepart).
  • Binding to enet for multiplayer games. (jeffz is working on this).