lp177

Break Portal

Démo de casse-briques en Lua dont les raquettes sont des portails

Jeufévrier 2015LuaLÖVE 0.9HardonCollider

Code source

Démo d’un casse-briques écrite en Lua avec le moteur LÖVE : deux raquettes-portails, l’une en bas et l’autre en haut de l’écran, se renvoient la balle par téléportation. Ancêtre de PortalBreakout (2026).

But du projet

Prototype jouable d’une idée de casse-briques : la balle ne rebondit pas sur la raquette, elle entre dans un portail et ressort par l’autre, placé de l’autre côté de l’écran. Le projet se limite à un menu, un écran de réglages et un niveau de démonstration.

Fonctionnalités

  • Deux portails déplaçables indépendamment : bleu en bas, orange en haut.
  • Deux modes, basculés à tout moment : portail (la balle est téléportée vers l’autre portail) ou rebond (la balle repart en sens inverse, les portails passent en blanc).
  • Un niveau de briques disposées en diagonale entre deux murs latéraux, chargé depuis maps/map1.lua.
  • Menu principal (Play, Setting, Exit) avec boutons réagissant au survol, puis bouton Retry après une première partie.
  • Réglages : son activé ou coupé, plein écran.
  • Musique de menu et de jeu (deux fichiers WAV), polices personnalisées.

Fonctionnement

main.lua branche les fonctions de rappel de LÖVE (love.update, love.draw, clavier, souris) sur la page active : menu, réglages ou partie. Chaque élément du jeu est un module Lua (portal.lua, ball.lua, brick.lua, collision.lua) et les collisions passent par la bibliothèque HardonCollider, incluse dans le dépôt. Les boutons de l’interface sont dessinés à la main par un petit module (butt.lua).

Captures d’écran

Jouer

Pas de version en ligne. Le jeu se lance avec LÖVE en version 0.9.x (celle déclarée dans conf.lua) ; le code utilise des fonctions retirées dans les versions suivantes, comme love.window.getWidth.

git clone https://github.com/lp177/breakPortal.git
cd breakPortal
love .

Contrôles

ActionTouche
Lancer la balle vers le haut / le bas↑ / ↓
Déplacer le portail bleu (bas)← →
Déplacer le portail orange (haut)A D
Basculer portail / rebondEspace
Dévier la balle en touchant une briquemaintenir le clic gauche
Retour au menuÉchap

Limites connues

Il s’agit d’une démo : les briques ne se cassent pas (la balle rebondit dessus), il n’y a ni score, ni vies, ni fin de partie.

Historique

Écrit en février 2015. L’idée des raquettes-portails a été reprise en 2026 dans PortalBreakout, un jeu web complet avec 150 niveaux, coopération et duel en ligne.