Misplaced Pages

Game Oriented Assembly Lisp

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Game Oriented Assembly Lisp ( GOAL , also known as Game Object Assembly Lisp ) is a programming language , a dialect of the language Lisp , made for video games developed by Andy Gavin and the Jak and Daxter team at the company Naughty Dog .

#783216

41-497: It was written using Allegro Common Lisp and used in the development of the entire Jak and Daxter series of games (excluding Daxter and Jak and Daxter: The Lost Frontier ). GOAL's syntax resembles the Lisp dialect Scheme , though with many idiosyncratic object-oriented programming features such as classes , inheritance , and virtual functions . GOAL encourages an imperative programming style: programs tend to consist of

82-431: A "currency" known as skull gems. By collecting these skull gems, dropped by most Metal Head creatures when defeated, Jak can gain additional abilities for his dark form and play minigames at kiosks throughout Haven City. These new abilities for Dark Jak can be used to unleash devastating attacks that kill all enemies within the vicinity at the cost of ending his Dark form immediately after the attack. Jak II takes place in

123-514: A Dark Eco version of himself with increased strength, reflexes, stamina and aggression. In escaping the prison and accessing the city, the pair encounter an elderly man named Kor, protecting a young boy known only as The Kid. Kor sends them to make contact with the Underground, a resistance movement led by the mysterious figure known as the Shadow, seeking to bring down Praxis and replace him with

164-525: A Rift Gate. Upon Jak activating the device, the gate opens and allows strange creatures to flood the world, before the rider sucks the group within it. Jak and Daxter become separated from the others during the ride and eventually land in Haven City—a dystopia ruled by the tyrannical Baron Praxis, and guarded by the Krimzon Guard, a paramilitary force led by Praxis's right-hand man Errol. While Daxter

205-407: A beastly version of himself which is unleashed when Jak has gathered enough Dark Eco. After two years of searching for him, Daxter finally sneaks into the prison holding Jak and rescues him. This is also the first time Jak is heard speaking in the series, which is heavily lampshaded by other returning characters throughout the story. Other important characters include Torn (voiced by Cutter Garcia ),

246-462: A new Rift Rider she had created, Samos reveals that they cannot return to the past—instead, Jak's younger self and Young Samos must go, in order to ensure Jak will fulfill the destiny he completed with Kor's defeat. In the aftermath of the conflict, Daxter takes over Krew's bar, as he, Jak, Samos and Kiera prepare to enjoy their new lives in Haven City. Jak II began development in 2001. Jak II

287-530: A replacement for the previous game's progression focused on the collection of Power Cells. Throughout the game, the player can collect Precursor Orbs which are sparsely dispersed throughout the various locations. The Orbs are non-essential to completion of the game, but allow the player to unlock cheats and other "secret" content. Jak can traverse Haven City using hover vehicles and a jet-board which allows him to hover across water and grind on rails. Due to experiments conducted on him for two years, Jak has also gained

328-649: A ritual he had been working, Kor kills Praxis, who entrusts the Precursor Stone to Jak and Daxter. The pair swiftly pursue after Kor, killing him and finding the very Rift Gate they used to travel through time, and ending the Metal Heads threat. The Kid, whom Jak had discovered was his younger self, touches the Stone, reawakening the Precursor entity within, which flies through the gate. As Kiera arrives with

369-564: A sequence of events to be executed rather than the functional programming style of functions to be evaluated recursively. This is a diversion from Scheme, which allows such side effects but does not encourage imperative style. GOAL does not run in an interpreter , but instead is compiled directly into PlayStation 2 machine code to execute. It offers limited facilities for garbage collection , relying extensively on runtime support. It offers dynamic memory allocation primitives designed to make it well-suited to running in constant memory on

410-493: A video game console. GOAL has extensive support for inlined assembly language code using a special rlet form, allowing programs to freely mix assembly and higher-level constructs within one function. The GOAL compiler is implemented in Allegro Common Lisp . It supports a long term compiling listener session which gives the compiler knowledge about the state of the compiled and thus running program, including

