Game development on Alpine Linux: Difference between revisions

From Alpine Linux
(create intra page links)
(use pkg template)
Line 11: Line 11:
=== Game engines ===
=== Game engines ===


* [https://plib.sourceforge.net/ PLIB] - plib -- game engine
* [https://plib.sourceforge.net/ PLIB] - {{pkg|plib}} -- game engine
* [https://www.blender.org/ Blender] - blender -- a 3D modeler and animator with a [https://upbge.org/ 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] - minetest -- both a game engine and a game
* [https://www.minetest.net/ Minetest] - {{pkg|minetest}} -- both a game engine and a game


=== Multimedia libraries ===
=== Multimedia libraries ===


* [https://en.wikipedia.org/wiki/Simple_DirectMedia_Layer Simple DirectMedia Layer] - sdl-dev -- has input, audio, video, joystick support (use 2.0 instead)
* [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_DirectMedia_Layer Simple DirectMedia Layer 2.0] - 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
* [https://en.wikipedia.org/wiki/Simple_and_Fast_Multimedia_Library SFML (Simple and Fast Multimedia Library)] - sfml-dev 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://kcat.strangesoft.net/openal.html OpenAL Soft]{{dead link}} - 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
* [http://www.glfw.org/ GLFW] - 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
* [https://en.wikipedia.org/wiki/FreeGLUT FreeGLUT] - freeglut-dev -- To create OpenGL context quickly with input support
* [http://pyopengl.sourceforge.net/ PyOpenGL] - {{pkg|py3-opengl}} -- OpenGL on Python
* [http://pyopengl.sourceforge.net/ PyOpenGL] - py-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 ===


* [https://glm.g-truc.net/0.9.8/index.html OpenGL Mathematics] - glm-dev - for 3D calculations to transform, rotate, scale stuff
* [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 ====




* [https://en.wikipedia.org/wiki/OpenSceneGraph OpenSceneGraph] - openscenegraph-dev -- can be used to load 3D models and handle complexities of rendering a 3d scene
* [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 ====


* [https://sourceforge.net/projects/ftgl/ FTGL] - ftgl-dev -- to display text in OpenGL
* [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 ==


* [https://en.wikipedia.org/wiki/GIMP GIMP] - gimp -- could be used to create 2D sprites
* [https://en.wikipedia.org/wiki/GIMP GIMP] - {{pkg|gimp}} -- could be used to create 2D sprites
* [https://en.wikipedia.org/wiki/Audacity_(audio_editor) Audacity] - audacity -- could be used to slice sound assets
* [https://en.wikipedia.org/wiki/Audacity_(audio_editor) Audacity] - {{pkg|audacity}} -- could be used to slice sound assets
* [https://en.wikipedia.org/wiki/Inkscape Inkscape] - inkscape -- could be used to make vector 2D art assets
* [https://en.wikipedia.org/wiki/Inkscape Inkscape] - {{pkg|inkscape}} -- could be used to make vector 2D art assets
* [https://en.wikipedia.org/wiki/Blender_(software) Blender] - blender -- can be used to create 3D assets or models
* [https://en.wikipedia.org/wiki/Blender_(software) Blender] - {{pkg|blender}} -- can be used to create 3D assets or models


[[Category:Programming]]
[[Category:Programming]]

Revision as of 08:45, 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

Multimedia libraries

3D libraries

Rendering and loading assets

Fonts

Tools used to work with or create art assets