Game development on Alpine Linux: Difference between revisions
m (put learning curve header) |
(use tables for greater readability) |
||
(10 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
== Learning curve == | == Learning curve == | ||
For programmers, it's recommended that you use a game engine if you are starting video game programming which will handle most of the low level setup. If you have advanced knowledge in programming, you should see the multimedia section and 3D libraries section. | For programmers, it's strongly recommended that you use a [[#Game engines|game engine]] if you are starting video game programming which will handle most of the low level setup. If you have advanced knowledge in programming, you should see the [[#Multimedia libraries|multimedia section]] and [[#3D libraries|3D libraries]] section. | ||
For artists, see Tools used to work with or create art assets section. | For artists, see [[#Tools used to work with or create art assets|Tools used to work with or create art assets]] section. | ||
== Software libraries used in game development == | == Software libraries used in game development == | ||
Line 11: | Line 11: | ||
=== Game engines === | === Game engines === | ||
{| class="wikitable" | |||
|- | |||
! Name !! Package !! Description | |||
|- | |||
| [https://plib.sourceforge.net/ PLIB] || {{pkg|plib}} || game engine | |||
|- | |||
| [https://www.blender.org/ Blender] || {{pkg|blender}} || a 3D modeler and animator with a [https://upbge.org/ game engine] | |||
|- | |||
| [https://www.minetest.net/ Minetest] || {{pkg|minetest}} || both a game engine and a game | |||
|} | |||
=== Multimedia libraries === | === Multimedia libraries === | ||
{| class="wikitable" | |||
|- | |||
! Name !! Package(s) !! Description | |||
|- | |||
| [https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer Simple DirectMedia Layer 2.0] || {{pkg|sdl2-dev}} || has input, audio, video, opengl, touch screen, game controller support | |||
|- | |||
| [https://en.wikipedia.org/wiki/Simple_and_Fast_Multimedia_Library SFML (Simple and Fast Multimedia Library)] || {{pkg|sfml-dev}} {{pkg|csfml-dev}} || has input, audio, video, networking, opengl support | |||
|- | |||
| [http://kcat.strangesoft.net/openal.html OpenAL Soft]{{dead link}} || {{pkg|openal-soft-dev}} || can be used for 3D sound for 3D games | |||
|- | |||
| [http://www.glfw.org/ GLFW] || {{pkg|glfw-dev}} || To create OpenGL context quickly with input support | |||
|- | |||
| [https://en.wikipedia.org/wiki/FreeGLUT FreeGLUT] || {{pkg|freeglut-dev}} || To create OpenGL context quickly with input support | |||
|- | |||
| [http://pyopengl.sourceforge.net/ PyOpenGL] || {{pkg|py3-opengl}} || OpenGL on Python | |||
|- | |||
| [https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer Simple DirectMedia Layer] || <code>sdl-dev</code> (dropped support for sdl 1.x . Use 2.0 instead) || has input, audio, video, joystick support | |||
|} | |||
=== 3D libraries === | === 3D libraries === | ||
{| class="wikitable" | |||
|- | |||
! Name !! Package(s) !! Description | |||
|- | |||
| [https://glm.g-truc.net/0.9.8/index.html OpenGL Mathematics] || {{pkg|glm-dev}} || for 3D calculations to transform, rotate, scale stuff | |||
|} | |||
==== Rendering and loading assets ==== | ==== Rendering and loading assets ==== | ||
{| class="wikitable" | |||
|- | |||
! Name !! Package(s) !! Description | |||
|- | |||
| [https://en.wikipedia.org/wiki/OpenSceneGraph OpenSceneGraph] || {{pkg|openscenegraph-dev}} || can be used to load 3D models and handle complexities of rendering a 3d scene | |||
|} | |||
==== Fonts ==== | ==== Fonts ==== | ||
{| class="wikitable" | |||
|- | |||
! Name !! Package(s) !! Description | |||
|- | |||
| [https://sourceforge.net/projects/ftgl/ FTGL] || {{pkg|ftgl-dev}} || to display text in OpenGL | |||
|} | |||
== Tools used to work with or create art assets == | == Tools used to work with or create art assets == | ||
{| class="wikitable" | |||
|- | |||
! Name !! Package(s) !! Description | |||
|- | |||
| [https://en.wikipedia.org/wiki/GIMP GIMP] || {{pkg|gimp}} || edit 2D assets | |||
|- | |||
| [https://en.wikipedia.org/wiki/Audacity_(audio_editor) Audacity] || {{pkg|audacity}} || edit sound assets | |||
|- | |||
| [https://en.wikipedia.org/wiki/Inkscape Inkscape] || {{pkg|inkscape}} || edit vector 2D assets | |||
|- | |||
| [https://en.wikipedia.org/wiki/Blender_(software) Blender] || {{pkg|blender}} || edit 3D assets or models | |||
|} | |||
[[Category:Programming]] |
Latest revision as of 09:00, 26 September 2023
Game development is possible on Alpine Linux.
Learning curve
For programmers, it's strongly recommended that you use a game engine if you are starting video game programming which will handle most of the low level setup. If you have advanced knowledge in programming, you should see the multimedia section and 3D libraries section.
For artists, see Tools used to work with or create art assets section.
Software libraries used in game development
Game engines
Name | Package | Description |
---|---|---|
PLIB | plib | game engine |
Blender | blender | a 3D modeler and animator with a game engine |
Minetest | minetest | both a game engine and a game |
Multimedia libraries
Name | Package(s) | Description |
---|---|---|
Simple DirectMedia Layer 2.0 | sdl2-dev | has input, audio, video, opengl, touch screen, game controller support |
SFML (Simple and Fast Multimedia Library) | sfml-dev csfml-dev | has input, audio, video, networking, opengl support |
OpenAL Soft[Dead Link] | openal-soft-dev | can be used for 3D sound for 3D games |
GLFW | glfw-dev | To create OpenGL context quickly with input support |
FreeGLUT | freeglut-dev | To create OpenGL context quickly with input support |
PyOpenGL | py3-opengl | OpenGL on Python |
Simple DirectMedia Layer | sdl-dev (dropped support for sdl 1.x . Use 2.0 instead) |
has input, audio, video, joystick support |
3D libraries
Name | Package(s) | Description |
---|---|---|
OpenGL Mathematics | glm-dev | for 3D calculations to transform, rotate, scale stuff |
Rendering and loading assets
Name | Package(s) | Description |
---|---|---|
OpenSceneGraph | openscenegraph-dev | can be used to load 3D models and handle complexities of rendering a 3d scene |
Fonts
Name | Package(s) | Description |
---|---|---|
FTGL | ftgl-dev | to display text in OpenGL |
Tools used to work with or create art assets
Name | Package(s) | Description |
---|---|---|
GIMP | gimp | edit 2D assets |
Audacity | audacity | edit sound assets |
Inkscape | inkscape | edit vector 2D assets |
Blender | blender | edit 3D assets or models |