451-561: Is an action-adventure video game developed by Naughty Dog and published by Sony Computer Entertainment for the PlayStation 2 in 2003. It is the second game of the Jak and Daxter series and a sequel to Jak and Daxter: The Precursor Legacy . It was followed by Jak 3 the following year in 2004. The game puts higher emphasis on combat than its predecessor; new weapons, devices and playable areas are available. The player takes on

SECTION 10

#1732780119784

492-477: Is filled with characters who you'll either love or hate. It's the story that gives this game the feeling that it's an adventure, like Indiana Jones or even Max Payne . Jak is far more likeable now that he speaks, and the fact that he's pissed off and owns honking big guns weaves in an unmistakable new level of emotion into the narrative." GameSpot said, "Everything in Jak II comes together to produce one of

533-410: Is forced to run away, Jak is arrested by Errol and imprisoned. Jak is put through a series of experiments for two years by Praxis involving Dark Eco, in an attempt to create a new soldier for the so-called "Dark Warrior Program". During a prison break-in, Daxter finds Jak and breaks him out of the facility, though the pair discover that Praxis' experiments have left Jak with the ability to transform into

574-412: Is that the game is just way too fucking hard." IGN named Jak II the #8 hardest PlayStation 2 game, citing its combat, platforming, city navigation, and instant death scenarios. Official U.S. PlayStation Magazine remarked: "It isn't proper to expect us to be perfect in order to make up for your game's many imbalances… Life might not be fair, but I certainly expect my games to be." However, some saw

615-422: Is the game's protagonist, along with his sidekick Daxter (voiced by Max Casella ), an otter-weasel hybrid (known as an ottsel) and the game's comic relief . When they first arrive in Haven City, Jak is captured by Krimzon Guards and becomes the subject of Baron Praxis's (voiced by Clancy Brown ) "Dark Warrior" project. He is subjected to several experiments, ultimately giving him the ability to become "Dark Jak",

656-515: Is the only game in the series in which the versions for English-speaking regions feature the Korean voice-over track. The voice-over cast features many notable voice actors, including Showtaro Morikubo as Jak in the Japanese dub. The game's budget was more than $ 10 million. It took 52 people, 140 voice actors, two musicians, and three sound engineers, plus Sony's internal staff. The voice-acting

697-677: The Morph Gun they use throughout the game: the shotgun-esque Scatter Gun for close range fighting; the semi-automatic Blaster for long-range fighting; the Vulcan Fury, a high rate-of-fire weapon in the fashion of a minigun , which pierces enemies and breakables to hit multiple targets with a single round; and the Peace Maker, which fires charged blasts of energy and is extremely powerful, chaining an instant kill between enemies that are in close proximity to each other. The game also inherits

738-541: The Precursor Stone, which Praxis steals in hopes of cracking it open and use its destruction that can destroy the Metal Heads, despite it having the potential to wipe out Haven City. Seeking to rescue the Underground, after its chief members were kidnapped in their absence, Jak and Daxter reunite with the older version of Samos, who warns the group that The Kid must be found urgently, despite Young Samos contradicting his instructions. However, Jak and Daxter soon find they must, after preventing Praxis from completing his bomb with

779-548: The Year " and outstanding achievements in " Animation ", " Art Direction ", " Gameplay Engineering ", " Visual Engineering ", and " Character Performance - Female " for Anna Garduño's vocal portrayal of Keira. Jak II was added to Sony's Greatest Hits lineup on September 8, 2004, signifying at least 400,000 copies sold in its first 11 months. Jak II received a "Platinum Prize" in Japan for sales of over one million units. Worldwide,

820-434: The ability to transform into Dark Jak, a more powerful version of himself. The form is only accessible after Jak has absorbed enough Dark Eco to charge this ability. Dark Eco drops from slain enemies and can occasionally be found in red crates scattered throughout the world. In his Dark form, Jak becomes much more agile and his melee attacks become more powerful but he loses the ability to use the Morph Gun. Jak 2 also introduces

861-421: The assistance of Krew, whom the pair kill. Shortly after Krew's death, Metal Heads swarm into the city, forcing the Underground and Krimzon Guard to join forces to resist the invasion. At the same time, Jak and Daxter track down Praxis and find him meeting with Kor, who transpires to be the Metal Heads' leader in disguise and had been seeking to use The Kid in order to bring the world into ruin. Departing to complete

