<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://tmplab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThierryC2014</id>
		<title>Tmplab - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://tmplab.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ThierryC2014"/>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php/Special:Contributions/ThierryC2014"/>
		<updated>2026-04-05T22:34:20Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5865</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5865"/>
				<updated>2015-08-07T22:26:13Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: /* Game features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of [http://superhexagon.com/ SUPER HEXAGON], Terry Cavanagh's awesome psychedelic obstacle race game.&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON] remake.&lt;br /&gt;
&lt;br /&gt;
Made for laser projection.&lt;br /&gt;
{| &lt;br /&gt;
| [[Image:HexagonLazer.png|link=|center|300px|Watch the video on http://www.tmplab.org/video/HEXAGONLAZER.webm]]&lt;br /&gt;
&lt;br /&gt;
[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)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Source code now available on [https://github.com/tmplab/laser-hexagon GitHub]&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;br /&gt;
&lt;br /&gt;
Level scripting mimics Vittorio Romeo's LUA scripts &amp;quot;spawn-then-wait&amp;quot; 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 !&lt;br /&gt;
&lt;br /&gt;
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.&lt;br /&gt;
&lt;br /&gt;
There are currently three levels :&lt;br /&gt;
&lt;br /&gt;
* main level (music : &amp;lt;u&amp;gt;Robot Rockerz&amp;lt;/u&amp;gt; from Komputer Kontroller) : average difficulty, intended to show most of the game's features&lt;br /&gt;
* &amp;quot;G-Force&amp;quot; remake from OPEN HEXAGON 2 (music : CPU Mood from Fantomenk) : high difficulty, extra &amp;quot;scissors&amp;quot; pattern (side walls that can crush you) ;  patterns announced by swarms of tiny side walls instead of text (not yet implemented).&lt;br /&gt;
* beginner level (music : &amp;lt;u&amp;gt;Pirate Manners&amp;lt;/u&amp;gt; from Bossfight) : pentagonal/hexagonal quickly made level&lt;br /&gt;
&lt;br /&gt;
No text support yet (would be useful for credits, level names, pattern notifications, settings etc...)&lt;br /&gt;
Some distortion effects implemented but not yet used (zoom, 3D tilt).&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5864</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5864"/>
				<updated>2015-07-30T16:46:35Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: /* Game features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of [http://superhexagon.com/ SUPER HEXAGON], Terry Cavanagh's awesome psychedelic obstacle race game.&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON] remake.&lt;br /&gt;
&lt;br /&gt;
Made for laser projection.&lt;br /&gt;
{| &lt;br /&gt;
| [[Image:HexagonLazer.png|link=|center|300px|Watch the video on http://www.tmplab.org/video/HEXAGONLAZER.webm]]&lt;br /&gt;
&lt;br /&gt;
[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)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Source code now available on [https://github.com/tmplab/laser-hexagon GitHub]&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;br /&gt;
&lt;br /&gt;
Level scripting mimics Vittorio Romeo's LUA scripts &amp;quot;spawn-then-wait&amp;quot; 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 !&lt;br /&gt;
&lt;br /&gt;
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.&lt;br /&gt;
&lt;br /&gt;
There are currently three levels :&lt;br /&gt;
&lt;br /&gt;
* main level (music : &amp;lt;u&amp;gt;Robot Rockerz&amp;lt;/u&amp;gt; from Komputer Kommander) : average difficulty, intended to show most of the game's features&lt;br /&gt;
* &amp;quot;G-Force&amp;quot; remake from OPEN HEXAGON 2 : high difficulty, extra &amp;quot;scissors&amp;quot; pattern (side walls that can crush you), with swarms of tiny side walls announcing the next pattern since there is no text support yet&lt;br /&gt;
* beginner level (music : &amp;lt;u&amp;gt;Pirate Manners&amp;lt;/u&amp;gt; from Bossfight) : pentagonal/hexagonal quickly made level&lt;br /&gt;
&lt;br /&gt;
No text support yet (would be useful for credits, level names, pattern notifications, settings etc...)&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5863</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5863"/>
				<updated>2015-07-30T16:04:50Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of [http://superhexagon.com/ SUPER HEXAGON], Terry Cavanagh's awesome psychedelic obstacle race game.&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON] remake.&lt;br /&gt;
&lt;br /&gt;
Made for laser projection.&lt;br /&gt;
{| &lt;br /&gt;
| [[Image:HexagonLazer.png|link=|center|300px|Watch the video on http://www.tmplab.org/video/HEXAGONLAZER.webm]]&lt;br /&gt;
&lt;br /&gt;
[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)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Source code now available on [https://github.com/tmplab/laser-hexagon GitHub]&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;br /&gt;
&lt;br /&gt;
Level scripting mimics Vittorio Romeo's LUA scripts &amp;quot;spawn-then-wait&amp;quot; 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 !&lt;br /&gt;
&lt;br /&gt;
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... and of course, source code intended to be released as soon as the game gets substantial playable content !&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5862</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5862"/>
				<updated>2015-07-27T17:28:51Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: /* Laser Asteroids */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Don't be stupid : LASERS ARE DANGEROUS.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''You  must comply to your local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(WIKI IN PROGRESS)&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=5XTi-jf-ans (YouTube video here)]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5752</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5752"/>
				<updated>2015-02-01T10:02:13Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of Terry Cavanagh's [http://superhexagon.com/ SUPER HEXAGON psychedelic obstacle race game].&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON remake].&lt;br /&gt;
