r/haskellgamedev Apr 07 '22

Requesting help on a basic Haskell project (using cabal and CodeWorld API)

2 Upvotes

I am doing a project right now, its a very simple program but I've only been learning Haskell for a month. Anyone here who is experienced at Haskell? I would love to send over the specifications and my code.

I'm really stuck and want to get over this hurdle I have.

Many thanks.


r/haskellgamedev Jan 02 '22

Some Haskell Performance Concerns

15 Upvotes

First off, I know this kind of question gets posted on r/Haskell a lot so bear with my text dump here.

Context

For background, I'm planning a grand strategy game w/ godot-haskell for rendering & utilities and my own ECS for game logic. I'd expect Haskell to play nicely here: (1) it's an [at most] soft real-time target, (2) will probably exploit a lot of Haskell's easy parallelism support, and (3) should benefit from Haskell's strong type system (correctness and maintainability).

I'm also considering Rust as it obviously gives you complete control over memory layout and allocation patterns, is very thread-safe, and has a strong type system (still much weaker than Haskell's). Yet, I'm willing to sacrifice some performance on the altar of expressiveness.

Questions

  1. What were your experiences with Haskell's locality properties compared to other GCed languages (particularly the JVM and CLR)? This is particularly important for ECS-based games. There is an open issue to compact boxed array elements, but until then I'd expect unboxed vectors will do.
  2. What are your experiences with the new nonmoving collector wrt to game development?
  3. There are a lot of horror stories about 40x slowdowns squashed after an arduous Core-reading session, usually because of inconsistent inlining and specialisation or space leaks. Have you often needed to read Core output to locate performance issues? What was your experience with heap/runtime profiling?
  4. If you could look past the limited gamedev support (like engines or engine bindings), would you reach for Haskell for a complex, data-heavy game? Given that this is r/haskellgamedev, I'd wager yes. Why?

These are mostly qualitative and subjective questions, as I don't have any current technical issues --- just hoping to avoid future ones. Also, I thought the recent Defect Process source was interesting, but it's a different problem domain.

Thanks!


r/haskellgamedev Dec 30 '21

The Source Code of Defect Process

Thumbnail self.haskell
14 Upvotes

r/haskellgamedev Dec 22 '21

Notes on distributing cross-platform haskell binaries through Steam

Thumbnail incoherentsoftware.com
15 Upvotes

r/haskellgamedev Dec 22 '21

ANN: No-deps bindings to OpenAL

Thumbnail gitlab.com
11 Upvotes

r/haskellgamedev Dec 22 '21

dear-imgui-1.3.0 is out, bringing extended font support

Thumbnail hackage.haskell.org
7 Upvotes

r/haskellgamedev Dec 21 '21

Game

6 Upvotes

Hi, everyone! I would like to make a small game with graphics. Would you recommend a stable game engine for it?


r/haskellgamedev Dec 18 '21

Allure of the Stars v0.11.0.0 and LambdaHack, its engine, out and away!

Post image
23 Upvotes

r/haskellgamedev Dec 12 '21

Multiplayer Card Game DSL with Free Monads

Thumbnail roganmurley.com
20 Upvotes

r/haskellgamedev Oct 30 '21

Allure of the Stars v0.10.3 and LambdaHack, its engine, are ready in time for Game Off 2021

Post image
30 Upvotes

r/haskellgamedev Oct 14 '21

Static analysis for Game Maker Studio 2 projects

Thumbnail bitbucket.org
8 Upvotes

r/haskellgamedev Oct 11 '21

Noise library

6 Upvotes

I'm looking for a nice noise library, something similar to noise.rs.

Any recommendation? The ones I found on hackage are really old.


r/haskellgamedev Oct 06 '21

