News | Articles | Libraries | Developer Tools | Books | Forum Links | Search   
Sections:
 

GAPI

Programming games using GAPI (Game API)

Articles at Pocket PC Developer Network

  • Drawing images and other graphics with GAPI
    February 28, 2003. The STGapiBuffer class provides a powerful interface to the display buffer and hides hardware specifics. This class provides a high-performance version of GDI primitives - the most important thing for a game developer. The interface is transparent for a developer and does not hide any key GAPI calls. This fact, together with open source code, makes this class easy to use and leave full control of application logic for a developer.
  • GapiDraw from a DirectDraw developers perspective
    March 28, 2002. GapiDraw is designed to be as similar to DirectDraw as possible, but at the same time being as easy to use and as optimized as possible for handheld devices. This page presents some common tasks in DirectDraw, and how they are implemented in GapiDraw.
  • Creating a new project with GapiDraw
    July 09, 2002. GapiDraw makes it possible to create games that run on Stationary PCs, Smartphones as well as Pocket PCs. Because different development tools are required to target each device, some work has to be done to create an easy to manage solution for cross platform projects.
  • Programming DieselEngine 1. Close up and personal with DieselEngine, Using DieselGraphics
    November 13, 2001. DieselEngine is a software development kit by Inmar Software Ltd. It is multi platform SDK that allows producing real-time 2D and 3D graphics, along with input mapping and sound engine with 3D sound. This article describes using DieselEngine.
  • Programming DieselEngine 2. Using Diesel3D
    February 18, 2002. This is second article about programming DieselEngine. DieselEngine is a software development kit by Inmar Software Ltd. It is multi platform SDK that allows producing real-time 2D and 3D graphics, along with input mapping and sound engine with 3D sound.
  • Whirl - graphics demo application
    October 03, 2001. Whirl is a demo full screen application that is written using EasyCE library. Here I describe how I created it.
  • Creating Pocket PC games that publish high scores in web
    January 13, 2002. Playing games is more interesting if you can compare your results with those of other people. Spb Software House along with PocketGamer.org has developed an open system for creating Pocket PC games that supports publishing high scores in web. This system consists of a scores section of the PocketGamer.org website, a freeware program for desktop PC that retrieves high scores from the connected Pocket PC and a C++ library for creating Pocket PC games with high scores support. This article explains how to use this library in your games.

MSDN Technical Articles

  • Two for the Road: Time for GAPI
    November 14, 2001. So, while a full DirectX port wasn't feasible, there was definitely a need for a device-independent way of getting speedy access to the screen. This is what GAPI-the Games API-is all about. GAPI provides a set of functions that provide direct read/write access to the screen buffer, and it first appeared on the Pocket PC back in April 2000. It's been so useful that it now comes included in the ROM of all the devices on the market, or at least all the ones I've seen anyway. To the programmer, it means all kinds of low level stuff is now possible. The OEMs of the individual Pocket PC devices are responsible for the tricky part (providing direct access to screen memory), leaving the programmer to develop the software, comfortable in the knowledge that things will behave in the same way on all devices.
  • Two for the Road: Games On the Go
    January 3, 2002. I contacted Robert Di Benedetto, Program Manager for the DirectPlay for Pocket PC project, and quizzed him on DirectPlay for Pocket PC. Here's a bit from the interview.
  • Two for the Road: Is That a Game in Your Pocket?
    February 26, 2002. Building Games with eMbedded Visual Basic. This month, we delve into a seldom discussed area of Microsoft eMbedded Visual BasicR development-games. For the most part, game development has been, and will continue to be, in the realm of Microsoft eMbedded Visual C++R. Because eMbedded Visual C++ allows you to build quicker applications, have more control over system resource, and easily interface with GAPI, Microsoft's game API, it is the natural choice for game developers.
  • Getting Started with the Game API
    June 2, 2000. For Direct Access to the Pocket PC Display and the Keys, Here are Some Short Code Snippets that Put You on Your Way
  • Here Comes GAPI!
    May 22, 2000. GAPI Is the Way to Get More Speed Out of Your Games.

Pocket PC Advanced Graphics & Games Programming Tutorial

CodeProject

  • High Speed Graphics Library for WinCE
    25 Jun 2002. CEDraw is high speed graphics library in WinCE. It depends on GAPI . This code was written in C++ using embedded VC++ to compile it. Testing was done on an iPaq h3600 with WinCE 3.0. CEDraw use double buffer and direct write video buffer technology to enhance Draw speed. With its own graphics arithmetic the drawing speed is much faster than WinGDI.
  • Bubbles for Pocket PC
    14 Sep 2000. An addictive game for PocketPCs with full source code included.

DEVBUZZ.COM

  • Creating Pocket PC Games in eVB Using ASpriteCE
    11 Nov 2001. Some straight talking from Andy Beaulieu; "Let's face it: eVB has a bad rap when it comes to creating fast action games. eVC (and to some extent Assembly) have been the accepted languages for game development on the PocketPC. This is unfortunate, as the intuitive nature of eVB can make any type of application quick to develop and fun to create. The main reason for eVB being an unpopular choice for action games is its speed. Being that eVB is an interpreted language, it can be hundreds of times slower than eVC code at performing comparable operations. And to create that next best-selling PocketPC game, you can bet fast graphics will be a prerequisite for your tool of choice."

Pocket-G

  • Sprite
    Because, most objects in game is not rectangle shape. But, bitmap is rectangle. We just try a way to draw it's real shape.
  • Animation
    Because, many game developers like to produces real-action game style. Thus, only still image might not in their interest. Let's make it moves by this simple animation technique.
  • Timer call back
    In most action game, while the game is running, we will see the game is moving. For DOS programmers, this job is not to hard but the Win32 is multi-tasking environment, more than one applications are running at the same time. While your game is running, other programs are running behind. This cause the problem. Because, we need to share CPU time to other running process.
  • Scrolling background
    The one important point that let game application looks more interesting is the movable background. The most of action game, shooting game, and so on, has background movement. The feeling is like you play the game in a big space. In fact, the screen is too small.
  • Object collision
    Perhaps, collision checking should be implemented for all action game style. In other word, game could not be a game with out the collision checking or hit test routine.
  • Off-screen technique
    Before, we learn about OFF SCREEN tecnique. Let see what is on screen? Why it not seem to works with game application? Well, another basic problem, how can we draw text, picture or animation to the Window's client area?

Libraries

  • Gapidraw.NET
    C++ library. .NET CF wrapper for GapiDraw library.
  • EasyCE
    C++ library. This is a library that hides the many differences in hardware from the programmer: EasyCE offers the programmer a basic 240x320 display buffer in 16bit color, no matter what the actual device is capable of.
  • GAPI Emulation
    C++ library. The new PocketPC Operating System from Microsoft doesn't support the heavyweight DirectX. Instead, the PocketPC provides us with the new Game API (GAPI). Unfortunately, this GAPI is not available on the PocketPC emulator that comes with Embedded Visual C++. GAPI Emulation provides your with GAPI for Pocket PC emulator.
  • STGapiBuffer
    C++ library. The STGapiBuffer class provides a powerful interface to the display buffer and hides hardware specifics. This class provides a high-performance version of GDI primitives - the most important thing for a game developer. The interface is transparent for a developer and does not hide any key GAPI calls. This fact, together with open source code, makes this class easy to use and leave full control of application logic for a developer. STGapiBuffer does not use MFC; therefore, it can be also used on Smartphone 2002 platform.
  • Pocket GL (iPAQ and Cassiopeia)
    C++ library. Pocket GL is a 3D graphic library for pocket PC. This library have been used in 3D game 'Ghosh World'. It allow to draw 3D objects and manage 3D transformations. It support fog and vertex color. It is written in C and C++. The full version include: all sources, a program to import geometry data from 3D studio MAX 3, demo 3dsmax files and textures.
  • DieselEngine
    C++ library. DieselEngine is a software development kit by Inmar Software Ltd. It is multi platform SDK that allows producing real-time 2D and 3D graphics, along with input mapping and sound engine with 3D sound. DieselEngine SDK is free for non-commercial use, and its demo version downloadable at: www.inmarsoftware.com. Demo version contains all features that licensed version.
  • GapiDraw
    C++ library. GapiDraw is an optimized and extended port of DirectDraw for Pocket PCs. GapiDraw is almost 100% compatible with existing DirectDraw code, and comprises several extensions such as advanced blit effects, zooming while rotating, loading bitmap images from file or memory, multiple drawing tools, collision masks, surface intersections, thread timers, bitmapped font support, and much more.
  • PocketFrog
    C++ library. PocketFrog is *the* game library to rapidly write blazing fast games on the Pocket PC platform. It is implemented in C++ with an object oriented design.
  • ASpriteCE Game Control
    ActiveX control. The ASpriteCE Game Control makes PocketPC game creation in eVB easy.
© 2001-2005 Pocket PC Developer Network, a division of Spb Software House