Lite-C
Lite-C is a programming language for multimedia applications and video games, using a syntax subset of the C language with some elements of the C++ language. Its main difference to C is the native implementation of multimedia and computer game related objects like sounds, images, movies, GUI elements, 2D and 3D models, collision detection and rigid body physics. Lite-C is a compiled language. It runs on 32-bit and 64-bit Windows XP or Vista operating systems.
Developer | Conitec Datensysteme GmbH |
---|---|
First appeared | 2007 |
Stable release | 8.45
/ February 9, 2014 |
OS | Windows XP, Vista, 7, 8 |
License | Commercial software |
Website | www.3dgamestudio.de/litec.php |
Influenced by | |
C, C++ |
Lite-C claims to allow very fast programming with a minimum of code, and easy access to non-programmers. For this, the developer provides a 25-lesson workshop that especially deals with the game and multimedia related objects of the language.
Lite-C supports the Windows API and the Component Object Model (COM); therefore OpenGL and DirectX programs can directly be written in lite-C. It has integrated the free A8 rendering engine.
History
The Lite-C language and compiler was originally developed in 2007 by Conitec in cooperation with Atari, Inc., with the focus on creating computer games by non-programmers.[1] Since 2010, Lite-C has also been used for defining automatic trade algorithms in day trading software.[2]
Features
Lite-C has the following differences to standard C:
- Native multitasking and multiplayer support
- On the fly compiling
- Supports external classes (OpenGL, DirectX, Windows API)
- Implementation of the 3D GameStudio A7/A8 rendering engine
- Function library for display/manipulation of 3D models
- Function library for rigid body physics
- Function library for vector and matrix functions
- Function library for GUI objects
- Function library for playing sound and movie files
- Remote control of arbitrary Windows applications
- Native support of DirectX 9 functions
- Small footprint - ca. 15 MB with compiler, IDE, debugger
Lite-C supports rudimentary classes and function overloading, but does not support advanced language concepts such as inheritance, polymorphism, or operator overloading.
Examples
The following Lite-C program prints "Hello World", then plays a movie file and exits.
void main()
{
printf("Hello, World!"); // message box
screen_size.x = 400;
screen_size.y = 400; // resize the window
int handle = media_play("greetings.mpg", NULL, 50); // start a movie in the whole window at volume 50.
while(media_playing(handle)) wait(1); // wait until movie was finished
sys_exit(NULL);
}
The following Lite-C program opens a 3D window and displays a spinning sphere
void main()
{
level_load(""); // open an empty level. you can use NULL instead of ""
ENTITY* sphere = ent_create("sphere.mdl", vector(0,0,0), NULL); // create sphere model at position (0,0,0)
while(1) {
sphere->pan += 1; // rotate the sphere with 1 degree per frame
wait(1); // wait one frame
}
}
References
- "Gamestudio Online Manual". manual.conitec.net. Retrieved 2022-10-18.
- "New Releases and Algo Trading News | Zorro Project". www.zorro-trader.com. Retrieved 2023-07-18.