Lite-C
| Developer | Atari, Inc | 
|---|---|
| First appeared | 2007 | 
| Stable release | 8.45 / February 9, 2014 | 
| OS | Windows XP, Vista, 7, 8 | 
| License | free | 
| Website | www.3dgamestudio.de/litec.php | 
Lite-C is a programming language for multimedia applications and personal computer 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 executables are compiled instead of interpreted. Lite-C runs on 32-bit and 64-bit Windows XP or Vista operating systems.
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.
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
   }
}
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 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.
History
The lite-C language and compiler was originally developed in 2007 by Conitec, Inc. for Atari, Inc., with the focus on creating computer games by non-programmers. Since 2010, lite-C is also used for defining automatic trade algorithms in day trading software.