dodolab / Arkanoid

Arkanoid clone written in Lua script

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arkanoid

logo

Clone of a 1986 computer game. The player controls a paddle/vessel which prevents a ball from falling, attempting to destroy all bricks.

Platforms

  • Windows
  • Linux
  • Android (available soon)

Implemented mechanics

  • Paddle controller
  • Intro scene (just a dummy image)
  • Very simple collision handler
  • Multiple levels
  • Game over

Technical notes

  • All game components are implemented in both C++ and Lua (however only one language is running at a time)
  • To use C++ components, remove ARKANOID_LUA directive at the beginning of ArkanoidFactory.cpp file
  • All Lua scripts are located in Data/Arkanoid.lua

Architecture

  • The game uses raw component architecture (ECS pattern)

architecture

Sprites

  • Game uses a sprite atlas instead of set of images

sprites

Configuration

  • Sprites and levels are declared in Data/data.json
Example: level declaration (each brick has its own code)
"levels_maps" : [
  [
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0],
	[1,1,1,1,1,1,1,1,1,1,1],
	[2,2,2,2,2,2,2,2,2,2,2],
	[3,3,3,3,3,3,3,3,3,3,3],
	[4,4,4,4,4,4,4,4,4,4,4],
	[5,5,5,5,5,5,5,5,5,5,5],
	[6,6,6,6,6,6,6,6,6,6,6],
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0],
	[0,0,0,0,0,0,0,0,0,0,0]
 ],

Control

  • LEFT ARROW - move paddle to the left
  • RIGHT ARROW - move paddle to the right
  • LEFT ALT - release the ball

Installation

First, install OpenFrameworks framework, following instructions on their web. Recommended version is 0.9.8.

Second, download CogEngine 0.35 game engine. Open the VS solution file and fix paths to both frameworks.

About

Arkanoid clone written in Lua script

License:MIT License


Languages

Language:C++ 58.5%Language:Lua 23.3%Language:Makefile 12.5%Language:Java 3.7%Language:Batchfile 2.0%