Difference between revisions of "Laser Hexagon"

From Tmplab
(New page: == Description == A personal remake of Terry Cavanagh's [http://superhexagon.com/ SUPER HEXAGON obstacle race game]. Also borrowing some nice ideas from Vittorio Romeo's [http://vittorior...)
 
(Game features)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
== Description ==
 
== Description ==
A personal remake of Terry Cavanagh's [http://superhexagon.com/ SUPER HEXAGON obstacle race game].
+
A personal remake of [http://superhexagon.com/ SUPER HEXAGON], Terry Cavanagh's awesome psychedelic obstacle race game.
  
 
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON] remake.
 
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON] remake.
  
Tailored for laser projection.
+
Made for laser projection.
 +
{|
 +
| [[Image:HexagonLazer.png|link=|center|300px|Watch the video on http://www.tmplab.org/video/HEXAGONLAZER.webm]]
 +
 
 +
[http://www.tmplab.org/video/HEXAGONLAZER.webm Webm video] [http://www.tmplab.org/video/HEXAGONLAZER.mp4 MP4 video] (W.I.P. 2015/01/29 : testing basic patterns in a short sequence with some randomness)
 +
 
 +
|}
 +
 
 +
Source code now available on [https://github.com/tmplab/laser-hexagon GitHub]
  
 
== Game features ==
 
== Game features ==
(work in progress)
 
  
 
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].
 
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].
  
Core laser control routine (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.
+
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.
  
On-screen (pygame drawing primitives-based) display too, in order to be able to play or design the game even with no laser at hand.
+
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.
  
 
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !
 
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !
 +
 +
Level scripting mimics Vittorio Romeo's LUA scripts "spawn-then-wait" concept (but in a more basic way since I'm not as skilled as him !) thanks to Python's ''yield'' statement. Instead of writing complex state machines, write your levels as simple sequential programs !
 +
 +
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.
 +
 +
There are currently three levels :
 +
 +
* main level (music : <u>Robot Rockerz</u> from Komputer Kontroller) : average difficulty, intended to show most of the game's features
 +
* "G-Force" remake from OPEN HEXAGON 2 (music : CPU Mood from Fantomenk) : high difficulty, extra "scissors" pattern (side walls that can crush you) ;  patterns announced by swarms of tiny side walls instead of text (not yet implemented).
 +
* beginner level (music : <u>Pirate Manners</u> from Bossfight) : pentagonal/hexagonal quickly made level
 +
 +
No text support yet (would be useful for credits, level names, pattern notifications, settings etc...)
 +
Some distortion effects implemented but not yet used (zoom, 3D tilt).

Latest revision as of 23:26, 7 August 2015

Description

A personal remake of SUPER HEXAGON, Terry Cavanagh's awesome psychedelic obstacle race game.

Also borrowing some nice ideas from Vittorio Romeo's OPEN HEXAGON remake.

Made for laser projection.

Error creating thumbnail: File missing

Webm video MP4 video (W.I.P. 2015/01/29 : testing basic patterns in a short sequence with some randomness)

Source code now available on GitHub

Game features

Written in Python, using the pygame framework.

Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s Laser Asteroids game.

On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.

Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !

Level scripting mimics Vittorio Romeo's LUA scripts "spawn-then-wait" concept (but in a more basic way since I'm not as skilled as him !) thanks to Python's yield statement. Instead of writing complex state machines, write your levels as simple sequential programs !

Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.

There are currently three levels :

  • main level (music : Robot Rockerz from Komputer Kontroller) : average difficulty, intended to show most of the game's features
  • "G-Force" remake from OPEN HEXAGON 2 (music : CPU Mood from Fantomenk) : high difficulty, extra "scissors" pattern (side walls that can crush you) ; patterns announced by swarms of tiny side walls instead of text (not yet implemented).
  • beginner level (music : Pirate Manners from Bossfight) : pentagonal/hexagonal quickly made level

No text support yet (would be useful for credits, level names, pattern notifications, settings etc...) Some distortion effects implemented but not yet used (zoom, 3D tilt).