
- This event has passed.
Retro Graphics Coding : Scaling & Perspective in BBC BASIC
Event Cancelled
Unfortunately we haven’t had enough registrations to justify running this event.

Event Cancelled
Unfortunately we haven’t had enough registrations to justify running this event.
Sunday March 9 @ 8:00 pm – 9:30 pm GMT
Bringing Landscaping to BBC BASIC
The BBC Micro is famous for its rich programming environment, and BBC BASIC remains one of the most powerful and elegant versions of the language. But can it recreate one of the most visually striking techniques from the 8-bit era—Landscaping graphics, as seen in The Lords of Midnight?
The Lords of Midnight (1984) by Mike Singleton was an ambitious and innovative adventure game originally created for the ZX Spectrum that combined strategic gameplay with an immersive first-person world.
Using a clever Landscaping technique, the game created vast, explorable environments with scaled graphics that gave players a sense of depth and distance—without the need for true 3D rendering. Despite its technical brilliance, the game was never released for the BBC Micro, leaving a gap in Acorn’s legacy of great 8-bit visuals!
The Challenge : Bringing Landscaping to BBC BASIC
This webinar will break down some of the first concepts and coding techniques behind Landscaping graphics and explore how they can be recreated in BBC BASIC. You’ll learn:-
- The exact appeal behind The Lords of Midnight game and it’s groundbreaking graphics.
- How to create scaled objects in BBC BASIC that appear at different distances, mimicking depth.
- The fundamentals of first person perspective graphics
This is a fun, hands-on exploration of how classic game graphics were built and how you can use those same techniques on the BBC Micro today. If you love the idea of coding in BBC BASIC and want to take on a new programming challenge, join us for this session and see how far we can push the Beeb!
Programming Level
This is ideal for those with a basic understanding of BBC BASIC, but no prior experience in graphics programming is required.
We’ll be using the accessible (and free) browser based BBC BASIC Owlet editor on this occasion, but if you have an actual Acorn machine, take advantage of putting it to use! I’ll share code snippets during the event.
Tickets for this Event
The live introductory session is free, but if you want more structured learning materials, the Premium Ticket ($25) gives you:
- The webinar recording in HD format – Rewatch at your own pace.
- Timed index transcript of the event
- PDF Coding Sheet : The BBC BASIC coding from this session annotated
- Downloadable files– Start coding right away.
Perfect if you can’t make the live session or want a reference to start to learn landscape graphics
Take Your Skills Further – Join the Full Course!
The full course ticket provides a further 3 weeks Hands-On Course Exploring BBC BASIC and Retro Graphics
The Landscaping technique from The Lords of Midnight was groundbreaking—but how can we create a full Landscaping game in BASIC in 32K?!
In this course, we go deeper, guiding you step by step through the BBC BASIC code needed to bring first-person perspective graphics to life and exploring additional attractive scaleable graphics.
Benefits of the Full Course
The Landscaping technique from The Lords of Midnight was groundbreaking—but how was it done? In this course, we go deeper, guiding you step by step through the BBC BASIC code needed to bring first-person perspective graphics to life, gamifying the landscaping process and considering new scaled elements into our landscape.
This 3-session course (following the free introductory session) will walk you through each stage of recreating scaled landscapes, map navigation, and rendering perspective views in BBC BASIC.
Your Course Ticket Includes:
- Three additional interactive, live training sessions (1.5+ hours each)
- HD recordings of all sessions
- Time indexed transcripts from each session
- A coding challenge (yes homework!) at the end of each session to consolidate learning.
- A private forum to keep in touch between sessions and post your own related code to this course
- Annotated BBC BASIC code breakdown (PDF download) snippets from each session
- Downloadable code files from each session (SSD format)
- A structured learning approach to mastering BBC BASIC graphics
Course Dates
Each additional live session will last 1.5 hours
Session 2 : Sunday 16th March at 19:00 GMT
Session 3 : Sunday 23rd Match at 19:00 GMT
Session 4 : Sunday 30th March at 19:00 GMT
What You’ll Learn
- Retro Graphics Fundamentals:
- Master the basics of drawing elements like mountains, trees, and towers in BBC BASIC.
- Learn how to scale and position objects to create perspective and depth in your landscapes.
- Grid-Based Game Design:
- Create a map grid with different terrains, from plains to forests and mountains.
- Implement player movement across the map in 4 compass directions.
- Add an objective for the player.
- Dynamic Landscapes:
- Recreate the iconic “Landscaping” technique, with scaled visuals that change based on your perspective.
- Add interactivity and learn to design your own scaled elements.
- Creativity Custom-Designed:
- Design your own unique landscape elements and bring your artistic vision to life.
- Additional challenge : can we add place names to the map?
- Create a playable game prototype that’s uniquely yours.
Who is this Course For?
- Retro Computing Enthusiasts: Relive the magic of 8-bit computing by tackling an uncharted challenge on the BBC Micro.
- Beginner Programmers: Start your programming journey with a simple yet powerful language.
- Digital Artists: Learn the fundamentals of graphics creation by coding your visuals from scratch.
- Lovers of Classic Games: Celebrate the legacy of Lords of Midnight by recreating its groundbreaking techniques.
The Lords of Midnight
The Lords of Midnight was a groundbreaking 1984 fantasy adventure and strategy game created by Mike Singleton for the ZX Spectrum and other platforms. It combined first-person exploration with a vast, open-world map and a unique “Landscaping” graphics technique that used scaled visuals to create a sense of depth and perspective.



