Skip to content
/ arcade Public

A little arcade on which you can play centipede and snake with 3 different libs

Notifications You must be signed in to change notification settings

baldash/arcade

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arcade API documentation


The Arcade API is a set of tools allowing the user to conceive, create and play arcade-like games, such as Pac-man, Snake or Centipede. The goal of this documentation is to help you unterstand the usage basics of the Arcade API, and to give you all the useful tools to create your own games. For more infos about the Arcade project, click here.

Summary

  1. Description of the API

  2. Usage rules


Description


The Arcade API is an architecture template. It is the base of the Arcade project, and allows the user to dynamically load and play games and graphic libraries. Thanks to the linking of dynamic libraries, the user can play games and load graphic libraries event at run-time.
There are several rules to respect while using this API, which will be explained in this documentation. However, we recommend you to take a look at the "Classes" section of this documentation, to comprehend better what we are going to talk about now.

Rules


As you might have seen, this architexture is guite simple. But it must respond to several rules.
The game logic is axed around the cell logic. We call cell logic the fact that positions and graphical actions are calculated thanks to a cell system.
This cell system is a grid pattern where a square is of a given size. The sprites and actions will occur between them, and will not affect the neighbor cells.
Moving responding to the cell logic can't display fluid animations. It reproduces the behavious os the old Arcade games.

The ressource files such as images or spritesheets must be situated at the same place as the Arcade project executable.

Every method must be created if you want to create your own dynamic library. Here are a few precisions :
  • Your context class must contain a IGraphic interface and a IEvents interface. It must have getters to interact with them.
  • The context must implement 2 different function prototyped as follows :
    • extern "C" arcade::api::IContext *entry_point();
    • extern "C" void delete_point(arcade::api::IContext *mod);
    entry_point must return a pointer on your new Context, and delete_point must delete it. That is how the loader works.
  • The graphic libs must be in the "./lib" directory
  • The game libs must be in the "./games" directory


Hoping this documentation will help you playing with the Arcade project !



Sylvain CHAUGNY - Anthony LECLERC - Hugo BALDASSIN

About

A little arcade on which you can play centipede and snake with 3 different libs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages