PTK Toolkit

Last updated

PTK is a 2D rendering engine and SDK developed by Phelios, Inc., that allows computer programmers create downloadable games in C++ that are portable to Microsoft Windows and Mac OS X. It is currently used by about 60 downloadable games [1] It is mainly known for powering breakaway casual hits from funpause and Big Fish Games, such as Azada, Atlantis, Atlantis Sky Patrol, Mystic Inn and Fairies.

Contents

Design philosophy

PTK was designed for programmers to enjoy basic-like ease of programming using the C++. It abstracts rendering, input and I/O and removes the need for directly setting up complex renderers such as DirectX or OpenGL.[ jargon ]

PTK uses a "2D in 3D" paradigm. While it is a 2D engine, it uses 3D acceleration for rendering, enabling very good, bicubic filtered rendering of scaled, rotated sprites and per-pixel alpha blending at no expense of computing time. A game such as Mystic Inn make extensive use of PTK's rendering capabilities.[ jargon ]

Related Research Articles

<span class="mw-page-title-main">Simple DirectMedia Layer</span> Free software multimedia library

Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games and other multimedia applications that can run on many operating systems such as Android, iOS, Linux, macOS, and Windows.

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Irrlicht is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, Xbox, PlayStation Portable, Symbian, iPhone, AmigaOS 4, Sailfish OS via a QT/Qml wrapper, and Google Native Client.

<span class="mw-page-title-main">OpenAL</span> API for rendering audio

OpenAL is a cross-platform audio application programming interface (API). It is designed for efficient rendering of multichannel three-dimensional positional audio. Its API style and conventions deliberately resemble those of OpenGL. OpenAL is an environmental 3D audio library, which can add realism to a game by simulating attenuation, the Doppler effect, and material densities. OpenAL aimed to originally be an open standard and open-source replacement for proprietary 3D audio APIs such as DirectSound and Core Audio, though in practice has largely been implemented on various platforms as a wrapper around said proprietary APIs or as a proprietary and vendor-specific fork. While the reference implementation later became proprietary, there are open source implementations such as OpenAL Soft available.

WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles beginning from the PS3, the Tizen mobile operating systems, the Amazon Kindle e-book reader, Nintendo consoles beginning from the 3DS Internet Browser, and the discontinued BlackBerry Browser. WebKit's C++ application programming interface (API) provides a set of classes to display Web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of pages recently visited.

Game programming, a subset of game development, is the software development of video games. Game programming requires substantial skill in software engineering and computer programming in a given language, as well as specialization in one or more of the following areas: simulation, computer graphics, artificial intelligence, physics, audio programming, and input. For multiplayer games, knowledge of network programming is required. In some genres, e.g. fighting games, advanced network programming is often demanded, as the netcode and its properties are considered by players and critics to be some of the most important metrics of the game's quality. For massively multiplayer online games (MMOGs), even further knowledge of database programming and advanced networking programming are required. Though often engaged in by professional game programmers, there is a thriving scene of independent developers who lack a relationship with a publishing company.

Direct3D and OpenGL are competing application programming interfaces (APIs) which can be used in applications to render 2D and 3D computer graphics. As of 2005, graphics processing units (GPUs) almost always implement one version of both of these APIs. Examples include: DirectX 9 and OpenGL 2 circa 2004; DirectX 10 and OpenGL 3 circa 2008; and most recently, DirectX 11 and OpenGL 4 circa 2011. GPUs that support more recent versions of the standards are backwards compatible with applications that use the older standards; for example, one can run older DirectX 9 games on a more recent DirectX 11-certified GPU.

In Apple's macOS operating system, Quartz is the Quartz 2D and Quartz Compositor part of the Core Graphics framework. Quartz includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card. Because of this vertical nature, Quartz is often synonymous with Core Graphics.

<span class="mw-page-title-main">C4 Engine</span> Proprietary computer game engine developed by Terathon Software

The C4 Engine is a proprietary computer game engine developed by Terathon Software that is used to create 3D games and other types of interactive virtual simulations for PlayStation 5, PlayStation 4, PlayStation 3, Windows, Mac OS X, Linux, and iOS.

Eric Lengyel is a computer scientist specializing in game engine development, computer graphics, and geometric algebra. He holds a Ph.D. in computer science from the University of California, Davis and a master's degree in mathematics from Virginia Tech.

<span class="mw-page-title-main">Unity (game engine)</span> Cross-platform video game and simulation engine

Unity is a cross-platform game engine developed by Unity Technologies, first announced and released in June 2005 at Apple Worldwide Developers Conference as a Mac OS X game engine. The engine has since been gradually extended to support a variety of desktop, mobile, console and virtual reality platforms. It is particularly popular for iOS and Android mobile game development, is considered easy to use for beginner developers, and is popular for indie game development.

The Bork3D Game Engine is a C++ open source game engine developed by Bork 3D LLC for use on mobile device platforms, primarily targeting iPhone and iPad. Several iOS games have announced their use of it, most notably from Bioroid Studios, Simiula, and Bork 3D itself.

<span class="mw-page-title-main">Marmalade (software)</span>

Marmalade SDK was a cross-platform software development kit and game engine from Marmalade Technologies Limited that contains library files, samples, documentation and tools required to develop, test and deploy applications for mobile devices.

MonoGame is a free and open source C# framework used by game developers to make games for multiple platforms and other systems. It is also used to make Windows and Windows Phone games run on other systems. It supports iOS, Android, macOS, tvOS, Linux, PlayStation 4, PlayStation Vita, Xbox One and Nintendo Switch. It implements the Microsoft XNA 4 application programming interface (API). It has been used for several games, including Bastion and Fez.

<span class="mw-page-title-main">Godot (game engine)</span> Cross-platform, open-source game engine

Godot is a cross-platform, free and open-source game engine released under the MIT license. It was initially developed by Argentine software developers Juan Linietsky and Ariel Manzur for several companies in Latin America prior to its public release. The development environment runs on multiple operating systems including Linux, BSDs, macOS, and Microsoft Windows. It is designed to create both 2D and 3D games targeting PC, mobile, and web platforms and can also be used to develop non-game software, including editors.

Stage3D is an Adobe Flash Player API for rendering interactive 3D graphics with GPU-acceleration, within Flash games and applications. Flash Player or AIR applications written in ActionScript 3 may use Stage3D to render 3D graphics, and such applications run natively on Windows, Mac OS X, Linux, Apple iOS and Google Android. Stage3D is similar in purpose and design to WebGL.

<span class="mw-page-title-main">Metal (API)</span> iOS, macOS, and tvOS graphics rendering API

Metal is a low-level, low-overhead hardware-accelerated 3D graphic and compute shader API created by Apple, debuting in iOS 8. Metal combines functions similar to OpenGL and OpenCL in one API. It is intended to improve performance by offering low-level access to the GPU hardware for apps on iOS, iPadOS, macOS, and tvOS. It can be compared to low-level APIs on other platforms such as Vulkan and DirectX 12.

<span class="mw-page-title-main">Leadwerks</span> Cross-platform game engine

Leadwerks is a cross-platform game engine developed by Leadwerks Software that focuses on ease of use and learning. The software supports Windows and Linux, with OS X support in development. Leadwerks is currently on its fourth major version and is sold through the Steam digital distribution platform.

Wolfgang Engel is a videogame designer. He is the founder and CEO of Confetti. Previously he also worked as the Lead Graphics Programmer for Rockstar Games. He is also the founder and editor of ShaderX and GPU books series.

References

  1. "PTK 2D Game Engine for Mac os X and Win32". Phelios.com. Retrieved 2015-04-01.

Notes