Log In  

I've invested some time working on a demake for one of my favourite games from the 8-bit era, Deflektor (by Costa Panayi). Your goal is to guide a laser to the receiver on each of the levels, access to it is blocked until you destroy all pods on the level. Laser overloads when it hits mines or if the emitter gets feedback.

Cart #deflektor-18 | 2020-08-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

HOW TO PLAY (you can go through this tutorial in the game itself)


  • 1 MORE LEVEL (now totalling 8)


  • 1 MORE LEVELS (now totalling 7)


  • 2 MORE LEVELS (now totalling 6)
  • ADDED safety pre-check so levels don't start on full-reflection or overload status


  • FIXED tutorial can be run multiple times


  • FIXED bug duplicating player cursor entity...
  • FIXEX tutorial scrambled if you play before running it


  • Massive rewrite (almost 80% of it is new...)
  • ADDED a few more levels
  • REMOVED editor mode... it is now it's own cart... was too big
  • ADDED Tutorial, Intro screen, proper game over and End Game sequence
  • FIXED a few nasty reflection bugs for the laser beam


  • FIXED bug with negative angle reflections not causing overload
  • ADDED some more basic FX
  • EDITOR MODE early version (reqs. mouse)
  • ADDED laser loading phase at start level/new live
  • ADDED end level scoring
  • WIP bgmusic (in the cart but not playing, unsure if it will stay)


  • FIXED bug in map loading that made optical fiber to crash (main reason to re-release)
  • ADDED some basic SFX
  • FIXED optical fiber pair coloring
  • some minor token salvaging and code clean-up


  • FIXED extra greediness in beam capture at mirror centers causing odd reflexions
  • FIXED color error on initial rise for the overload meter
  • MASSIVE spr sorting to allow for a reasonable leveldata format
  • Level is loaded from data (level info will live in 0x1000 to 0x1FFF unused shared map/spr space)
  • Crude leveldata persister as a prototype for leveleditor mode (unsure if editor will be a separate cart)


  • Optical fiber interaction
  • Laser grid scatter interaction
  • Level can be completed
  • Interaction with the receiver (connected status to end level)
  • Removed displaying laser point debugging
  • FIXED metal wall reflexion failing for some situations


  • Basic intro page
  • Beam generation and reflection
  • Player movement
  • Mirror interaction and auto-rotation
  • Beam interaction with mirrors, walls, mines and pods
  • Full HUD control
  • Crude live / energy / overload management
  • Scoring
  • Hardcoded level mapping


  • MUSIC: title music from the original and maybe a bg loop while playing
  • SOUNDS: laser connection sound
    • live lost sequence
    • level transition
    • extra detail in end game sequence
    • gremlins from the original game... unsure if I will be adding those
    • a few more levels... the plan is get around 20-30 levels in place
  • CODING: even if I refactored a lot, there's still quite some junk... could be I do some more
P#66564 2019-08-11 19:31 ( Edited 2020-08-27 16:45)

I'm not sure how to hit all the dots as the mirrors cannot be moved (location).

P#66595 2019-08-12 00:45

You move a cursor, when pressing X on it you can rotate them... It is not fully playable yet. Game mechanics: you must destroy all pods to open the path to the laser receiver and then connect to it... As I said not fully working yet, this is a very early alpha. Thank for trying it!

P#66597 2019-08-12 02:25

Good basis here - some mechanics are not obvious (not implemented yet?)

Biggest gripe is: use the mouse!

P#66608 2019-08-12 08:43

Missing mechanics:

  • optical fiber transfer beam btwn same colored pairs
  • scatter grid (white square with a black helix) scatters randomly on a 180° based on incoming angle

Level flaw: pod in upper right corner must be changed to a mirror

The mouse... I could do that but part of the challenge is movement efficiency and spectrum did not have a mouse ;) trying to be true to the original spirit

Still need to find a way to depict polarized prisms as 8*8 px is a nightmare for angle representation

Anyway thnx for testing and the comments

P#66614 2019-08-12 15:05 ( Edited 2019-08-12 21:28)

Excellent! I loved games by Vortex. Some of the best ever on the Spectrum.

One suggestion to make it easier to play. It would be nice if the controls moved the cursor directly (but smoothly) between things you can interact with, rather than tile by tile across the playing area, over tiles you can't do anything to.

P#66615 2019-08-12 16:30

You need access to any tile to chase off Gremlins, and again... Challenge is based on economy of movement ;)

P#66616 2019-08-12 16:52 ( Edited 2019-08-12 16:52)

Some comments:

  • yes, I know the reflected angle is a bit odd sometimes... on my current wip copy mirror center capture is less greedy allowing for a more natural reflection model (and trickier level design I guess...)

  • Currently cannot play twice in a row on that pseudo-level as it is hardcoded and the "map" gets updated during play. It's my next milestone, level data loading and a level editor
P#66735 2019-08-17 18:38

Damned it... just found a bug that duplicates the player cursor... :/ will upload a fixed version asap

P#79954 2020-07-26 16:49

Having a proper level editor is quite important when building something like this game... some footage on how my editor is going on...

Editing a new level...

A view on the current ones... (0.5.3... not released yet)

P#79997 2020-07-27 19:48

Good fun.

One suggested improvement : Sometimes levels (notably level 2) start in a overload configuration and I don't really have time to get to the offending mirror before I die. It'd be nice if levels started with the mirrors in a safe position.

P#80011 2020-07-28 00:21

Thnx @apLundell for trying it out and glad you had fun with it... agreed on the randomness issue. The way code works I think it is reasonable to think on adding an initial pre-check for full-reflection or overload before starting the laser... will give some thinking on how to addapt current beam calculation to reuse all the logic

P#80049 2020-07-28 20:33

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2022-12-04 23:01:19 | 0.014s | Q:29