SECTION 20

#1732780119784

902-466: The best in the series and one of the PlayStation 2's best platformers. Kotaku 's Luke Plunkett called Jak II one of the best PlayStation 2 games, highlighting the game's scale and characters. Criticisms were given to Jak II 's shortage of mission checkpoints and overall difficulty. As Naughty Dog developer Josh Scherr once admitted: "One thing that everybody can agree on though,

943-598: The best-looking, best-playing games on the PS2 so far" and continued: " Jak II is an enormous and ambitious game that succeeds on every level, the gameplay is rewarding, and the story twists and turns more than you'd expect from a game like this." Game Informer praised "having the freedom to tackle challenges in a less linear fashion" and likened the new gameplay to the Grand Theft Auto series. Steven Petite and Jon Bitner of Digital Trends consider Jak II to be

984-503: The biggest reason we're not using GOAL for next-gen development is because we're now part of Sony. I can only imagine Sony's shock when they purchased Naughty Dog a few years back, hoping to be able to leverage some of our technology across other Sony studios, and then realized that there was no way anyone else would be able to use any of our codebase. Sony wants us to be able to share code with other studios, and this works both ways - both other studios using our code and vice versa. Add this to

1025-550: The challenge as a positive, such as PlayStation Magazine , who said: "I appreciate a good challenge in today's games, and JAK II offers it." Jak II won Editor's Choice from IGN and GameSpot , and was followed by a nomination for Best PlayStation 2 Game by GameSpot as well. GameSpot named it the best PlayStation 2 game of October 2003. During the AIAS ' 7th Annual Interactive Achievement Awards , Jak II received nominations for " Console Platform Action/Adventure Game of

1066-451: The city's arena. In the process, the pair discover Praxis created the war with the Metal Heads, bribing them with eco to attack the city so he could remain in command, but lost control when the Metal Heads betrayed him. Working with Young Samos, the pair eventually help the Underground find and access the tomb, but become separated when it closes shut on them. With no choice, the pair search the tomb and discover an ancient artifact within called

1107-412: The city's borders. To further complicate the matter, the pair also learn that the Shadow is none other than Samos—albeit, a younger version, unaware of the ruins significance. Learning that Praxis is seeking an item within a tomb of the city's founder, Jak and Daxter continue working for the Underground, along the way taking work for the crime lord Krew, and reuniting with Kiera, who works as a mechanic in

1148-403: The city's rightful heir, The Kid. Meeting with the Shadow's lieutenant, Torn, the pair learn that Praxis is seeking to protect the city from creatures known as Metal Heads, an evil biomechanical race dating back from Precursor times. Working for the Underground, the pair eventually discover that they have been flung nearly 300 years into the future, after finding the remains of their home village in

1189-590: The daughter of Baron Praxis who helps the Underground behind her father's back. Baron Praxis and the Metal Heads' leader Kor are the story's antagonists. Following Gol and Maia's defeat and discovering the mysterious object, Jak and Daxter join Samos the Green Sage to witness his daughter Kiera's efforts at testing an ancient artifact known as the Rift Rider: a mechanical device linked to an ancient portal called

1230-535: The difficulty curve of learning a new language for new hires, lack of support from external development tools (we had our own compiler, linker, and debugger, and pretty much had to use Emacs as our IDE ), etc, means that there are clearly a lot of other factors involved. Note, however, that these issues aren't really technical problems, they're social ones. However, they have since resumed using it for scripting on some PlayStation 3 games, including The Last of Us . A community project, OpenGOAL, started in 2020 with

1271-414: The dual role of protagonists Jak and Daxter . Jak II received critical acclaim upon release. Critics applauded the game for being well-designed in nearly every department, with many agreeing it was one of the best PlayStation 2 games released at the time. Some criticism, however, was directed at the checkpoint systems, darker tone, and high difficulty. The game is notorious among gamers for being one of

Game Oriented Assembly Lisp - Misplaced Pages Continue

