Adventure Game Studio

  1. Intruder In Antiquonia
  2. Adventure Game Studio Depository : Free Software : Free ...

AdventureJam 2017 is next week. I'm here to show you how to quickly make a 3rd person adventure game in Adventure Game Studio, in the style of the old Sierra. Tutorials:: Adventure Game Studio. BEGINNER'S GUIDE TO ADVENTURE GAME STUDIO - PART TWO. Second part of a step-by-step guide to creating a short adventure game in AGS!

A step-by-step guide to making a short adventure game in AGS, complete with starter resource pack!

  • 07/29/2010 12:24 AM
  • 13357 views


Hello! Ha ha. In this series of articles you will learn the very basics of Adventure Game Studio, a free and easy-to-use tool for creating your own point-and-click adventure games. I will walk you through the process of making a short example game step by step. Please read this article in the plummy, paternal tones of a mid-seventies educational videotape. Got it? Well done!

For the purpose of this tutorial I have provided a small resource pack, containing animations, backgrounds, icons and even a song! Please download it here: http://rpgmaker.net/users/catmitts/locker/tutorial.rar
Congratulations! You have downloaded the resource pack and are ready to proceed.

Now to get started in AGS itself! If you haven't already, download and install AGS from this link: http://www.adventuregamestudio.co.uk/acdload.htm . Once it has installed, fire it up! You will see a screen asking if you want to
- Start a new game
- Continue an existing game
- Continue a recently edited game
Select the New Game option and hit continue.
A wizard will ask you if you wish to work on a Default Game, an Empty Game, or a Verb Coin. Default and Verb Coin come with some graphics and features preinstalled, but we want to work on an Empty Game. Select the Empty Game icon. You will be asked to name and select a filepath for your game. Do so.... now.
Finished? Good. You should now see a cautionary textbox:

Dismiss it with a polite yet firm click on the OK button.
Congratulations! You have started your first AGS game. Now let's take a look at the editor itself. You'll notice that the game automatically opened a tab with links to both the manual and a quick tutorial: both are excellent resources and I encourage you to read them! But for now, we'll continue on our own.
Because we've selected an Empty Game template, an error message pops up at the bottom, which tells us the game is set to start in a room which does not exist. Time to fix that! If you look at the upper right hand side of the screen, you'll notice this panel:

This panel is how you will be navigating through the game editor.

Before we can make a room, we'll need to sort out some of the general architecture for our game. Click the 'General Settings' button in the navigation panel to the top-right. You will see a wide range of options controlling everything from room transitions to character movement to more advanced coding options. For now, we'll just deal with the first section, marked '(Setup)'. Here you can change the game name, among other things, but we're interested in the 'Colour Depth' and 'Resolution' options:

The Colour Depth allows you to choose between 8-bit colour, limited to a 256-colour palette (for old-school styled games etc), 16-bit 'Hi-Colour' and 32-bit 'True Colour'. We'll pick Hi-Colour, as it allows a wider range of colours without using too much memory. (NOTE: Selecting 8-bit colour generally means selecting a palette in the 'Colours' tab of the navigation panel, but I won't get into that here because I've never cared enough to use it). Note that you should always select the colour depth first, because changing it later on can invalidate your sprites.
The Resolution option allows you to pick the size of the game window: this is important because it affects the size of backgrounds and sprites you import. The engine won't let you use a 320x200 - sized background for a 640x480 - sized game, as it owuld look silly. We'll select 800x600 resolution, as that's what our resources are designed for.
(Note: this page also contains the ability to toggle Debug Mode on and off. It won't make much difference in this tutorial, but you can use Debugs to test certain parts of the game without having to run through the whole thing over again, and you should disable it before distributing. There's more information in the manual).
Congratulations! You have changed the game resolution and colour depth. Now time to import some sprites.

Click on the 'Sprites' button in the navigation panel. When the sprites page pops up, right click on the background to open a menu of all the ways you can import sprites. Select the first one, 'Import New Sprite From File'. We are going to import a mouse cursor, which is naturally very important for a point-and-click game. In the importing window that pops up, browse to the resources folder provided earlier and click on the 'Icons' folder. Then doubleclick on the image titled 'mouse1'. You will see the following screen:

This basically just wants to know which parts of the image should be transparent and which shouldn't. In our case, we don't want an ugly pink background showing up in-game. Set the 'Transparent Colour' field to the Top-Left Pixel and click Import Whole Image. The mouse cursor should turn up in the sprites panel against a vivid purple backdrop. The purple parts will be invisible in-game.

Well done! You have imported a mouse graphic. Now we attach this graphic to the mouse itself. First, expand the 'Mouse Cursors' option in the Navigation Panel on the upper right:
AGS gives us a variety of inbuilt mouse functions. Doubleclick on 'Walk To'. Note the panel on the bottom-right of the screen, just below the Navigation Panel: this section usually contains specific information and options for the panel you're viewing. In this case it contains options for animation and so on, but that is beyond our scope for this tutorial! Note the 'Image' option, currently set to 0. Click the little ellipsis button next to this option (the one with three dots) and then click on our cursor. It should display on the upper-left corner of the screen:

Now: see that little cross on top of the imported mouse image? That's the place which the game actually processes as the mouse location, and gets the mouse.x and mouse.y variables from. Click on the image to move the cross to the very tip of the mouse. This means when we want to click something we use the tip.
Repeat this process for the rest of the mouse cursors.
Later on we'll use the game script to set up the mouse exactly as we want it. For now, we'll try making a room.

Well done! You are now ready to make your first room in AGS. Right-click on the 'Rooms' button in the Navigation Panel, and select the 'New Room' option. Then select the Blank Room option. Congratulations, you have made your first room! Note that your new room includes both an 'Edit Room' section and a 'Room Script' section. For now, we'll look at the Edit Room part: double-click it. The first thing you see should be a black screen:

