Avara
Avara | |
---|---|
Developer(s) | Ambrosia Software |
Publisher(s) | Ambrosia Software |
Designer(s) | Juri Munkki |
Artist(s) |
Matthew Schroeder Joe Raffa |
Platform(s) | Classic Mac OS |
Release date(s) |
‹See Tfd›
|
Genre(s) | Shooter game |
Mode(s) | Single player, Multi-player |
Avara is a 1996 computer shooter/action game designed by Juri Munkki and published by Ambrosia Software for the Apple Macintosh.[1] A fast, fluid true 3D engine, integrated Internet play, and extremely easy level editing were notable features at the time of its release. Although the graphics and gameplay are primitive by today's standards, Avara had extraordinarily low system requirements, and enjoyed a dedicated cult following. The game became open source in 2016 when Munkki released the source code upon the game's 20th anniversary.[2]
Gameplay
Players operated a remote-controlled bipedal robot known as a Hostile Environment Combat and Tactical Operations Remote, or HECTOR.[3] The unit's characteristics were customizable, ranging in mass from 150 to 220 kilograms (330 to 490 lb), and stood about 2 meters (7 ft) tall. Larger models could hold more weaponry, useful in the game's primary mode as a shooter, but were less maneuverable in combat.[3] The name HECTOR represents a thinly-guised tribute to Hector D. Byrd, Ambrosia's mascot, a female African Grey parrot.[4]
Flying scout units controlled by each player provided an aerial view of the action, but were defenseless and could be destroyed by enemies or other HECTORs. Up to 6 players could join a game at once, either free-for-all, or in arbitrary teams which were chosen by color. Team color choice also affected the in-game HECTOR model's appearance. During games, players could communicate using an integrated text-based chat system.[5]
Level maps for the engine's fully 3D world could be created using user-friendly, vector-based drawing programs such as ClarisWorks, ClarisDraw, or ShareDraw.[6] Avara was bundled with some of these level packs, both for solo play and multiplayer modes, and fan-created packs were available for download from Ambrosia's website.[7]
Development
Juri Munkki, the designer, had been interested in 3D graphics ever since the Apple II, but the machine lacked the horsepower to do what he wanted. When Hellcats was released and he saw that fast polygon rendering was possible on Mac. Seeing that it could be done, Juri had another go at writing his own polygon rendering library in late 1992 and this time came up with an early version of what's used in Avara.
This animation library was strictly 2D. Although he was doing some 3D work at the time, it was just wireframe graphics. He used the polygon library to write a very different kind of sprite animation: the sprites were actually polygons that you could transform (scale, rotate, distort) freely.
In May 1994, Juri was at Apple's Worldwide Developers Conference for the first time. Since it was polygon graphics and the objects were zooming up and down very quickly on the screen, people tended to assume he was doing very fast 3D graphics. He wanted to show the technology to a gaming evangelist and was readying the demos on a PowerBook in the main hall at the San Jose Convention Centre when Stuart Cheshire (the author of Bolo for Macintosh) happened to sit right behind him and see what Juri was doing. Stuart started talking to Juri and said he would really like to see a real 3D version of this technology for use in a 3D version of Bolo. Juri says he thinks he told him that he would keep in touch if anything came from it. He never met the games evangelist - he didn't show up to the meeting.
A bit later Juri corresponded with Christian Fanz who was working on an Elite style game for Macintosh. He was having difficulty getting the 3D graphics fast enough and, remembering his chat with Stuart, Juri took the challenge and had some fun implementing a BSP library (Binary Space Partitioning).
Both Stuart and Christian seemed impressed with the demo. Juri made some spaceship models as samples and wrote a few demos to show how the library was used. One of the demos allowed you to drive around scenery. The idea was to verify that the objects were all being sorted into correct visual order. It would be from this experimental stress test that Avara would be born.
For a long time, Juri had wanted to do a battlezone style game where the turret could move freely, so he thought he would spend a few weeks before Christmas writing a simple networked game/demo where you had tanks with freely moving turrets. He thought it might be fun to let the game evolve by letting other shareware/freeware authors work on it too, so he posted an article about it on comp.sys.mac.games. Andrew Welch saw the article and that's how the game became an Ambrosia title.
The walking robot was implemented a bit later, but HECTOR didn't have a name until much later and it couldn't jump (just walked). The jumping came a year later, when Juri thought he had the game ready for release, except for the tiny detail of needing a bunch of levels to play with. The idea for a walking and jumping robot slightly predates the engine: Juri had some early sketches of that, in addition to the actual walking animation code from 1992. It just wasn't something he originally intended to be in the game.
Andrew spent a lot of time playing Bolo, so he insisted on having internet play. Juri was pretty much convinced the program architecture and game were not suitable for internet play, but eventually took the challenge in January 1996 and wrote something that "kinda" worked on the internet.
Encouraged by this, Juri kept working on the internet code, and got it to a point where he could reasonably play a game from Finland to the USA (modem to modem).
Andrew and Juri managed to get a bunch of reasonably interesting levels together, and then released Avara 1.0.0.
Juri was pretty active in the first week or two when Avara was released, but had to switch to a new ISP (for reasons unrelated to Avara) at about that time. Unfortunately the connections from that ISP were totally inadequate for Avara, so he couldn't play anymore. He has to admit, however, that after two years of playing the game every single day, he was pretty tired of it too.
Reception
Avara was a commercial flop. At the time, it was Ambrosia's poorest selling game next to Chiral. There have been a number of reasons for this failure suggested by Juri, Ambrosia and fans.
The first is obvious. The graphics engine was rather unimpressive even at the time of release. By the time it was released to the public, other games which showed off more detailed, faster and texture-mapped engines were available, such as Interplay's Descent. Furthermore, the gameplay was slower than other first person shooters at the time, which may have turned off the Doom-oriented players.
Secondly, Juri has admitted that the interface was experimental and may have gone too far. Many users have admitted that it took months to realize the game could be played over the internet, with some never figuring out how to start playing at all!
Thirdly, Avara used Ambrosia's standard shareware policy at the time. The game gave players a reminder to pay for the game after thirty days, but nothing else. Players basically had the entire game for free with only very minor restrictions which did not motivate many to pay for the game, even after playing for over a year.
It's likely a combination of all these factors contributed to the failure of Avara.
Legacy
Although no sequel has been released, there have been many speculated attempts at a sequel or an expanded version of Avara.
On the tenth of April 1998, an IRC chat took place in #avara to discuss Avara 2.0. It was revealed that Juri and a team of fans coordinated by Jonathan "Archer" Firestone were given permission from Ambrosia to update Avara. The chat revealed that the project was still in infancy. Only one thing was confirmed, which was that they planned to port the game to PPC, making the game run faster on modern PCs by eliminating the FAT code found in the original. This new version would be incompatible with the old version. Other planned features included were movies, improved network code and improved level scripting with the possibility of a stand-alone level editor.
Jonathan revealed in May 1998 that progress had slowed on the project, due to the lack of a professional programmer (Juri was unavailable to offer his full services to the project at this time). The project was suspended until they could find a suitable person, who they advertised for on the internet. Apparently they found an unnamed programmer. Since then, nothing has been heard of the Avara 2.0 project.
In March 1999, three images were posted on the official Avara page which were claimed to be the engine for Avara 2. At the time, they were fairly impressive and showed rolling, realistic terrain including water. In one shot, there was an object atop a hill that some speculated to be a pillbox, an object from the original game. Apart from this possibility, there was little to relate this new game engine to the original Avara.
No other information regarding this project was publicly released. However, during an online convention that took place on the 15th of January 2000, Juri stated that there were indeed plans to make an Avara 2. However, the project team didn't want Juri's help and the new game was programmed from the ground up using none of Avara's original code. It's for this reason that he claimed it would only be Avara in name. Juri also stated that Ambrosia were upset when Juri asked for some of the money earned from the Avara 2 project. The official reason for the cancellation of the project is unknown, although it may have evolved into Ragnarok, discussed later.
In the same online convention, Juri revealed that he was given the green light to release Avara's source code, and the only thing that remained was for him to choose a license and write the documentation. The documentation is available on the internet, yet the source code was never released. It was rumored that Ambrosia decided to stop the release, but this has not been confirmed.
On the 10th of June 2000, Mark "GrassRoots" Evans proposed to make a fan-made sequel due to the lack of an official one. He offered to stop work on his current Avara/Mechwarrior-inspired game Thor to work on this new project and asked for the help of others.
In this same thread, Andrew Welch made an appearance, saying that he thinks this project would be a mistake after it was stated they want this project to be similar to Avara, but don't want to deal with Ambrosia. He then linked to a webpage on Mac Central that revealed three screenshots of a new Ambrosia game - using an impressive 3D engine. (Note: these three screens were different from the ones posted in 1999). The screens showed a spaceship flying over 3D deformable terrain with lens flare and all the latest graphical enhancements. It looked very similar to a mysterious video posted in #avara which was titled avara2proto.mov. Welch said he wanted to show that they have an engine capable of making a new Avara-style game. This resulted in an heated discussion between Andrew Welch and Mark Evans with no clear victor.
Ambrosia's title was later revealed to be Ragnarok and showed little resemblance to Avara. This project was later cancelled due to the game's programmer Ben Spees leaving Ambrosia for greener pastures, taking his engine with him. Mark Evans had to cancel both his projects, claiming a lack of any professional help.
20th Anniversary and Open Source
For the 20th anniversary of the game's original release, players put together a three-hour live Twitch stream of classic Avara gameplay.[8] A variety of level maps were demonstrated, along with features and quirks of the game. Juri was present in the chat for this stream, and was agreeable to releasing the game's source code, provided he could acquire permission from the publisher, Andrew Welch of Ambrosia Software, Inc. The game and stream were also covered on the Sept 24 episode of the Simple Beep podcast.[9]
A few weeks after the stream, Juri posted the source using his GitHub account, under the MIT software license.[2]
Net Code
Avara uses a latency-delayed virtual input method to handle its internet games. It runs at around 16 frames per second, so the amount of data that it sent was quite high at the time of its release. Once there were more than a few players, packet loss started to have an effect on the smoothness of game play, because it becomes so much more likely that data is lost on some of the connections. 2-3 player modem/PPP games seem to work well enough, but good 4 player modem games are also rather common. Each game was restricted to 6 players, as any more would cause severe packet loss.[10]
All players would play with input delayed by the network latency of the person with the worst connection, allowing all computers to independently simulate the game world with identical results. Although this kept games fair, it also meant one person could seriously impair an internet game for all players.
With the advent of broadband connections, however, playing virtually lag-free Avara games over the internet has become a reality.
References
- 1 2 "Ambrosia Software Releases Avara: Survival in 3D Geometric Jungles". Retrieved 2007-11-17.
- 1 2 Juri Munkki (2016-10-30). "Avara game, originally released in 1996 for Mac OS". Retrieved 2016-10-30.
- 1 2 Munkki, Juri (1996-07-01). "Ambrosia Times: The H.E.C.T.O.R.". Ambrosia Software. Retrieved 2013-01-14.
- ↑ "About Us | Ambrosia Software, Inc.". Ambrosia Software. Retrieved 2013-01-14.
- ↑ "Ambrosia Times: Avara Preview 1". Ambrosia Software. Retrieved 2013-07-16.
- ↑ "Avara (Juri Munkki)". Juri Munkki. Retrieved 2013-01-14.
- ↑ "Add-on Files | Ambrosia Software, Inc.". Ambrosia Software. Retrieved 2013-01-14.
- ↑ Scarlet Swordfish (2016-09-17). "Avara 20th Anniversary Stream". Retrieved 2016-10-30.
- ↑ Ed Cormany and Brian Sutorius (2016-09-24). "Simple Beep: e47 - Avara". Retrieved 2016-10-30.
- ↑ Juri Munkki (1997-12-15). "Design and Implementation of Networked Games". Retrieved 2016-10-30.
External links
- Avara homepage (Official Avara website)
- Juri Munkki (Designer's website)
- Source code for Avara on GitHub