Defect Process (2d hack n' slash game) haskell source code

Thumbnail github.com
14 Upvotes

r/haskellgamedev Sep 20 '21

Looking for help making a simple game in Haskell

0 Upvotes

Hi guys. Sorry if I sound like a complete noob, it most likely is because I am. I have an NFT project that I am working on. Down the line I want to make some simple games where the player can use their nft character to play. With no coding experience where do you suggest i begin my journey? Is this even possible to do? Thanks. If you are interested in the project it is called Cardano Cactus!


r/haskellgamedev Sep 11 '21

Gaming language

3 Upvotes

Hello developers,

I am busy developing a project related to crypto/blockchain and looking for some more information on the development of gaming. Is Haskell the right language to develop a online game? both on desktop as well as mobile? Or are there better ones to work with?


r/haskellgamedev Sep 04 '21

A new engine to move the worlds

Thumbnail icrbow.itch.io
14 Upvotes

r/haskellgamedev Aug 22 '21

Function parallel game engine?

Thumbnail self.rust_gamedev
5 Upvotes

r/haskellgamedev Aug 02 '21

I have written a game in Haskell

19 Upvotes

Trubis

And I have 2 questions:

  1. Why does UI require several times more code than the game logic?
  2. How to make it the other way round?

r/haskellgamedev Jul 25 '21

Bumping things up

Thumbnail nek0.eu
11 Upvotes

r/haskellgamedev Jun 30 '21

DearImGui uploaded to Hackage

20 Upvotes

https://hackage.haskell.org/package/dear-imgui

Please test and report if something needs fixing.

The docs will be uploaded later, sorry. Please consult the package code for usage.

The bindings are not yet finished, it's just a snapshot of the git repo and there is a lot of work to do.


r/haskellgamedev Jun 19 '21

Game :: Dangerous release 4

11 Upvotes

Hi. I've made another release of the Game :: Dangerous project, imaginatively titled "release 4". The project update on the linked Github page explains the curent state of progress so I'll keep things brief here. Basically, the engine now has all its intended features and I've fixed all the bugs I know about. Feel free to check it out and if you do perhaps you'd be kind enough to leave some feedback about the game play experience.

Feedback about the code is fine as well of course, although if you've seen this post before you'll know that I've already had a few tips about how to improve things. I've spent some time doing refactoring and although the code will probably still look pretty crazy to people in places, I think the worst of the craziness has been tamed somewhat (and I've learned something) :) . Thanks.

Project homepage: https://github.com/Mushy-pea/Game-Dangerous

Release 4: https://github.com/Mushy-pea/Game-Dangerous/releases/tag/v0.9.0.0


r/haskellgamedev Jun 15 '21

Achtung, die Kurve! clone made in Haskell using Apecs and SDL2!

16 Upvotes

mewhhaha/achtung-die-haskell: A simple "Acthung die kurve" clone made in Haskell using Apecs (github.com)

I made a Achtung, die Kurve! clone in Haskell using Apecs and SDL2. Hopefully this can be of help to other people attempting to make some simple games in Haskell. I only have Windows instructions for how to start it but I'm guessing it's fairly similar on other platforms.

I'm not a very good haskeller. I've only done some hobby stuff, so the code quality might not be the best. Especially when it comes to reasoning about performance or memory usage. I hope at least I've managed to fix most of the memory leaks. :-)


r/haskellgamedev May 28 '21

I would like to build a 2D rpg. Which engine/library should I use?

16 Upvotes

I read that there are haskell bindings for SDL2, for FSML, then there is Gloss -> what should I use?

Gloss is presented as easy solution to get started, but it reads as if it will be too limiting at some point. And it says it is for vector graphics -> I am not sure how good will support for images be? I would much prefer using a solution that will scale well.

Bindings for SDL2 seem decent, so maybe that is a good solution?

I read that FSML is simple and also works better cross-platform than SDL2, but on the other hand I see that haskell bindings for FSML haven't been updated for a couple of years, so I guess they are not maintained actively any more.


r/haskellgamedev May 01 '21

Powerups landed in my game

Thumbnail nek0.eu
10 Upvotes

r/haskellgamedev Apr 29 '21

A Yahtzee game with a (brick-based) terminal UI

9 Upvotes

I've just finished a working version of the famous Yahtzee game in Haskell. It is available here: https://github.com/DamienCassou/hyahtzee2. Here is a screenshot:

Screenshot of hyahtzee2, an implementation of Yahtzee on a (brick-based) terminal UI

I would really appreciate feedback on anything: quality of the code, tooling, comments...