Difference between revisions of "Game framework"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed right-aligned Infobox)
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox game development}}
+
{{Menu_Game_Development}}
  
 
A '''game framework''' is a library designed to help game development.  It usually defines [https://en.wikipedia.org/wiki/Application_programming_interface APIs] to deal with [[Graphics libraries|graphics]], sound, user input, data files, etc.  In most cases it defines a high-level API that allows [[cross-platform]] development.
 
A '''game framework''' is a library designed to help game development.  It usually defines [https://en.wikipedia.org/wiki/Application_programming_interface APIs] to deal with [[Graphics libraries|graphics]], sound, user input, data files, etc.  In most cases it defines a high-level API that allows [[cross-platform]] development.
Line 18: Line 18:
 
| [http://allegro-pas.sourceforge.net/ Bindings Allegro-pas]
 
| [http://allegro-pas.sourceforge.net/ Bindings Allegro-pas]
 
| Allegro 1-4: Beerware, Allegro 5: zlib
 
| Allegro 1-4: Beerware, Allegro 5: zlib
| Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows,  
+
| Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform.
accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform.
 
 
|-
 
|-
 
| Phoenix
 
| Phoenix
Line 25: Line 24:
 
| FPC/Delphi
 
| FPC/Delphi
 
|
 
|
|
+
| A set of Delphi 7+ and Freepascal components and classes to help in creating hardware accelerated 2D and 3D games.
 
|-
 
|-
 
| [[GLScene]]
 
| [[GLScene]]
Line 35: Line 34:
 
| SFML
 
| SFML
 
| [https://www.sfml-dev.org/ https://www.sfml-dev.org]  
 
| [https://www.sfml-dev.org/ https://www.sfml-dev.org]  
| [https://github.com/DJMaster/csfml-fpc SFML headers] [https://github.com/CWBudde/PasSFML PasSFML(OOP)]
+
| FPC/Lazarus [https://github.com/DJMaster/csfml-fpc SFML headers] [https://github.com/CWBudde/PasSFML PasSFML(OOP)]
 
|
 
|
 
| SFML is a simple, fast, cross-platform and object-oriented multimedia API. It provides access to windowing,
 
| SFML is a simple, fast, cross-platform and object-oriented multimedia API. It provides access to windowing,
Line 46: Line 45:
 
|  Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick,  
 
|  Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick,  
 
and graphics hardware via OpenGL and Direct3D
 
and graphics hardware via OpenGL and Direct3D
 +
|-
 +
| [[ZenGL]]
 +
| [http://www.zengl.org/ www.zengl.org]
 +
| FPC/Delphi
 +
| [http://www.zengl.org/license.html Zlib]
 +
| Cross-platform game development library written in Pascal, designed to provide necessary functionality for rendering 2D-graphics,
 +
handling input, sound output, etc.
 +
|}
 +
 +
==Other libraries for games==
 +
Libraries that aren't to create games but are usefult.
 +
 +
{| class="wikitable sortable" width="100%"
 +
! Name
 +
! Site
 +
! Usage
 +
! License
 +
! Notes
 +
|-
 +
| [[Steam Wrapper]]
 +
| [https://github.com/thecocce/steamwrapper https://github.com/thecocce/steamwrapper]
 +
| FPC/Delphi
 +
|
 +
| Cross-platform game development wrapper written in Pascal, designed to provide necessary functionality for rendering 2D-graphics,
 +
handling input, sound output, etc.
 
|}
 
|}
  

Revision as of 13:14, 16 January 2020

Game Development

A game framework is a library designed to help game development. It usually defines APIs to deal with graphics, sound, user input, data files, etc. In most cases it defines a high-level API that allows cross-platform development.

Main difference between game frameworks and game engines is that the later also implements the game loop, as well as complex data structures (maps, actors...), data containers and tools.

Game frameworks

Name Site Usage License Notes
Allegro liballeg.org Bindings Allegro-pas Allegro 1-4: Beerware, Allegro 5: zlib Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform.
Phoenix code.google.com FPC/Delphi A set of Delphi 7+ and Freepascal components and classes to help in creating hardware accelerated 2D and 3D games.
GLScene sourceforge.net FPC/Delphi Mozilla Public License GLScene is a free OpenGL-based library for the Delphi programming language, C++ and Free Pascal. It provides visual components and objects allowing description and rendering of 3D scenes.
SFML https://www.sfml-dev.org FPC/Lazarus SFML headers PasSFML(OOP) SFML is a simple, fast, cross-platform and object-oriented multimedia API. It provides access to windowing,

graphics, audio and network.

SDL www.libsdl.org SDL2 bindings for FPC Laz2SDL SDL2 Headers Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick,

and graphics hardware via OpenGL and Direct3D

ZenGL www.zengl.org FPC/Delphi Zlib Cross-platform game development library written in Pascal, designed to provide necessary functionality for rendering 2D-graphics,

handling input, sound output, etc.

Other libraries for games

Libraries that aren't to create games but are usefult.

Name Site Usage License Notes
Steam Wrapper https://github.com/thecocce/steamwrapper FPC/Delphi Cross-platform game development wrapper written in Pascal, designed to provide necessary functionality for rendering 2D-graphics,

handling input, sound output, etc.

See also