1312-531: The first two games that are 100% completable, with a Jak 3 port in development as of 2024. Allegro Common Lisp Too Many Requests If you report this error to the Wikimedia System Administrators, please include the details below. Request from 172.68.168.226 via cp1108 cp1108, Varnish XID 218250381 Upstream caches: cp1108 int Error: 429, Too Many Requests at Thu, 28 Nov 2024 07:48:39 GMT Jak II Jak II

1353-534: The game sold more than 1.6 million units by April 2004. In 2012, Jak II was remastered in the Jak and Daxter Collection on the PlayStation 3 , with the collection releasing on the PlayStation Vita a year later. In 2017, Jak II was made available to play on the PlayStation 4 via emulation, featuring high-definition graphics and trophy support, and later became available on PlayStation 5 through backward compatibility. Like its predecessor,

1394-517: The goal of porting GOAL to x86-64 by decompiling existing Jak and Daxter: The Precursor Legacy , Jak II , Jak 3 and, tentatively, Jak X: Combat Racing assets and recompiling them natively. It includes a GOAL compiler written in C++ as well as a read–eval–print loop to enable a similar workflow to Naughty Dog's original implementation. By November 2023, the OpenGOAL team had produced ports for

1435-666: The melee abilities of the prior game, and chaining a melee attack into a weapon fire usually increases the effect of the gun. For example, the Scatter Gun fires quicker than normal, the Blaster fires three shots at once, and the Vulcan Fury immediately reaches its maximum fire rate, but only if a melee strike is done right before the Morph Gun is fired. Haven City functions as the game hub world, with various other environments accessible from it. Here, Jak can access new missions by visiting various allied characters. These missions serve as

1476-479: The most difficult games on the PlayStation 2. The core gameplay of Jak II remains somewhat similar to that of the previous game , with a recurring reliance on platforming challenges and vehicle usage. However, it is significantly different in some areas. Eco as a timed power-up from the previous game has been removed; and the introduction of the Morph Gun, a multipurpose firearm, adds a greater emphasis on enemy combat. The player can unlock four different gun mods for

1517-419: The same fictional universe created by Naughty Dog for Jak and Daxter , though three hundred years after the events of the first game. The game largely revolves around Haven City, a dystopia ruled by Baron Praxis and his Krimzon Guard law enforcers. Haven City serves as the game's hub location, although the player is frequently given tasks that must be fulfilled outside of the city. Jak (voiced by Mike Erwin )

1558-480: The second-in-command of the resistance movement known as the Underground; Sig (voiced by Phil LaMarr ), a Metal Head hunter/Wastelander who gathers artifacts from outside the city; Krew (voiced by Bill Minkin), a vastly overweight gang lord; Tess (voiced by Britton A. Hill), a barmaid; Errol (voiced by David Herman ), the Baron's right-hand man and commander of the Krimzon Guard; and Ashelin (voiced by Susan Eisenberg ),

1599-423: The symbol table. This, in addition to dynamic linking, allows a function to be edited, recompiled, uploaded, and inserted into a running game without having to restart. The process is similar to the edit and continue feature offered by some C++ compilers, but allows programs to replace arbitrary amounts of code (even up to entire object files), and does not interrupt the running game with the debugger. This feature

1640-585: Was jointly recorded in the Los Angeles-based Pop Sound and the New York City-based Howard Schwartz Recording. Jak II received "generally positive reviews", according to review aggregator Metacritic . IGN gave it a score of 9.5/10, saying: "Naughty Dog weighs in with heavy guns, a dark story and mature content…And unlike pretty much every other platformer in the world, the story here

1681-542: Was used to implement code and to enable level streaming in the Jak and Daxter games. GOAL's first use was for the game Jak and Daxter: The Precursor Legacy . The predecessor language, Game Oriented Object Lisp (GOOL), was also developed by Andy Gavin for Crash Bandicoot . Since Naughty Dog no longer employs GOAL's primary development and maintenance engineer, and they were under pressure from their new parent company , Sony , to share technology between studios, Naughty Dog transitioned away from Lisp: In all honesty,

Game Oriented Assembly Lisp - Misplaced Pages Continue

#783216