(above: an artist's conception of the black screen)
It's not much to look at! Note that above the screen and next to the button marked 'Main Background' is one called 'Change...'. Click on it, then navigate to the 'Backgrounds' section of the tutorial folder and import the file 'titlescreen'. Click 'yes' after the engine tells you this new background is a different size, and you now have a nice title screen! Click the little 'play' symbol at the top-left of the screen to take a look around. There's not much to do right now, though, so we'll close the game and get back to the editor.
The first thing we want to do is to be able to click on the 'Quit' part of the background, and close the game. We can do this using 'Hotspots'. To start using Hotspots, click on the little button above the background that says 'Nothing'. You will see a drop-down menu with the following options:
- Edges: if you wanted the player to, say, leave the room by passing a particular point on the screen, you'd use edges: clicking on this reveals four small yellow lines, for the Top, Bottom, Left and Right edges. You can move these lines about and set up things to happen upon crossing them.
- Objects: This lets you place sprites on top of the background, and interact with them.
- Hotspots: Think of hotspots as layers you can put over the background, that you can interact with by clicking.
- Walkable areas: the parts of the background that your character can walk on.
- Walk-behinds: The parts of the background your player walks behind: for example, if you had a background with a picture of a chair in it, you could draw a walk-behind layer on the chair so that the player would appear to be drawn behind it if above a certain height.
- Regions: For when you want something to happen when the player stands in a specific location, e.g. tinting them black if they stand in a shadowy area.
For the moment we'll just use Hotspots. Select 'Hotspots' from the drop-down menu and note how your mouse cursor turns into a crosshair: that means you can use it to draw a hotspot. If you look at the top of the editor you can see some simple painting tools, such as Straight Line, Square, Fill, Freehand, etc. Click the 'Square' icon, and use it to put a big rectangle over the 'Quit' part of the background. If you make a mistake, you can erase the Hotspot with the right mouse button.
Finished? Congratulations! You have drawn a rectangle. Now we tell the game what to do when you click on this rectangle. Look at the little information panel at the bottom right of the editor, and note the little lightning-bolt symbol on top of it. Click the lightning bolt! Do it now.
Congratulations! You have clicked the lightning bolt. Here you can set what happens when you use a specific mouse cursor on this hotspot. We'll use the 'any click' function: click on the little ellipsis. You will now be taken to the room's script file!

First of all: there is absolutely no scripting experience required for AGS, or coding, or anything like that. The scripts in AGS are basically just a more flexible version of the drag-n-drop method of 'events' used by things like RPG Maker and Klik N Play. We'll start with some notes on the syntax: that is, the way you tell the game what you want it to do. Right now the room script should read

The 'function' is the input: what the player clicks or steps on or whatever. You don't need to worry about writing this part, because the game does it for you when you use the Room Editor. The curly brackets are used to contain what happens when this function occurs: in this case, what we want to happen when the hotspot gets clicked.
We want the game to quit once someone clicks here. Type 'quit' between the brackets, and watch what happens:

After about three letters, a window pops up and shows you all the different options. You can boil down the list into consisting of functions, things which we want the game itself to do, and objects, which have their own set of functions attached. Functions are things like QuitGame, Display, TintScreen, and so on. Objects are things like characters, items, variables, stuff like that.
Once we've selected a function or an object, we generally have to fine-tune what we want to happen. For example, if we want a character to say something, we'll have to stick in what it is she says; if we want the screen to tint, we have to set the colour. This is where the syntax comes in. Crudely put:
- follow a function with a regular bracket (like this)
- follow an object with a fullstop.
We've already seen how AGS gives you a list of possible actions to choose from: in the same way, typing a bracket after a function prompts the engine to tell you exactly what that bracket should contain, and typing a fullstop after an object prompts it to give you a list of all the possible functions you can apply to that object.
Now: typing 'quit' prompts the engine to show 'QuitGame' in the little window we've seen before. Upon reflection, QuitGame is more likely to be a function than an object, so we hesitatingly try following it with a '(' sign. And lo!

It tells us we have to insert 'int promptUser', whatever that is. Now: go to the 'Help' bar at the top of the AGS screen, and click 'Index'. Then search for QuitGame, and you'll find out what to put there. Get used to this: if you're not sure what a function does, or what to put in a particular bracket, the helpfile generally tells you!
Anyway, in this case we want the game to quit without asking for confirmation, so we put a '0' in the brackets: QuitGame(0). Now it's time for the second bit of syntax: semicolons. Everything you tell the game to do ends in a semicolon; all the conditional events just have brackets. You can think of it like this:
some_shit_happens
{
whatyouwantthegametodo;
}
So add a semicolon to QuitGame(0) and you're good to go! Note that if you don't put a semicolon in, an error message will pop up when you try to run the game telling you that you missed one and where, so there's not much chance of actually causing damage if you leave one out by accident. Congratulations! You have used a semicolon!

If you've tried running your new game, you might have noticed that it does not actually quit once you click the 'Quit' button, and might reasonably deduce from this that I am a liar and a charlatan. In fact this is because you begin with the mouse cursor set to 'Walk To', which actually doesn't count as a click. You may notice that pressing the right mouse button and THEN the left button allows you to exit the game just fine: this is because of the way the mouse is set up in the Global Script.
The Global Script handles reactions and functions that aren't confined to just one room: like when you click on another character, or when the game starts, or when you press a particular button
To view it, doubleclick the 'Scripts' button in the Navigation Panel. You should see two files: GlobalScript.ash and GlobalScript.asc. The .ash file is mainly for defining new functions and other more advanced stuff, so we don't need to worry about it right now. Let's take a look at the GlobalScript.asc script:

The parts in green are comments, and have no effect on the code. The rest of it is mostly just different varieties of the functions and brackets we've seen before:
- on_game_start, stuff that happens when the game is initialised: this is useful for setting up GUIs and the like (more on which later!)
- repeatedly_execute is something you want to happen constantly again and again, all through the game: I recommend leaving this part alone, unless you're using it with conditions (for example, to check whether the player has picked up a particular item or the number of a global variable).
- on_key_press: you can use this to make a menu come up when you press Esc, or to hotlink mouse cursors to particular letters, although you need to look up the ASCII numbers of the keys in the AGS manual
- interface_click: an obsolete function
- on_mouse_click: tells the game what to do on either a left or a right mouse click.
We'll be looking at the on_mouse_click event. At the moment, it should read something like:

which we may summarise as
mouse_gets_clicked
{
if (game is paused)
{
do nothing
}
else if (game unpaused and left mouse key pressed)
{
processclick(mouse.x, mouse.y, mouse.mode) just means that the game will essentially click the current mouse cursor at the point where the mouse is, that is, mouse.x and mouse.y. So if the mouse cursor (or 'mode') was 'Use' and the mouse coordinates were over our Quit hotspot from earlier, it would run the interaction associated with clicking Use or Any Click on that hotspot
}
else (game unpaused and left mouse key unpressed, so must have pressed right mouse key)
{
mouse.selectnextmode essentially just cycles through the different mouse cursors with each click: from Walk to Look to Use and so on.
}
}
Now, say we want to change it into a simple two-button system, where the left button is 'walk' if clicked on an empty space and 'use' everywhere else, and the right mouse button is 'look'. It gets more complex once we start to adjust for other issues, like whether someone is using an inventory item. Since this area of coding is a little beyond what we want to do, for now we'll just replace what's there with this code:
See if you can follow it! It's rather messy, but it will do for now.
By now I'm sure you're all sick of coding. We're going to move on to more practical matters.

Now, we want to finish up on the title screen and start on the game proper! Use the navigation panel to get back to Room 1. The first thing we'll do here is to take a look at the Room Properties: click the little box icon to the left of the lightning bolt icon we saw earlier. Here we can edit things like the room description, which is what it shows up under in the Navigation Panel, but there's also things like Background Animation, Play Music, Show Player Character, and Player Character View. We'll deal with the player character later; right now, let's take a look at the 'Background Animation' feature. If you look at the top of the background page, there is a button marked 'Main Background'. Clicking it gives the option to import a new background: this new background does not replace the old one, rather the game cycles between them to give an animated effect. You can set the speed of this animation with the Room properties. Also in the properties panel is the option to play music: a super idea! Playing music in AGS involves pasting files into the game folder itself, and then renaming them.
Browse to the 'Music' section of the Tutorial folder you downloaded earlier, and copy the song 'Cheeseburgers_In_Paradide.mid' by Jimmy Buffett. Now browse to the folder where you saved your AGS game, and look for the 'Music' subfolder. Paste 'Cheesebrugor_On_porodice.mid' into this folder, and rename it to MUSIC0. Note: the MUSIC0 song is the one which plays at the beginning of the game, with or without the PlayMusic command. So we don't need to set it up in Room 1: it will play automatically.
Now, we will finish our title screen. Go back to Room 1 and click the 'Nothing' button near the top, then scroll down to Hotspots. We want to assign new hotspots to the 'New' and 'Load' sections of the backround. However, this means we need a new hotspot layer, since clicking the old one terminates the game! Once you've selected 'Hotspots' from the drop-down menu, look for the button reading 'hHotspot1' on the right side of the screen, between the Navigation Panel and the Properties Panel. Clicking on this button opens up a hotspot selection menu! Note that the different layers of hotspots are set to different colours, to make it easier to tell between them. Click on 'hHotspot2', and notice how our first hotspot greys out.
We now want to make the game open a 'Load' menu when we click the 'Load' text in the background. In the same way as before, draw a solid rectangle over the 'Load' section, then click on the lightning bolt to open the Events tab for this hotspot. Check the 'any click on this hotspot' box, and inside the function, type in 'RestoreGameDialogue();'. Notice how there aren't any parameters used in this function, but we still open and close the brackets at the end! Anyway, now clicking the Load button will bring up the default AGS load menu.
But we still have the 'New' option in our title screen, and we still have to make out game proper! I'll cover that, including dialogues, views, characters, inventory items, and possibly even custom GUIs, in the next article. But remember that most of the groundwork was laid here before any work even began, even in things as simple as setting the Colour Depth and the mouse cursor hotspots! The moral is that Even Large Enterprises Depend On Small Details. This concludes lesson one! Please turn over tape.

Adventure Game Studio
Developer(s)Chris Jones
Initial release1997; 24 years ago
Stable release
3.5.0.29 / January 12, 2021; 6 months ago
Preview release
Repositorygithub.com/adventuregamestudio/ags
Written inC++, C, C#
Operating systemWindows
PlatformPersonal computer
Available inEnglish
TypeGame creation system
LicenseArtistic License version 2 (editor & runtime)
Websitewww.adventuregamestudio.co.uk

Adventure Game Studio (AGS) is an open source[1][2] development tool that is primarily used to create graphic adventure games.[3] It is aimed at intermediate-level game designers, and combines an Integrated development environment (IDE) for setting up most aspects of the game with a scripting language based on the C programming language to process the game logic.

History[edit]

Adventure

Adventure Game Studio was created by British programmer Chris Jones.[3] AGS was originally released in 1997 as an MS-DOS program entitled 'Adventure Creator'.

Jones was inspired by the apparent simplicity of Sierra On-Line's adventure game interface, specifically as showcased in Space Quest IV: Roger Wilco and the Time Rippers.[4] The first version of Adventure Creator allowed users to create only low-resolution, keyboard-controlled games.

Initially only small tests and demo games were created with AGS, and most of the more ambitious projects were cancelled. As a result of the lack of completed games and engine features, the user base was small, but the community grew slowly. Game developers started requesting more features so that they could create more complex games. Gradually, as these requests were implemented, AGS became a more capable toolkit and it was finally possible to create high-quality games with it.

After a long period of slow activity, Lassi Quest was released as the first complete AGS game in late 1999. It was not until Ben Croshaw's Rob Blanc and Philip Reed's Larry Vales games had been released in 2000-2001 that the engine gained widespread popularity. There is now an active community containing thousands of members, and a large output of completed games of all sizes.

AGS itself continues to be added to and improved upon, with the release of version 3.0 in January 2008 including a complete rewrite of the editor using the .NET Framework and an update to the game engine to support 3D hardware acceleration.

On 26 October 2010, Chris Jones released the source code for the editor under the terms of the Artistic License, version 2.[5] On 27 April 2011, the runtime engine code was released under the same licence.[6]

In 2015, a small group of community developers keep maintaining and improving the engine and IDE, and started to implement cross-platform capabilities as well as support for more modern screen resolutions (4:3, 16:9 and custom high resolutions).[7]

Capabilities[edit]

The editor and runtime engine were originally designed for Windows operating systems; though the runtime engine has been ported to Android, iOS, Linux, Mac OS X and PSP[8] since the release of the source code. Prior to AGS 2.7, a DOS engine was also available; this has since been discontinued. It is not yet possible to run the editor to create games on operating systems other than Windows without an emulator or API wrapper such as Wine.[9]

AGS can create games with a graphical range from 256 colours and a resolution of 320×200, to truecolor games with any higher resolution supported by the player's graphic adapter and an alpha channel.

It also supports the following graphics filters: none, 2x nearest-neighbor, 3x nearest-neighbor, 4x nearest-neighbor, hq2x, hq3x.

Intruder In Antiquonia

The application supports the following multimedia formats: mod, S3M, wav, xm, MIDI, ogg, mp3, avi - version 2.61. Version 2.72 has support for IT and S3M.[10]

Community[edit]

The AGS community is based on the AGS Forum,[11] the AGS Internet Relay Chat channel[12] and Discord channel.[13] There are real-world meetings of the community each year, known as 'Mittens'.[14] There is also an ongoing blog[15] covering the latest goings-on in AGS development, games and community. The community runs several competitions to create games, art, writing and music.

AGS Awards[edit]

The AGS Awards were founded in 2001 and are awarded annually to the best indie point-and-click adventure games of the year. Categories for the awards may vary year from year but overall include Best Game, Best Writing, Best Animation, Best Voice Acting, Best Puzzles, Best Background Art, Best Gameplay and Best Music. The AGS Awards are an important barometer for indie adventure games, serving as a springboard for new talent. Some winners have become immensely popular and commercially successful.[16][17][18]

Reception and usage[edit]

Games based on AGS[edit]

Adventure Game Studio Depository : Free Software : Free ...

Thousands of games have been produced using AGS,[19][20] some of them being of professional quality, such as professional games like the ones mentioned below. There are several non-professional yet full-length acclaimed games such as Heroine's Quest.

Wadjet Eye Games is an indie game developer that has created most of its commercial titles using AGS, such as the Blackwell series of games. They also publish AGS games by other developers, such as Primordia by Wormwood Studios, Resonance by XII Games, and Gemini Rue by Joshua Nuernberger.[21]

Development teams AGD Interactive and Infamous Adventures have remade and updated King's Quest and other Sierra releases. LucasFan Games have done the same with LucasArts adventure games.[22]

See also[edit]

References[edit]

  1. ^'Whoa, Adventure Game Studio went open source'. Jake Rodkin. 2011-04-29. Retrieved 2013-12-31.
  2. ^'Adventure Game Studio – now open source (again)!'. Skygoblin. 2011-07-08. Archived from the original on 2011-09-08. Retrieved 2013-12-31.
  3. ^ ab'Exploring The Studious World Of Adventure Game Studio'. Rock, Paper, Shotgun. 2012-04-03. Retrieved 2013-12-24.
  4. ^'Interviews: Chris Jones'. Adventure-Treff.de. Retrieved 2018-11-02.
  5. ^AGS Editor Source Code Release AGS Forums, October 26, 2010
  6. ^Initial AGS Engine Source Code release AGS Forums, April 27, 2011
  7. ^changes.txt ags on github.com (2015)
  8. ^'AGS GitHub repository'. github.com. 2012-06-09. Retrieved 2012-07-06.
  9. ^'AGS wiki: GNU/Linux'. www.adventuregamestudio.co.uk. 2010-03-02. Retrieved 2012-04-23.
  10. ^AGS v2.7 Refresh 2 now released AGS Forums, May 2, 2005
  11. ^'AGS Forums - Index'. Adventuregamestudio.co.uk. Retrieved 2012-05-27.
  12. ^[1]
  13. ^'AGS Discord channel'.
  14. ^AGS Wiki
  15. ^'The AGS blog'. Ags-ssh.blogspot.com. Retrieved 2012-05-27.
  16. ^RockPaperShotgun.com about The AGS Awards
  17. ^The 2012 AGS Awards by www.indiegames.com
  18. ^Destructiod.com about AGS Award winning games April 29, 2011
  19. ^Adventure Game Studio full game list on uvlist.net
  20. ^'Games made by AGS'. Archived from the original on 2011-04-21. Retrieved 2021-04-01.
  21. ^'Adventure Game Studio'. Adventure Game Studio. Retrieved 2012-05-27.
  22. ^'Fans Present Maniac Mansion Remake'. The International House of Mojo.

External links[edit]

  • Official website
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Adventure_Game_Studio&oldid=1019058453'