Tag Archives: DirectX

TLSA Engine

Details

Project: TLSA Engine
Genre: 2D Game Engine +SDK
Platform: Windows
Job description: Programmer
Technologies: Visual Basic 6.0, dx_lib32 (own game framework), XInput
Languages supported: Visual Basic 6.0
Sources: https://github.com/VisualStudioEX3/TLSA_Engine_VB6

Description

A 2D Game Engine based on dx_lib32 Project, with the purpose of develop a 2D platform game like Flashback or Another World.

A little resume of their features in latest versions:

  • Component Oriented Engine, trying to simulate the XNA architecture.
  • 2D Graphic Engine, multilayer sprite based, with simple effect system based on Directx 8.1 fixed pipeline, applicable to individual sprites or to entire scene (the final scene are a transformable canvas with support for all sprite effects, position, rotation and scale transformations), implementing a sprite control point map system (similar as how DIV Games Studio implementing in his sprite system) to manage easily multiple textures and transformations in a nested object group (to create complex animations, based in multiple pieces, with independent sprite animations), simple camera system (with support to define multiple scene cameras, to switch between them easily using paths or animations with scales and rotations).
  • 2D Audio Engine, with support for basic realtime standard effects (non parametrizables), and spatial system to simulate distances and position listeners changing the stereo volume level of the sound effects, and a basic mutichannel mixer.
  • Basic Input System, based on actions, which can define multiple input (keyboard, mouse and joysticks or gamepads), and complete support for joysticks and gamepads, via DirectInput 8 and XInput 1.3 (for fully support XBox 360 Gamepads), with basic Force Feedback support (to simulate the XInput rumble system in compatible joysticks using constant force effect).
  • Basic Physics Collision engine, with multiple layer collision system, world partition areas, raycaster and force emitters (to simulate explosions or black holes forces).
  • WYSIWYG Level Editor with flow controls (play, pause and restart scene during the debug), scene physics designer, an audio areas designer (for applying effects and emitters) that uses the physics defined in the scene, and visual debugger.
  • Some tools in the SDK like the Input Editor to create profiles input files, with define actions and her input controls, to import in the game engine easily, and the Tile Studio, a simple but complete editor to define tile sheets and sprite sheets with irregular sizes, control point definitions, and animation sequences, with animation previsualizer.

The first versions of the engine development are from 2005 and 2006. The last version, reprogrammed from scratch, started development during the summer of 2009, and during until the last built, in summer of 2010.

This game engine is not finished, because the complexity to develop a project as this in Visual Basic 6.0. The game engine was used in few projects,  mostly a prototypes and gamejams.

dx_lib32 Project

Details

Project: dx_lib32
Genre: Game Framework
Platform: Windows
Job description: Programmer
Technologies: Visual Basic 6.0, Win32 API, DirectX 8.1, OGG Vorbis
Supported languages: Visual Basic 6.0, Visual Basic .NET, C#, C++ (in theory, any language which can support COM/ActiveX technology)
Download: This binaries are 2.2.0 version. Last version, 2.2.1, is only available as source code:
- Development Kit (for development. Contains Compiled HTML documentation reference, Visual Basic 6.0 and VB .NET code samples and runtime dlls)
- User Redistributable (only runtime dlls for running any program or game developed with dx_lib32 2.2.0)
Source code:
 https://github.com/VisualStudioEX3/dx_lib32

Description

Game framework or API (or also wrapper) that enable to access the power of DirectX APIs to Visual Basic 6.0 developers. A simple framework composed of 5 specialised classes: a graphics class, an audio playback class, a game input device manager class, a video playback class and a helper class with a set of functions to cover multiple needs.

It's compiled as an ActiveX DLL, with a minimum dependency libraries (the Visual  Basic 6.0 runtime, the ActiveX library to connect with the DirectX 8.1 API, and the OGG Vorbis libraries), included in the setup, and it's compatible with any version of Windows, from Windows 98 to the current Windows 10 (desktop version only) and future Windows with Win32 and DirectX 8.1 support (today, it's working properly on Windows 10).

The project started development in early 2001, under DirectX 7 API (changed to DirectX 8.1 in 2002). The first functional version was released in 2004, with only a set of program samples as documentation reference and a forum to consult doubts. The second version was released in early 2006, with a full set of program samples, in Visual Basic 6.0 and .NET formats, and with a full API reference documentation in Windows Helper format. The final version, after several bugs fixed and new functionalities, was released as open source project in GitHub in middle of 2012.

Some user projects made with dx_lib32