&lt;br /&gt;
Made for laser projection.&lt;br /&gt;
&lt;br /&gt;
[http://www.tmplab.org/video/HEXAGONLAZER.webm Video here] (W.I.P. 2015/01/29 : testing basic patterns in a short sequence with some randomness)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DISCLAIMER AGAIN ! The original game concept is not mine but belongs to Terry Cavanagh !&lt;br /&gt;
&lt;br /&gt;
'''This fan-game is a homage to his awesome invention.&lt;br /&gt;
&lt;br /&gt;
Like me, consider supporting him if you love the game's aesthetics and get addicted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;br /&gt;
&lt;br /&gt;
Level scripting mimics Vittorio Romeo's LUA scripts &amp;quot;spawn-then-wait&amp;quot; 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 !&lt;br /&gt;
&lt;br /&gt;
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... and of course, source code intended to be released as soon as the game gets substantial playable content !&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5751</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5751"/>
				<updated>2015-01-30T22:21:04Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of Terry Cavanagh's [http://superhexagon.com/ SUPER HEXAGON obstacle race game].&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON remake].&lt;br /&gt;
&lt;br /&gt;
Tailored for laser projection.&lt;br /&gt;
&lt;br /&gt;
[http://www.tmplab.org/video/HEXAGONLAZER.webm Video here (W.I.P. 2015/01/29)]&lt;br /&gt;
&lt;br /&gt;
'''DISCLAIMER AGAIN ! The original game concept is not mine but belongs to Terry Cavanagh !&lt;br /&gt;
&lt;br /&gt;
'''This fan-game is a homage to his awesome invention&lt;br /&gt;
&lt;br /&gt;
Like me, consider supporting him if you love the game's aesthetics and get addicted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;br /&gt;
&lt;br /&gt;
Level scripting mimics Vittorio Romeo's LUA scripts &amp;quot;spawn-then-wait&amp;quot; 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 !&lt;br /&gt;
&lt;br /&gt;
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... and of course, source code intended to be released as soon as the game gets substantial playable content !&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5750</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5750"/>
				<updated>2015-01-30T22:19:46Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of Terry Cavanagh's [http://superhexagon.com/ SUPER HEXAGON obstacle race game].&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON remake].&lt;br /&gt;
&lt;br /&gt;
Tailored for laser projection.&lt;br /&gt;
&lt;br /&gt;
[http://www.tmplab.org/video/HEXAGONLAZER.webm Video here (W.I.P. 2015/01/29)]&lt;br /&gt;
&lt;br /&gt;
'''DISCLAIMER AGAIN ! The original game concept is not mine but belongs to Terry Cavanagh !&lt;br /&gt;
&lt;br /&gt;
'''This fan-game is a homage to his awesome invention&lt;br /&gt;
&lt;br /&gt;
Like me, consider supporting him if you love the game's aesthetics and get addicted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;br /&gt;
&lt;br /&gt;
Level scripting mimics Vittorio Romeo's LUA scripts &amp;quot;spawn-then-wait&amp;quot; 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 get written as simple sequential programs !&lt;br /&gt;
&lt;br /&gt;
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... and of course, source code intended to be released as soon as the game gets substantial playable content !&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5749</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5749"/>
				<updated>2015-01-30T22:01:08Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of Terry Cavanagh's [http://superhexagon.com/ SUPER HEXAGON obstacle race game].&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON remake].&lt;br /&gt;
&lt;br /&gt;
Tailored for laser projection.&lt;br /&gt;
&lt;br /&gt;
[http://www.tmplab.org/video/HEXAGONLAZER.webm Video here (W.I.P. 2015/01/29)]&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core EtherDream controller's protocol management (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
On-screen (pygame drawing primitives-based) display enables to play or design the game even with no laser at hand.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;br /&gt;
&lt;br /&gt;
Level scripting mimics Vittorio Romeo's LUA scripts &amp;quot;spawn-then-wait&amp;quot; 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 get written as simple sequential programs !&lt;br /&gt;
&lt;br /&gt;
Open Hexagon's floating/rotating walls, as well as Super Hexagon's scenery-bound walls subject to the opening/closing sector effect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
... and of course, source code intended to be released as soon as the game gets substantial playable content !&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5748</id>
		<title>Laser Hexagon</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Laser_Hexagon&amp;diff=5748"/>
				<updated>2015-01-30T21:29:50Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: 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...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description ==&lt;br /&gt;
A personal remake of Terry Cavanagh's [http://superhexagon.com/ SUPER HEXAGON obstacle race game].&lt;br /&gt;
&lt;br /&gt;
Also borrowing some nice ideas from Vittorio Romeo's [http://vittorioromeo.info/projects.html OPEN HEXAGON] remake.&lt;br /&gt;
&lt;br /&gt;
Tailored for laser projection.&lt;br /&gt;
&lt;br /&gt;
== Game features ==&lt;br /&gt;
(work in progress)&lt;br /&gt;
&lt;br /&gt;
Written in Python, using the [http://www.pygame.org/wiki/about pygame framework].&lt;br /&gt;
&lt;br /&gt;
Core laser control routine (dac.py module) from Brandon Thomas (Echelon)'s [https://github.com/echelon/laser-asteroids Laser Asteroids] game.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Designed with wire-frame in mind : since lasers can only draw lines, therefore even the obstacles are lines rather than solid polygons !&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5747</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5747"/>
				<updated>2015-01-30T20:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Don't be stupid : LASERS ARE DANGEROUS.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''You  must comply to your local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(WIKI IN PROGRESS)&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids &amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
[http://www.tmplab.org/2015/01/30/hexagon-lazer-laser-game/ Video preview here (work in progress)].&lt;br /&gt;
&lt;br /&gt;
For more info, see [[Laser_Hexagon|project page]].&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5746</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5746"/>
				<updated>2015-01-30T20:16:18Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Don't be stupid : LASERS ARE DANGEROUS.'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''You  must comply to your local laws.'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
For introduction to laser safety, a great video : 31C3 Safer playing with lasers&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(WIKI IN PROGRESS)&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. Again you must have control on anything in front of laser light. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper but quite limited to ilda files.&lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard, up to use commercials (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY Lasers ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== Control boxes : DAC ===&lt;br /&gt;
&lt;br /&gt;
==== [http://macpod.net/electronics/lasershark/lasershark.php Lasershark] ====&lt;br /&gt;
&lt;br /&gt;
* One color only&lt;br /&gt;
* to be used with [https://github.com/marcan/openlase/wiki openlase]&lt;br /&gt;
* USB&lt;br /&gt;
&lt;br /&gt;
==== [http://ether-dream.com/ Ether-dream] ====&lt;br /&gt;
&lt;br /&gt;
* This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
* RGB capable&lt;br /&gt;
* RJ45 : The ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
* The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
* In depth protocol page kind of hidden [http://ether-dream.com/protocol.html]&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Laser Asteroids ===&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids|&amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;br /&gt;
&lt;br /&gt;
=== Laser Hexagon ===&lt;br /&gt;
See [[Laser_Hexagon|project page]].&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5623</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5623"/>
				<updated>2015-01-05T23:10:07Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(WIKI IN PROGRESS)&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper than &lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard upt to use commercially (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card. Obviously is much more expensive but has some great advantage : the ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html|analog DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY projects ===&lt;br /&gt;
&lt;br /&gt;
[http://elm-chan.org/works/vlp/report_e.html] : a DIY laser projector made from scratch.&lt;br /&gt;
&lt;br /&gt;
Even the galvanometers are home-built !&lt;br /&gt;
&lt;br /&gt;
In particular, there is a detailed study of the design of the galvanometers' servo loop control : galvanometers feature inertia like any mechanical devices, and achieving fast and accurate moves requires to &amp;quot;compensate&amp;quot; the galvanometers' drive signals with respect to their sensed position.&lt;br /&gt;
&lt;br /&gt;
=== [http://ether-dream.com/ Ether-dream dac] ===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
&lt;br /&gt;
The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids|&amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	<entry>
		<id>https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5622</id>
		<title>Interactive lasers</title>
		<link rel="alternate" type="text/html" href="https://tmplab.org/wiki/index.php?title=Interactive_lasers&amp;diff=5622"/>
				<updated>2015-01-05T22:57:48Z</updated>
		
		<summary type="html">&lt;p&gt;ThierryC2014: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(WIKI IN PROGRESS)&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
The main idea is to add interactivity to &amp;quot;leisure&amp;quot; lasers. i.e with a gamepad one can play to old style vector games on city buildings. See picture at bottom.&lt;br /&gt;
&lt;br /&gt;
Different levels of complexity are possible. Commercial lasers uses ilda files/connections to draw whatever you want, but you can build your own, see hardware section.&lt;br /&gt;
&lt;br /&gt;
* The very fast and easy plan is to switch ilda scenes according to some inputs. You can use already made ilda files (see download section) in a SDcard plugged inside the laser fixture and use DMX protocol to switch. DMX usb cards are cheap, usually we use enttec ones. DMX controlled lasers are cheaper than &lt;br /&gt;
* If the plan is too draw live, it depends on the laser fixture DIY or commercial. Lot of possibilities depending on the number of colors, from using an arduino, a 5.1 USB soundcard upt to use commercially (opensource) cards using the standarts ilda connect ports.&lt;br /&gt;
* In any way, such lasers must feature X- and Y-scanners (i.e. galvanometer-moved mirrors) in order to position the beam accurately&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Obviously there is DIY Lasers and commercial ones and there is a bunch of cards integrating some DACs to talk to the laser fixture. &amp;lt;br&amp;gt;&lt;br /&gt;
A great forum for bootstrap your project is [http://laserfreak.net/forum/index.php laser freak] that comes in different langages. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We play with two different setups :&lt;br /&gt;
&lt;br /&gt;
* a green DIY laser made at [http://blog.blackboxe.org/?m=201407&amp;amp;lang=en la Blackboxe] with a [http://www.macpod.net/electronics/lasershark/lasershark.php lasershark] USB DAC card.&lt;br /&gt;
* an ilda DB25 ports RGB commercial laser for clubs  with an [http://ether-dream.com/ Etherdream] USB DAC card. Obviously is much more expensive but has some great advantage : the ether dream is directly tcp/IP controlled, so you can imagine very cool projects with very easy setup and of course the programming langage you prefer.&lt;br /&gt;
&lt;br /&gt;
=== Commercial Lasers ===&lt;br /&gt;
*&lt;br /&gt;
'''Warning !''' Not all lasers can draw anything ! Only the ones featuring scanners (i.e. galvanometer-moved mirrors) for the X- and Y-axes can do it (unlike the cheapest ones, which only draw random patterns).&lt;br /&gt;
&lt;br /&gt;
On commercial lasers, the standard way to drive the beam is the [http://laserfx.com/Backstage.LaserFX.com/Systems/Pinouts9.html|analog DB25-connector-based ILDA interface] (source : laserfx.com). It is based on analog differential control signals.&lt;br /&gt;
&lt;br /&gt;
Therefore you'll need some external hardware capable of outputting such signals, be it standalone or controlled by a host computer. Such hardware is usually named concisely &amp;quot;DAC&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== DIY projects ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [http://ether-dream.com/ Ether-dream dac] ===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
This is an ILDA control box which can either work as standalone (displaying a sequence of ILDA scenes tored internally or on an SD-card) or receive IP frames for driving the beam.&lt;br /&gt;
&lt;br /&gt;
The firmware is open-source (but what about the hardware ?)&lt;br /&gt;
&lt;br /&gt;
[[Image:Laser.png]]&lt;br /&gt;
&lt;br /&gt;
An [https://github.com/echelon/laser-asteroids|&amp;quot;Asteroids&amp;quot;-variant game from Brandon Thomas (Echelon) on GitHub]&lt;/div&gt;</summary>
		<author><name>ThierryC2014</name></author>	</entry>

	</feed>