Game
Love2d Arkanoid Tutorial
9 years ago

Simple Arkanoid-type game + Tutorial


Hey!

I have been writing a simple Arkanoid-type game using Lua and LÖVE framework, but at some point I’ve decided to turn it into a tutorial.

5d0b078a6cdd3.png

The tutorial is intended for people, who have basic programming experience, but have trouble structuring their code for projects bigger than “Hello World”. An Arkanoid, while simple, contains many elements found in more elaborate games. My goal is to introduce a typical code structure, and to provide a starting point for further modifications.

Here are some screenshots:

5d0b078b0d695.png
5d0b078d1e7aa.png
5d0b078da694b.png
5d0b078f19b5e.png
5d0b07913bd92.png

LÖVE framework uses Lua language and it is geared towards 2d games. It is cross-platform, running on major desktop and mobile operating systems, and on the web. Some example games can be found here. LÖVE is simple and intuitive; glancing over this short article is enough to understand it’s basic principles of operation. Another it’s advantage is that it is free and open-source.

The tutorial is split in 3 chapters.

Chapter 1 describes how to build a prototype for an Arkanoid-type game in the most straightforward way, without relying too much on any external libraries or advanced language features.

(follow the links for the screenshots).

  1. The Ball, The Brick, The Platform

  2. Bricks and Walls

  3. Detecting Collisions

  4. Resolving Collisions

  5. Levels

    Appendix A: Storing Levels as Strings

Chapter 2 expands the prototype, introducing gamestates, basic graphics and sound. At the end of this chapter, the general frame of the game is complete. What is left is to fill it with the details.

  1. Splitting Code into Several Files

  2. Loading Levels from Files

  3. Straightforward Gamestates

  4. Advanced Gamestates

  5. Basic Tiles

  6. Different Brick Types

  7. Basic Sound

  8. Game Over

Chapter 3 proceeds to add functionality to achieve a full-featured game. While the code for this chapter works and available in the repository, some minor corrections are required. Overall, this chapter is currently in a draft stage, and the finished parts can be found on the github.

My current plans are to finish the tutorial about programming part and then to update the graphics and the sound. In the end, I want to achieve a small (~20 levels or so) but well-polished game.

Any feedback is appreciated.



0 comments

Loading...

Next up

We are under attack!

We made a lot of improvements on the Freezing Plains visual. Things like pine trees, tiny bushes, some rocks, and others game props!

#IndieGame | #IndieDev | #GameDev | #PixelArt | #WaifuQuest | #WifeQuest | #screenshotsaturday

Werehog transformation process. #sonicunleashed

Back in my art school days I used to ride the 710 COPSA line from Parque Del Plata to Montevideo almost everyday. This is the Marcopolo Viaggio G4 Mercedes Benz model from the late 80s, one of the older bus models that was running on the line.

The Darkside Detective: A Fumble in the Dark is out TODAY! 🖱️Advanced pointing, clicking action 🖨️Very funny words! Loads of them! 👻6 sarcastic, spectral cases to solve

Spaaaace~

These are background sprites I've created for a game I'm working on at school ^w^ Click on the post to see how the sprites connect. You won't regret it! (personally, I think it's pretty heheh)

Drawn in Piskel using my mouse. Whaddya think?

Let me introduce you to the new Mech line: Gendai Spec. Those are Mech that specializes in surprise attacks, covered operations, and stealth. They are equipped with melee weapons but one of Gendai's frames supports sniper rifles.

Levels' maps.

2d lighting experiment

Hi all, Quick update with a bunch of fixes and changes.

Updated save system, optimisation and screen tear fixes, a new shoutout room and more sounds.

Don't forget to follow the kickstarter going live on the 20th! https://www.kickstarter.com/projects/9fingergames/zapling-bygone

Enjoy!