Chicken Invaders Wiki
Register
Advertisement

Ultra VGA Engine is a graphics library made by InterAction studios, used for most of their games.

History[]

VGA Engine[]

Official name: VGA Engine for Pascal

The history of UVE traces back to the mid-90's with its first iteration. It was called the VGA Engine, made for the Pascal programming language on MS-DOS. This engine was a heavily modified version of another one from the DOS days, called ANIVGA. Other versions of this iteration followed suit, with VGA Engine 2 and VGA Engine 3. The file formats used here were .IAV for sound (VOC files), .IAS for sprites (ANIVGA's .COD format), .IAL for sprite libraries, .IAP for PCX images, .IAB for backgrounds, .PAL for palettes and .IAW for the WAD files. At this point, the WAD files had no header information at all, and were only chained together versions of files. VENGINE2.IAW is special, as it contains 14 fonts that can be used by the engine. Games that are confirmed to have been made on these iterations of the engine are BattleTank, Cherrymania 2 and Cobra. Knights and Lords, Jasna, Doom Kombat, and Blogbash might've been also made on these.

VGAEngine

VGA Engine 2's loading info.

UVE32[]

Official name: Ultra VGA Engine 32-bit

The next major upgrade came in form of Ultra VGA Engine 32-bit in 1995. As for its name, the "Ultra" was added in so that its libraries are distinguished from its precursors. It was also made for Pascal on MS-DOS, but rewritten entirely from scratch, and it wasn't based on any existing library. It was able to support 32 bit operations, even though they weren't utilized in the games made on it because of Borland's 16-bit compiler. This iteration of UVE is the only one that has been released publicly, with a link here. It was released in two versions - the shareware one, that had some of its features stripped and was only usable for 21 days, and the registered one.

The file formats used here were .VOC for sound, .UVS for sprites, .UVL for libraries, .UVT for tiles, .PCX for backgrounds , .PAL for palettes and .UVW for WADs. This engine was the first one to introduce header information for WAD files, however the main WAD (UVE.UVW) was still the same as in the previous version, with one more font added. UVE-specific image formats were generated out of .PCX files through the use of certain tools such as PCX2UVS, PCX2UVT and LIBMAKER. The resolution of the games was always 320x200, which is the default DOS resolution.

UVE32 also had extra functions not included within Pascal, such as text/number conversion, minimum/maximum value and getting the current system time.

The last known version of UVE32 is version 1.44 from around 1997.

Games confirmed to have been made using UVE32 are Cobra Strike 2, F16, Mach 9.9, and Radar Wars Arcade.

UVE32 is also bundled with a demo program showing off the features of it. You can see the footage of it here.

Ultra_VGA_Engine_32_Demo_Presentation

Ultra VGA Engine 32 Demo Presentation

UVE++[]

Official name: Ultra VGA Engine for C++

This iteration was made around 1997. It was written in C++ instead of Pascal, still on MS-DOS. It was described as "both conceptually and technically superior", possibly meaning that it was object oriented and had no hard-coded object limits unlike in Pascal. It wasn't used for many games, aside from an early "quick & dirty" version of Chicken Invaders, because it was ported over to Windows/DirectX not long after being made. Adventures of Mrs. Piggly was also being made with this version.

UveDX[]

Official name: Ultra VGA Engine for DirectX 7.0

Introduced around 1997, Ultra VGA Engine DX might be the most known of the earlier iterations, since it has been used at release for the first two Chicken Invaders games, the first Island Wars!, and the ill-fated Piggly 2. It was the first iteration to move from MS-DOS to Windows, and the first one to work on DirectX (starting with 6.0 and 6.1, later on supported 7.0). The resolution has also been upgraded to 640x480, and the engine now stored sounds as wave form audio format files, and sprites and backgrounds as bitmaps. Initially, the filenames in the data list weren't obfuscated until The Next Wave's release. Other than that, it was fundamentally the same thing as UVE++ but with DirectX's advantages. The Debug Modes in earlier builds of UveDX were only sometimes included (Chicken Invaders had it but Island Wars! didn't), and they were triggered through pressing F9 and F10 at once, while later on they had to be enabled through the config file.

UveDX8[]

Official name: Ultra VGA Engine for DirectX 8.1