Throughout the course, you’ll learn how to design a streamlined and efficient BASIC program that brings the iconic landscaping graphics technique to life, enabling you to navigate and explore an adventure map from a first-person perspective.
What’s Needed for the Course?
We’ll be using a free simple browser coding editor emulating BBC Basic that is easy to learn that can either be run within a browser or installed on any PC or Mac.
You won’t need a real retro computer to run the code, but if you do have one – then you’ll get the authentic experience of running your own developed code on the original machine.
Programming Level : This is ideal for those with a basic understanding of BBC BASIC, but no prior experience in graphics programming is required. We won’t be covering fundamentals keywords and structures such as PRINT
, FOR...NEXT
, etc.
“Will I be able to keep up with the technical aspects of the course?”
Absolutely! The course is structured to be approachable, with a focus on practical, bite-sized lessons that break down even the most technical concepts into easy-to-follow steps. Plus, you’ll have access to source code and example projects to help you along the way, and you can revisit any lesson at your own pace.
Full Curriculum
=> Click HERE to see what you’ll learn in Detail
(Session 1 is the introductory session above)
Session 2 : Grid-Based World & Player Navigation
Laying the foundation for a functional landscape system
- Understanding Grid-Based Mapping
- How early adventure games structured world data with 2D arrays
- Creating a terrain-based map grid (plains, forests, mountains, towers)
- Efficiently storing and reading map data in BBC BASIC
Player Movement Mechanics
- Implementing movement in 4 compass directions
- Handling map boundaries and preventing out-of-bounds movement
- Updating player position dynamically
Visualizing the Map
- Using symbols, colors, or simple graphics to display map locations
- Experimenting with terrain differentiation
Dithering and texture effects
- Exploring texturing effects with limited colours
- A procedure to created a textured sky or background
By the end of this session, you’ll have:
- A working grid-based adventure world
- A player movement system to explore the map
- A visual representation of terrain types
- Understanding texturing effects
Session 3 : Dynamic Landscaping & Perspective Rendering
The Fundamentals of First-Person Perspective
- How Landscaping graphics create depth in 8-bit games
- Introducing the perspective depth variable (pd%) to control visible distance
Scaling Objects Dynamically
- Creating scalable procedures for:
- Mountains – Peaks and ridges with triangle-based drawing
- Trees – Trunk and canopy scaling for depth
- Towers – Detailing structures with size-based distance rendering
Defining the Cone of Vision
- How cp$ (cardinal points row widths) determines visible rows
- Adjusting landscape scaling dynamically based on distance
Directional Rendering & Player Viewpoint
- How the player’s facing direction alters visible elements
- Rotating the cone of vision based on North, East, South, West
By the end of this session, you’ll have:
- A working first-person rendering system
- Scaling logic that changes object size dynamically
- Directional rendering that adjusts what the player sees
Session 4 : Customisation, Optimisation and Final Touches
Bringing the world to life with interactivity and refinement
Enhancing the Player Experience
- Adding on-screen data (e.g., distance to landmarks)
- Implementing simple interactivity (e.g., reach an objective, like a dragon)
Customizing the World
- Adding unique elements to the game (e.g., villages, ruins, lakes)
- The challenge of Introducing place names for key map locations
Optimizing Performance & Memory Management
- Reducing memory usage to improve execution on real BBC Micro hardware
- Structuring efficient BBC BASIC code for smooth rendering
By the end of this session, you’ll have:
- A fully navigable first-person landscape
- Interactive elements that bring the game to life
- A polished, optimized BASIC program that runs smoothly
Your Training Coach : Paul Bussey
I’m Paul Bussey, the owner of Digital Art Live, where I’ve been inspiring and educating digital artists worldwide since 2010. I’ve hosted over 300 online events for digital artists and coached dozens of courses, helping people from all walks of life develop their creative skills.
My former career as a software developer spans over 20 years across three industries, but my passion for programming started much earlier—on the BBC Micro and ZX Spectrum, where I first learned BASIC and dabbled in assembler programming.
Today, I’m proud to be a lead organizer of retro computing events in the UK, bringing together enthusiasts to celebrate the golden age of 8-bit and 16-bit systems.
For me, retro computing has more value than the nostalgia—it’s about rediscovering the ingenuity and creativity that shaped modern computing. Through this course, I’m excited to share my passion for programming and graphics with you, guiding you step by step as we recreate the magic of retro game design together.
I split my time between near Edinburgh, Scotland, and Córdoba, Spain, where I live with my family.