playerControl Driver V1.0 - ZX Spectrum Next
A downloadable Driver
playerControl Driver V1.0 is a configurable, machine-code-based driver designed specifically for developers creating 2D platform games on the ZX Spectrum Next using NextBASIC.
The driver handles the performance-critical aspects of player movement, animation and physics, allowing developers to concentrate on building their games in BASIC without having to manage the time-sensitive player control loop themselves.
Running as a resident driver under NextZXOS, playerControl provides a comprehensive set of features commonly required in 2D platform games, including:
- Walking and sprinting, with configurable movement speeds.
- Gravity, jumping and optional super-jumping.
- Ladder climbing and configurable climbing speeds.
- Collision detection using configurable collision masks.
- Player sprite animation, with configurable patterns and animation rates.
- Redefinable keyboard controls and Kempston joystick support.
- Completed-fall reporting for tracking player falls and supporting game-specific behaviour.
Why was playerControl developed?
The driver originated during the development of The Lost Caverns, my own 2D platform game inspired by a collection of game assets created by Gaz Marshall:
https://gazmarshall.itch.io/caverns-zx-spectrum-next
As The Lost Caverns became more complex, the increasing demands of managing player movement, gravity, collision detection and animation directly in BASIC began to affect performance.
Moving these time-sensitive operations into a resident machine-code driver provided a solution. It allowed the game to retain the accessibility and flexibility of NextBASIC while significantly improving the responsiveness and performance of the player character.
Rather than keeping this functionality exclusive to The Lost Caverns, I decided to develop playerControl as a configurable driver that other ZX Spectrum Next developers could use in their own 2D platform games.
Part of a growing driver ecosystem
playerControl is the first in a planned ecosystem of ZX Spectrum Next drivers from Dystopian Pixel.
The aim is to help developers who primarily use BASIC create more ambitious and responsive games by allowing NextBASIC to handle the overall game structure and logic, while dedicated machine-code drivers take care of performance-critical operations.
Each driver is intended to be configurable and reusable across different projects, reducing the need to repeatedly develop complex routines from scratch.
playerControl Driver V1.0 is the first release in this initiative, with planning for Version 2 already under way.
V1.0 highlights
- Tested on real ZX Spectrum Next hardware
- Configurable movement and physics
- Solid and ladder-mask collision
- Normal jump and optional super jump
- Ladder climbing and ladder sprinting
- Configurable sprite and animation setup
- Redefinable keyboard controls
- Kempston joystick support
- Keyboard, joystick and combined input modes
- Double-tap joystick sprint
- Completed-fall telemetry
- Source code and basic documentation included
More Information
For detailed documentation, tutorials, development updates and other ZX Spectrum Next projects, visit:
Support Development
playerControl Driver is completely free to download and use.
If you find it useful and would like to support the continued development of playerControl and other ZX Spectrum Next drivers, please consider making a small voluntary donation.
Donations are entirely optional. Every contribution, however small, is greatly appreciated and helps support the continued development of new drivers, tools and tutorials.
Thank you for supporting Dystopian Pixel and the ZX Spectrum Next community!
| Published | 22 hours ago |
| Status | Released |
| Category | Tool |
| Author | DYSTOPIAN PIXEL |
| Tags | 2d-platformer, assembly, driver, game-development, nextbasic, speccy-next, spectrum-next, z80n, ZX Spectrum, zx-spectrum-next |
| AI Disclosure | AI Assisted, Code |
Download
Click download now to get access to the following files:



Leave a comment
Log in with itch.io to leave a comment.