Debuting with the release of Island Wars 2 in late 2004, this version was a major upgrade from UveDX, being a complete rewrite for Visual Studio and DirectX 8.0. It also used the "looks-like-2d-but-it's-infact-3d" technique, as in everything was rendered as 3D, but it looked like 2D. This version of the engine uses WAD format 2, which changes the file formats of the files stored. The sounds were now stored as OGG Vorbis files while the sprites were stored as uncompressed TGA files. Since textures could be freely rotated, scaled and bent in 3D, the games no longer had many sprites. Multiple animation frames were now able to be stored in one file instead of multiple. To configure each sprite, the game uses an .ini.preload file along with the texture. It stores information of the amount of skins the texture has and the following values for narrowing down what the engine should render - top origin, left origin, width, height, X offset and Y offset. Another thing that has been changed is that the native resolution of the games was upgraded to 800x600. Games made using this engine at release include Island Wars 2, Loco, Smileyville, Piggly and Revenge of the Yolk. At first the debug modes were triggered like in UveDX, but with the release of Revenge of the Yolk, you now had to put in a specific debug code to make it work. As the debug codes are removed from public releases, it's impossible to do it through that method. An unfinished Debug Console was also included in this version.

UveXX[]

Official name: Ultra VGA Engine for OpenGL

Debuting in 2009 with Christmas Eve Crisis, this version of UVE was the only one from the newer versions since UveDX to use OpenGL instead of DirectX. It's also the first one to be ported over to Mac and Linux.

This version of the engine has also brought WAD format 3, which had a major change to the .ini.preload files. UveDX8 stored the texture info as plain text, while this version stores them as binary data. Those files now consist of a 20 byte header, which includes five values (one of them is the amount of skins in the image), and one/multiple 24 bytes encoding the skins the same way as UveDX8, with six values.

Even though this version was able to handle bigger resolutions as proven by the remastered edition of The Next Wave's native resolution being 1280x960, most of the games still used 800x600. Other games made using this engine at release include Ultimate Omelette and the remastered edition of The Next Wave. The debug console was still included in this version until the release of Ultimate Omelette, where it was removed.

UveUDX[]

Official name: Ultra VGA Engine for DirectX 8.1 Ultra Edition

