Commit f6a0d669 authored by IC Rainbow's avatar IC Rainbow 🌈
Browse files

Expand structure outline

parent 5ec6dd69
---
tags: [game, 2d, sprites, sdl2, sdl2-mixer, osx, linux, windows]
---
# Dino Rush
- Blog: <http://jxv.io/blog/2018-02-28-A-Game-in-Haskell.html>
- Source: https://github.com/jxv/dino-rush
![gameplay](https://raw.githubusercontent.com/jxv/dino-rush/master/propaganda/gameplay.gif)
---
tags: [game, 3d, vulkan, openal, linux, windows, gamejam]
---
# OrboROS
- Itch: <https://icrbow.itch.io/orboros>
+ Retrospect: <https://icrbow.itch.io/orboros/devlog/189752/ludum-dare-47-retrospect>
- Source: <https://gitlab.com/dpwiz/orboros>
- Jam: https://ldjam.com/events/ludum-dare/47/orboros
![title](https://img.itch.zone/aW1nLzQ0NzIyNDIucG5n/original/5QWJGK.png)
......@@ -4,21 +4,39 @@ tags: [home]
# Haskell Gamedev
Yes, this is possible.
> Yes, this is possible.
### Where to start
## Where to start
What kind of game do you want to make?
- 3D
+ [Vulkan](intro/vulkan.md)
+ [OpenGL](intro/opengl.md)
+ [Vulkan](intro-vulkan.md)
+ [OpenGL](intro-opengl.md)
- 2D, sprites
+ [SDL](intro/sdl.md)
+ [SDL](intro-sdl.md)
- 2D, vectors
+ [Gloss](intro/gloss.md)
+ [Gloss](intro-gloss.md)
- Text
+ [LamdaHack](https://lambdahack.github.io/)
+ [Brick](intro/brick.md)
+ [LamdaHack](https://github.com/LambdaHack/LambdaHack)
+ [Brick](intro-brick.md)
- Mobile
+ [Keera Hails](https://github.com/keera-studios/keera-hails)
[[z:zettels?tag=other]]
## Where to ask
- Boards
+ [Gamedev Reddit](https://www.reddit.com/r/haskellgamedev/)
- Chats
+ IRC: `#haskell-game` on freenode
+ [Matrix](https://app.element.io/#/room/#freenode_#haskell-game:matrix.org) (bridged to IRC)
+ [Discord](https://discord.gg/vxpWtBA)
+ [Telegram](https://t.me/HaskellGameDev) 🇷🇺
## Categories
[[z:zettels?tag=topic]]
[[z:zettels?tag=package]]
[[z:zettels?tag=game]]
---
tags: [intro, gloss]
---
# Starting with Gloss
TBD
[[z:zettels?tag=package&tag=gloss]]
[[z:zettels?tag=game&tag=gloss]]
---
tags: [intro, vulkan]
---
# Starting with Vulkan
## FAQ
- Q: Why not OpenGL?<br/>
A: Reasons.
[[z:zettels?tag=package&tag=vulkan]]
[[z:zettels?tag=game&tag=vulkan]]
---
tags: [package, gloss]
---
# Gloss
- Hackage: <https://hackage.haskell.org/package/gloss>
- Source: <https://github.com/benl23x5/gloss>
> Gloss hides the pain of drawing simple vector graphics behind a nice data type and a few display functions.
## Minimal example
```haskell
-- | Display "Hello World" in a window.
import Graphics.Gloss
main :: IO ()
main =
display
(InWindow
"Hello World" -- window title
(400, 150) -- window size
(10, 10) -- window position
)
white -- background color
picture -- picture to display
picture :: Picture
picture =
-- shift the text to the middle of the window
Translate (-170) (-20) $
-- display it half the original size
Scale 0.5 0.5 $
-- the shape is a text
Text "Hello World"
```
---
tags: [package, vulkan]
---
# Vulkan
- Hackage: <https://hackage.haskell.org/package/vulkan>
- Source: <https://github.com/expipiplus1/vulkan>
> Slightly high level Haskell bindings to the Vulkan graphics API.
>
> These bindings present an interface to Vulkan which looks like more idiomatic Haskell and which is much less verbose than the C API. Nevertheless, it retains access to all the functionality. If you find something you can do in the C bindings but not in these high level bindings please raise an issue.
---
tags: [topic, sound]
---
# Sound
TBD
## SDL / SDL Mixer
TBD
## OpenAL
TBD
## MIDI
TBD
[[z:zettels?tag=package&tag=sound]]
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment