Let's build a new AGS demo game!

Started by cat, Sun 14/05/2023 19:41:43

Previous topic - Next topic

cat

#60
Nice collection, @RootBound . My ideas in red:

Quote from: RootBound on Mon 12/06/2023 16:21:18Beginner 1, "Room Basics"
*Walkable areas (Walkable areas (incl. scaling & non-contiguous)
*Walk-behinds    
*Hotspots
*Objects
*Inventory items - picking up a key will add it to your inventory
*Using inventory on objects/hotspots
Puzzle: Pick up a key, open a door, go to the next room.

Beginner 2, "Rooms part 2"
*Dark/light regions 
*Walk-behinds   
*Scrolling rooms   
*Animated backgrounds
*animated objects
*moving objects

Possible puzzle: Activate a lever to move down an (animated) bridge, walk over to the other side of the scrolling room.

Beginner 3, "Inventory and characters"
*Inventory items
*combining items
*NPCs
*Dialogs

Possible puzzle: The NPC asks for a certain item. In the room there are some items that can be picked up, two have to be combined then give it to the NPC. Should include a somewhat elaborate dialog tree.

Beginner 4(Intermediate?)
*1st person interface room


Intermediate 1, "Sounds and Music"
*Sound effects
*Music
*Voice acting

Intermediate 2, "Keyboard use"
*Keyboard controlled movement
*Text input / text parser

Intermediate 3, "Complicating characters"
*Different views for player character
*Different playable characters

Intermediate 4, "Timers"
*Using timers
*rep_execute_always


Advanced 1, "special effects"
*"Dark room" with flashlight
*reflections
*shadows
*Partially transparent or translucent effects / windows

Advanced 2, "modules"
*tween module
*Rellax module
*typewriter text module
*Other modules?

RootBound

@cat I think those are good improvements. There were so many "beginner" concepts I wasn't quite sure of the best way to group them.  :)

Some more story-oriented ideas:

I think a fun idea could be that the "beginner 1" puzzle could be a "trap door shuts behind you" situation, so that it makes sense to enter the room and then be trapped.

I like your bridge puzzle for room 2 as well. Since it's animated backgrounds in that room too, maybe the bridge leads over a small river, and following the scrolling room eventually brings you to a waterfall. Both river and waterfall could be part of the animated background.

An NPC requiring something that you have to make by combining items could go all sorts of ways--I'm thinking of some kind of workshop (like a machine shop, inventor's lab, magic spell-brewing kitchen, or some other place that would have lots of interesting objects laying around.
They/them. Here are some of my games:

cat

Quote from: RootBound on Mon 12/06/2023 20:40:09Since it's animated backgrounds in that room too, maybe the bridge leads over a small river, and following the scrolling room eventually brings you to a waterfall. Both river and waterfall could be part of the animated background.
Nice! And if the scene is at night, we also got the dark/light regions covered with moon shine and shadows.

RootBound

Here's a partial draft of a 640x360 map/menu screen. I still have the multi-layer version, so text can be changed, things can be renamed, redrawn, moved around, etc.

Treehouse would be the locked door puzzle, Stream would be the bridge puzzle, and Wizard's Hollow would be whatever puzzle involves dialogs and combining inventory items.

In this structure, every room would be accessible from the map and maybe have an "exit to map" icon as a GUI (or as an object in the room), but rooms could also be walked between from each other if the player wants, and would join to form a complete game world.

If people like it, I figure we can add room names as we figure out what puzzles might go with each room.

So the proposed process would be:

-look at what features are sorted into what particular room (@cat's post above)
-figure out a rough puzzle that uses those features
-invent rough room ideas based on that puzzle
-add room to map (I can do this or I can upload the .ase file somewhere)
-draw background for each room (different artists can contribute--whoever's interested)

They/them. Here are some of my games:

cat

#64
Wonderful map, @RootBound !

I think the artist also depends on the style the room should be in. For some rooms it does not matter, but the "Keyboard use" room, for example, should be in retro style, so I see this totally made by someone like @newwaveburritos

Another idea I had - instead of filling the inventory up with useless gem items or similar, this could be done with a score counter. This way, also the score feature would be showcased.

newwaveburritos

Maybe not a bad idea to showcase a few different art styles since you can do whatever you want and as a game dev it's sort of easy to forget that.  But I'm happy to contribute a background or some characters or really anything like that.

RootBound

@cat I had the same thought about the score. A gem icon with 1/10 or whatever next to it and you're good to go!

I also had an idea about the NPC/Combining inventory puzzle. Maybe an NPC (like a Wizard) has a gem for you and will give it if you can complete a challenge that involves asking the right questions to discover which items in the room to pick up and combine. There could be other NPCs milling around (like students or apprentices), whose dialogs change based on what information you're looking for. For example, the wizard says "Make me a summoning circle that will call a goblin" or something, and only by asking lots of questions of everyone in the room can you figure out what items you need and how to construct them from all the simpler inventory objects in the room.

To keep the puzzle doable for newcomers, though, there probably shouldn't be any "dead ends" in the dialog, so that the puzzle is always solvable.

Is that the right difficulty of puzzle we're looking for at that point in the tutorial?
They/them. Here are some of my games:

cat

Quote from: RootBound on Wed 14/06/2023 16:40:24

I don't know if translation is a thing, but we should consider making the labels as separate sprites. The map could also be implemented as GUI with labels.

Snarky

#68
If it were me, I would suggest creating a bare-bones, minimalist demo game: One or two rooms, with everything needed for a traditional adventure game but nothing fancy going on. Release this separately (on github or similar) as "Demo Game - Basic." Arguably, this game should be the result you (can) get if you follow the AGS tutorial to the end.

Then use that as a basis for all other demonstrations: One version of the demo to demo each feature (or some small number of features), building on top of the common core. Same room, same gameplay, same everything (as far as possible), with the only changes those necessary to demonstrate the feature(s) in question.

And then create a merged project bundle of the most generally useful demo rooms, with some sort of menu to browse and navigate the different features demonstrated. Release this as "Demo Game - Advanced." (Alternatively, this could just be a website that would let you browse and play all the demos from within the browser.)

That way, a learner can see what an as-simple-as-possible AGS project looks like, and when trying to understand each more advanced feature, they will already recognize the basic bits and can focus on the changes.

It will also serve as a starting point for anyone who wants to demo something in AGS: a ready-made template that can be modified to show off whatever it is you want.

Key points:
-Project(s) kept as simple as possible, for pedagogic purposes
-Common core (code, assets, project setup): lower threshold of making future demos
-Extensible concept, not limited by an overall story/game design
-Integrate with documentation/tutorial, make playable online

eri0o

Quote from: RootBound on Wed 14/06/2023 16:40:24

This looks great. I like the idea to use labels with the GUI, nice idea!

About tutorials its possible to do the reverse, make the game and then later reverse engineer it in a tutorial, but overall I really like the direction @RootBound mind is going!

Crimson Wizard

#70
Quote from: Snarky on Fri 16/06/2023 17:16:26If it were me, I would suggest creating a bare-bones, minimalist demo game: One or two rooms, with everything needed for a traditional adventure game but nothing fancy going on. Release this separately (on github or similar) as "Demo Game - Basic." Arguably, this game should be the result you (can) get if you follow the AGS tutorial to the end.

I think Snarky has reasonable arguments, and initially I thought this is what would be done first, before going into more complex demos.

Overall I feel like I myself got somehow swindled from one idea to another. This happens way too often to me lately, I cannot stay focused on initial thought. But probably that's because I am not actually dedicated to the game design process, and only comment on what others are doing.

The kind of project discussed here may indeed be useful as a big feature demonstration, but I am not certain if it will work for a basic tutorial purpose.

Perhaps, I may propose to imagine you are the absolute beginner to AGS. Try to look at this with their eyes, and ask what do you expect from a "demo game", if your intent is to quickly start your own.

But I don't think I will be participating in this conversation, as I simply cannot stay focused on the problem well enough to provide reasonable contribution.

cat

@Snarky Isn't that what each individual template should be? The BASS template already contains a few inventory items, a room, a character etc.
I think the demo game should go beyond the stuff of the basic tutorials.

Crimson Wizard

#72
I forgot to post this earlier, but here's a game I've been thinking about as of a reference:
https://archive.org/details/openquest

I don't remember all details, but iirc it's either 1 or 2 rooms game with a simple sequence of actions.
It was an original candidate for a new demo game back in mid-2010ies, at least in my mind, but it's made in AGS 2.72 and uses a number of obsolete features, so would need to be upgraded anyway.
EDIT: the archived version does not include the sources unfortunately, and I cannot remember if I had them anywhere.

Another example of a good "simple demo" style, at least imho, could be this game:
https://www.adventuregamestudio.co.uk/site/games/game/1208-awakener/

This is all just for the reference, to illustrate what I had in mind when proposing to make a simple demo game.

Crimson Wizard

#73
Quote from: cat on Fri 16/06/2023 16:56:35I don't know if translation is a thing, but we should consider making the labels as separate sprites. The map could also be implemented as GUI with labels.

You may have GUI with labels, but also a room with objects.
In case of a room you could make a mini-character going around the map, similar to Monkey Island 1 or Hero Quest. (It's theoretically possible to do on GUI, but then you will have to implement your own pathfinding)
In case of GUI, it's easier to setup textual items (with objects you'd have to create sprites, or dynamic sprites with translated text at runtime).

RootBound

I can see the wisdom in the comments above with regard to keeping things simple and accessible. I had thought this thread was about a demo game to showcase a lot of what AGS is capable of, rather than a very basic simple-game tutorial. I can appreciate the value in both.

Perhaps @Crimson Wizard was correct at the beginning that the "demonstrate many AGS features" and "demonstrate very basic AGS features" angles should be available separately (although the bigger project could include a version of the smaller).

If so, a possibly good way to proceed could be to start by making the first three "basic" rooms we've been discussing, then release those as the "basics-only" download (also playable online? This can be done simply by building to the web port?).

Work could then continue to extend the game into the "full-fledged" larger one with those same three basic rooms, plus medium and advanced. That way, it saves the work of doing two truly separate projects, and at the end, the basic and full versions are both available.

I also appreciate keeping the beginner more in mind generally, so maybe it would be good to modify the map/menu with some more user-friendly descriptions that make it even more accessible to someone who barely knows what AGS is.

First, the three "regions" could be re-titled as, e.g., "Village of Beginnings: AGS Basics for the beginner" and so on.

Second, there could also be a block of hover text over each room icon, perhaps providing a "difficulty level", a list of the game features showcased, and the room number in the editor where one can find the code and room setup.

This would be in addition to the help icon available in every room, which would expound upon each feature in more detail whenever the user desires.

I don't know if that reconciles the ideas of a basic and a more thorough demo game, but I gave it my best shot.  :)
They/them. Here are some of my games:

cat

Well, we have to start somewhere anyway. Why not start with the beginner rooms and add intermediate stuff later on? If we find out that we need a separate project with only the first 3 rooms, we can branch off at an appropriate point later on.

Btw, I haven't been using the newer versions of AGS (been some time since my last game) - how easy is it now to collaborate? Is there still that huge sprite file that is impossible to merge? I.e. we need one dedicated person to take care of importing sprites? Or has this improved?

Crimson Wizard

#76
Quote from: cat on Sun 18/06/2023 10:33:18Btw, I haven't been using the newer versions of AGS (been some time since my last game) - how easy is it now to collaborate? Is there still that huge sprite file that is impossible to merge? I.e. we need one dedicated person to take care of importing sprites? Or has this improved?

No, nothing has improved. Rooms storage was improved but it's in AGS 4 alpha.

The only thing that makes it slightly easier with sprites is that now there's a "recreate sprite file from sources" command in the editor, which makes sense if the source images are stored inside the project folder.

And there's still a problem of sprite numbers: if they conflict then you cannot merge game.

cat

But does this mean that the sprite file doesn't have to be checked in? I think this hugely improves collaboration. And size of the repository.

Crimson Wizard

#78
Quote from: cat on Sun 18/06/2023 15:37:56But does this mean that the sprite file doesn't have to be checked in? I think this hugely improves collaboration. And size of the repository.

That is true, it does not have to be checked in.

Although, you have to keep in mind that the spritefile recreation is basically a full reimport, and takes time proportional to the number of sprites and their resolution.

EDIT: Somehow I have a copy of this full-length game source in my temporary possession (i was doing some engine bugs research in it):
https://www.adventuregamestudio.co.uk/site/games/game/2330-mage-s-initiation-reign-of-the-elements/
This is a 640x400 game, with roughly 300 MB amount of sprites in png format.
I made a test on it, first exporting all sprites and remapping "source" link to these exports, and then tried full sprite file recreation.
Recreation takes about 30 seconds on my PC.

NOTE 2: this does not help with room bgs though, unless you are using ags4 where rooms are split into multiple files.

RootBound

I tried out some VERY ROUGH PLACEHOLDER color blocking to propose a composition for the first room.

Obviously final version would be FAR higher quality.

Does this kind of design work?

*2 walkable areas: 1 continuously scaling (all paths are part of same area even though it is pieces); 1 fixed scaling (balcony).
*3 interactable hotspots to look for key (bench, toadstool, shrine)
*2 objects (door, gem on balcony)
*1 inventory item (key)
*1 possible object animation (door open/close)
*No walk-behinds needed
*No regions needed if light level is normal
*No animated background needed

They/them. Here are some of my games:

SMF spam blocked by CleanTalk