Difference between revisions of "Laser Hexagon"
ThierryC2014 (talk | contribs) |
ThierryC2014 (talk | contribs) (→Game features) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Description == | == Description == | ||
− | A personal remake of | + | 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. |
− | + | 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 | + | [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 == | ||
− | |||
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]. | ||
Line 19: | Line 24: | ||
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, levels | + | 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. | 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).