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

Description

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

  • Entity object oriented engine, trying to simulate the XNA architecture.
  • 2D graphic engine multilayer sprite based, implement a control point map to manage easily multiple textures and transformations in a group object (to create complex animations, based in multiple pieces, with independent sprite animations), simple camera (with support to define multiple scene cameras, to switch between them easily).
  • 2D audio engine, with support for basic effects and spatial system to simulate distances and position listenings.
  • Simple game input engine, bases on actions, which can define multiple input (keyboard, mouse and joysticks or gamepads), with Force Feedback support and XInput support for XBox 360 Gamepad.
  • Basic collision engine, with multiple layer collision, spacial partition, raytracer and force emitters (to simulate explosions or black holes).
  • 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.
  • Input editor to create profiles input files, with define actions and her input controls, to import in the game engine easily.

The first versions of the engine development are from 2005 and 2006. The last version, reprogrammed from zero, 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.

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
Languages supported: Visual Basic 6.0, Visual Basic .NET, C#, C++ (in theory, any language which can support 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