Difference between revisions of "Game Development"

From HaskellWiki
Jump to navigation Jump to search
(Added section Forums)
(→‎Articles and blog posts: Added link to "Is it practical to write a strong chess engine in Haskell?")
(3 intermediate revisions by the same user not shown)
Line 10: Line 10:
 
* [[Applications and libraries/Games]] lists [[Applications and libraries/Games#Games|games]] and [[Applications and libraries/Games#Game_Engines_and_Libraries|game engines/libs]]
 
* [[Applications and libraries/Games]] lists [[Applications and libraries/Games#Games|games]] and [[Applications and libraries/Games#Game_Engines_and_Libraries|game engines/libs]]
   
* 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], [http://hackage.haskell.org/packages/#cat:FRP FRP]
+
* See also Hackage categories: [http://hackage.haskell.org/packages/#cat:Game Game], [http://hackage.haskell.org/packages/#cat:Game%20Engine Game Engine], [http://hackage.haskell.org/packages/#cat:Graphics Graphics], [http://hackage.haskell.org/packages/#cat:Sound Sound], [http://hackage.haskell.org/packages/#cat:Physics Physics], [http://hackage.haskell.org/packages/#cat:FRP FRP]
   
 
* Other game-related wiki pages: [[:category:Games]]
 
* Other game-related wiki pages: [[:category:Games]]
Line 23: Line 23:
   
 
<!-- add new ones at the top, probably -->
 
<!-- add new ones at the top, probably -->
  +
  +
* [http://fho.f12n.de/posts/2014-10-25-easily-extensible-entity-enigma.html The easily extensible entity enigma]
  +
  +
* [http://www.gamedev.net/page/resources/_/technical/game-programming/haskell-game-object-design-or-how-functions-can-get-you-apples-r3204 Haskell Game Object Design - Or How Functions Can Get You Apples]
   
 
* [http://keera.co.uk/blog/2014/10/15/from-60-fps-to-500/ From 60 Frames per Second to 500 in Haskell]
 
* [http://keera.co.uk/blog/2014/10/15/from-60-fps-to-500/ From 60 Frames per Second to 500 in Haskell]
  +
  +
* [http://www.reddit.com/r/haskell/comments/2f9w0p/is_it_practical_to_write_a_strong_chess_engine_in/ Is it practical to write a strong chess engine in Haskell?]
  +
  +
* [https://www.youtube.com/watch?v=1MNTerD8IuI Writing a game in Haskell] (video)
  +
  +
* [https://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html Asteroids & Netwire]
  +
  +
* [https://ocharles.org.uk/blog/posts/2013-08-01-getting-started-with-netwire-and-sdl.html Getting Started with Netwire and SDL]
   
 
* [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
 
* [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
Line 32: Line 44:
 
* [http://blog.chucklefish.org/?p=154 Wayward Tide: Technical Info]
 
* [http://blog.chucklefish.org/?p=154 Wayward Tide: Technical Info]
   
* [http://ocharles.org.uk/blog/posts/2013-08-18-asteroids-in-netwire.html Asteroids & Netwire]
+
* [https://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]
 
* [http://jshaskell.blogspot.nl/2012/09/breakout.html Writing JavaScript games in Haskell - Breakout]
Line 46: Line 58:
 
* [http://prog21.dadgum.com/36.html Accidentally Introducing Side Effects into Purely Functional Code]
 
* [http://prog21.dadgum.com/36.html Accidentally Introducing Side Effects into Purely Functional Code]
   
* [http://legacy.cs.uu.nl/daan/download/papers/wxhaskell.pdf wxHaskell - A Portable and Concise GUI Library for Haskell] (PDF) - describes an implementation of an asteroids game, [[wxAsteroids]]
+
* [[media:wxhaskell.pdf | wxHaskell - A Portable and Concise GUI Library for Haskell]] (PDF) - describes an implementation of an asteroids game, [[wxAsteroids]]
   
 
* [http://www.palgorithm.co.uk/2009/08/haskell-for-games/ Haskell for Games!] Blog post, with PDF slides from AngloHaskell talk.
 
* [http://www.palgorithm.co.uk/2009/08/haskell-for-games/ Haskell for Games!] Blog post, with PDF slides from AngloHaskell talk.
Line 57: Line 69:
   
 
* [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.
 
* [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 ==
 
* <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]

Revision as of 08:07, 31 October 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


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


Forums

There are several forums in the Haskell world where game development can be discussed:

  • This page


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.

  • Binding to enet for multiplayer games. (jeffz is working on this).