Having surfaced in 2013, this iteration of UVE returns to DirectX 8.1 and it has been only used at release for Cluck of the Dark Side. However, this version also got improvements in the form of "Ultra features", such as double-resolution graphics (making the native resolution of iA's games 1600x960, with the ratio 5:3), instant loading, widescreen support, touchscreen support, better navigation on menus, Unicode support and smaller stuff like a mute option in-game and the in-game languages being able to be changed without having to restart the game. This iteration of the engine was also the first one to include integration with Valve's Steam platform for versions of InterAction studios' games on it.

UveUDX9[]

Official name: Ultra VGA Engine for DirectX 9.0c Ultra Edition

Introduced in 2015, this iteration is the same thing as UveUDX because of it just being a recompilation of it in DirectX 9.0c since 8.1 became obsolete. No new games were made for it.

Uve++11[]

Official name: Ultra VGA Engine for C++11

Introduced in 2018. It's been used at release for Chicken Invaders Universe and Chicken Invaders Remastered. This version was a necessary update to the engine to support multi-threading and TCP networking required by that game, as previous versions of UVE only used single thread and UDP. The native resolution of that game has been bumped up to 1920x1080, with the screen ratio changed from 5:3 to 16:9.

Uve++11 currently uses WAD format 4, which changes the way textures are stored. They are still stored as .tga, but their headers are changed to only preserve the width, height and the amount of bits in the image (all as four bytes instead of two for unknown reasons). Textures are little-endian instead of big-endian, and the colors are stored as BGRA instead of RGBA. Support for 8-bit depth textures (containing the alpha channel only) has been added to make the file size smaller. WAD format 4 also changes the way the file list at the beginning of the file is stored. Filenames are now obfuscated through a special function that turns them into a 4 byte key, with the lookup table stored in a game's .exe file.

Ports[]

Ultra VGA Engine has been ported over to numerous platforms, each with their own branch, such as UveAndroid, UveiOS, UveWP (for Windows Phones), UveFlash, UveWin8 (for the Windows Store) and so on. Some of them also store data in different formats, for example UveAndroid uses a different format for textures.

Technical information[]

Ultra VGA Engine since its earliest iteration has been a graphical API and game engine that utilizes the SVGA graphics mode. It was based on various engines including Turbo Pascal, Visual Studio, OpenGL, and various versions of DirectX. The newest iteration uses DirectX 11.1. The engine uses the uncompressed Truevision TGA format to store its sprites, because it compresses better than PNGs in the installers and because they are lossless, and the OGG Vorbis format to store sounds. JPEGs are also used for stuff such as backgrounds and textures for 3D models. Although the Ultra VGA Engine supports 3D models, InterAction studios hardly ever utilizes them in their games. They're used most often for special effects, such as the water effect in the Epsilon Thalassus chapter in Cluck of the Dark Side, and for ground, which has been so far used for Cluck for the Dark Side, Piggly and Christmas Eve Crisis. 3D models aren't used often, but 3D itself still has its benefits. With it, sprites are allowed to be scaled, bent and rotated on the fly.

UVE_KEY[]

Note: No logo was made for it that is still available.

UVE_KEY is a keyboard handler for Turbo Pascal that can handle multiple keypresses, something that the BIOS keyboard handler cannot handle, but is essential even for the simplest of games. It adds support for 9 keys for each player (Number pad on the right, letters on the left) as well as special keys like Esc, Enter, Space, Shift and Control. It comes with UVE32. It has been used in Radar Wars Arcade and probably Cherrymania 2, Cobra, Cobra 2, Mach 9.9, and F16.

Particle Flux Technology[]

ParticleFluxLogo

Particle Flux Technology is a sprite-based graphics API. Initially it was made to support terrain effects in Radar Wars Arcade on UVE32, but later on took on the meaning of "any game with particle effects". This logo is shown in all UveDX games.

Arcade Engine[]

Icon-arcade

Arcade Engine is an add-on for UveDX which can do special effects like multi-sprites, enemy damage feedback and maximum frame rate under all conditions to recreate the arcade experience. It was planned to be used for the unreleased Piggly 2, though the only time it has seen use was with The Next Wave.

NatUVE[]

NatUVELogo

NatUVE is a graphics API used for vegetation deformation and making realistic-looking plants. It has been used in many games, like Island Wars 2 and Piggly, and possibly Cluck of the Dark Side.

VE Ci5logo
Weapons
Regular Ion BlasterNeutron GunLaser CannonVulcan ChaingunLightning FryerPlasma RifleUtensil PokerBoron RailgunPhoton SwarmPositron StreamHypergunRiddlerCorn Shotgun
Satellites MicrogunBarbequerBird-Flu GunICBM
Superweapons Missiles Mines
Areas
Planets Epsilon ThalassusGamma ChthonEta AstropelecaeEarth
Other Milky Way
Characters
Playable The Hero
NPCs Madam Madámme • Narrator
Waves
Unlockables
Weapons Utensil PokerVulcan ChaingunPlasma RifleWeapons Rush
Superweapons Mine Bombs
Satellites Extra Dock (Aft Port Side)Extra Dock (Aft Starboard Side)Extra Dock (Outer Port Side)Extra Dock (Outer Starboard Side)
UI Progress MeterDamage IndicatorPoints IndicatorDestruction Meter
Spacecraft FuselageWeapon PodsTail WingIntensityShininess
Skill Superstar HeroScoring (Start with 1 Life)Scoring (No Extra Lives)Scoring (More Food for Missiles)Scoring (Limited Powerups)
Cosmetic Space Background (Chicken Invaders)Space Background (The Next Wave)Space Background (Revenge of the Yolk)Space Background (Ultimate Omelette)Underwear
Special Paintjobs Gold DiggerWhite KnightSpace Ninja
Enemies & Bosses
Enemies Ordinary ChickenPilot ChickenMetal-suit ChickenUFO ChickenSubmarine ChickenArmored ChickenChickenautChickUFO ChickChick Gatling GunFrozen ChickAlienAlien ContainerEggBlack HoleInterdimensional PortalFeatherBombCorncobJellyfishSquidCrystalPlantIce CometBubbleFootballBarrier
Bosses Military ChickenParty ChickenJellyfish KingHenperor's ApprenticeHeart of DarknessIce GolemBrothers ReunitedGiant Robotic Space Crab v2.0Hen HouseHenterprise
Items
Powerups Ion Blaster Gift • Neutron Gun Gift • Laser Cannon Gift • Vulcan Chaingun Gift • Lightning Fryer Gift • Plasma Rifle Gift • Utensil Poker Gift • Boron Railgun Gift • Photon Swarm Gift • Positron Stream Gift • Hypergun Gift • Riddler Gift • Corn Shotgun Gift • Atomic Powerup
Food Drumstick • Twin Legs • Roast • Single Burger • Double Burger • Triple Burger • Quad Burger • Popcorn
Other CoinKeyPollenArtifactsHumanity's Greatest Fan
Other
Game Mechanics CheatsBonusesDifficultyMultipliersAwardsOverheatUnlockablesWeapon GroupsLives
Technical EditionsLanguagesBetaUltra VGA Engine
VE Ci4logo
Weapons
Regular Ion BlasterNeutron GunLaser CannonVulcan ChaingunLightning FryerPlasma RifleUtensil PokerBoron RailgunPhoton SwarmPositron Stream
Satellites MicrogunBarbequerBird-Flu GunICBM
Superweapons MissilesMines
Areas
Galaxies Milky WayForeign GalaxyRetro GalaxySpace Burger GalaxySupernova Galaxy
Milky Way EarthSolar System
Foreign Galaxy Chicken Testing Site • Feather Fields of Yolkon-7 • Supermassive Black Hole
Characters
Playable The Hero
NPCs Hen Solo • Narrator
Waves
Unlockables
Weapons Utensil PokerVulcan ChaingunPlasma RifleWeapons Rush
Superweapons Mine Bombs
Satellites Satellites RushExtra Dock (Aft Port Side)Extra Dock (Aft Starboard Side)Extra Dock (Outer Port Side)Extra Dock (Outer Starboard Side)
UI Progress MeterDamage IndicatorPoints IndicatorDestruction Meter
Spacecraft Orange EngineGreen EngineBlue EngineMillenium Hatchling
Skill Superstar Hero
Cosmetic Leotards
Enemies & Bosses
Enemies Ordinary ChickenMetal-suit ChickenUFO ChickenChickenautChickUFO ChickAlienAlien ContainerEggFeatherBombRetro InvaderSpace Burger DroidSupernova DebrisBubbleFootballBarrier
Bosses Super-ChickGiant Robotic Space Crab AMother-Hen ShipInfini-ChickGiant Robotic Space Crab BPlanetary Egg CityAlien MothershipApple CoreGiant Robotic Space Crab CIron ChefChicken MultiplicityThe Egg Cannon
Items
Powerups Ion Blaster Gift • Neutron Gun Gift • Laser Cannon Gift • Vulcan Chaingun Gift • Lightning Fryer Gift • Plasma Rifle Gift • Utensil Poker Gift • Boron Railgun Gift • Photon Swarm Gift • Positron Stream Gift • Atomic Powerup
Food Drumstick • Twin Legs • Roast • Single Burger • Double Burger • Triple Burger • Quad Burger
Other CoinKey
Other
Game Mechanics CheatsBonusesDifficultyMultipliersAwardsOverheatUnlockablesWeapon GroupsLives
Technical EditionsLanguagesBetaUltra VGA Engine
VE Ci3logo
Weapons
Regular Ion BlasterNeutron GunLaser CannonVulcan ChaingunLightning FryerPlasma RifleUtensil Poker
Superweapons MissilesMines
Areas
Milky Way Solar SystemEarthComet ChaseMeteor Storm
Characters
Playable The Hero
NPCs Narrator
Waves
Unlockables
Rookie-unlocked Secret WeaponSuper Secret Mine BombsDamage Indicator
Veteran-unlocked Superstar HeroProgress IndicatorPoints Indicator
Superstar Hero-unlocked Clupea Harengus
Enemies & Bosses
Enemies Ordinary ChickenBalloon ChickenAsteroidUFOChestCometRogue MissileEgg ShipEgg Drone
Bosses Big ChickenU.C.O. AMother-Hen ShipSweater ChickenU.C.O. BMysterious ShipU.C.O. CU.C.O. DThe Yolk-Star™
Items
Powerups Ion Blaster Gift • Neutron Gun Gift • Laser Cannon Gift • Vulcan Chaingun Gift • Lightning Fryer Gift • Plasma Rifle Gift • Utensil Poker Gift • Atomic Powerup
Food Drumstick • Roast • Single Burger • Double Burger • Triple Burger • Quad Burger
Other Coin
Gamehouse Flash Version
Yahoo Flash Version
Java Mobile Version
Other
Game Mechanics CheatsBonusesDifficultyMultipliersAwardsOverheatUnlockablesWeapon GroupsLives
Technical EditionsLanguagesBetaUltra VGA EngineDebug ModeDebug Console
VE Ci2logo
Weapons
Regular Ion BlasterNeutron Gun (CI2)Laser Cannon (CI2)
Superweapons Missiles
Areas
Solar System Pluto • Neptune • Uranus • Saturn • Jupiter • Asteroid Belt • Mars • Earth • Venus • Mercury • The Sun • Space Burger Store
Characters
Playable The Hero
NPCs The CopMrs. Piggly • Narrator
Waves
Enemies & Bosses
Enemies Ordinary ChickenAsteroidEggUFO
Bosses Big ChickenSarge ChickenMother-Hen Ship
Items
Powerups Ion Blaster Gift • Neutron Gun Gift • Laser Cannon Gift • Atomic Powerup
Food Drumstick • Roast
Other Coin
Flash Version
Other
Game Mechanics CheatsBonusesDifficultyMultipliersLives
Technical EditionsLanguagesBetaUltra VGA EngineDebug Mode
VE CI1RLogo2
Weapons
Regular Ion Blaster (CI1)
Superweapons Missiles
Areas
Solar System EarthSpace Burger Store
Characters
Playable The Hero
NPCs Space Burger Clerk • Narrator
Waves
Enemies & Bosses
Enemies Ordinary ChickenAsteroid
Bosses Big Chicken
Items
Powerups Gift
Food Drumstick
Other
Game Mechanics CheatsLives
Technical Ultra VGA EngineDebug Mode
DOS Version
Advertisement