Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - fernewelten

#41
Hi folks,

Huggles has moved to Gamejolt, and he's looking for feedback on how he's doing in presenting himself.

Here's his capsule:


Here's his page (click the pic):


What do you think?
What can he do to show himself in the right light?
(And yes: He's already planning on joining the AGS Database shortly.  :-D )
#42
Characters have views directly and sprites only indirectly â€" in so far as the views are made of sprites.

All the character views can be assigned to at runtime, using either attributes or functions: Look up Character::ChangeView(), Character::SetIdleView(), Character::SpeechView in the manual.

So one of the ways of doing this would be:

  • Each character would have a set of "small" views and a set of "normal" views. Use a consistent naming scheme here. For instance, call them vwWarriorMainSmall, vwWarriorMainNormal, vwWarriorSpeechSmall, vwWarriorSpeechNormal, ... vwWarriorIdleSmall ... or some such. These views are prepared beforehand and installed within the Editor. Note that you can create subfolders in the Explore Project pane to help keep the views well-arranged.
  • Each room gets a room_Load() (Enters room before fade-in) event. That's where the respective character views are usually set, using the respective functions or attributes shown above.
  • However, whenever characters are summoned into the current room with the Character::ChangeRoom() function, then code must follow immediately that configures their views. too.
  • Don't assign views by number. Use their symbolic names VWWARRIORMAINSMALL etc.

That's at least how I would try to do this.
#43
Update:
Version 2.0.1

  • Fixed some small bugs
  • Uploaded the game to Gamejolt.


Download the game here (NEW download location):
https://gamejolt.com/games/Huggles_goes_on_a_trip/688487
#44
Quote from: brewton on Sat 05/02/2022 15:38:42
on the list at https://itch.io/jams

As far as I know, this list is for game jams hosted with itch, which MAGS isn't. However, I'm seeing MAGS regularly on indiegamejams.com. These jams aren't culled from the Internet automatically, so there must be some diligent and dutiful AGSer that takes the time to enter the MAGS of each month, each month. 👍🏼  ;-D
#45
Quote from: eri0o on Sat 05/02/2022 14:26:44
Data means game Data.

On the other hand, that's where the license information is kept right now AFAICS, in the Linux build.
#46
Quote from: eri0o on Thu 27/01/2022 10:42:15
we should probably have an option to add a copy of the required licenses in each compiled directory eventually.

Oops.

Turns out that we do have a fine folder "licenses" in the Compiled directory that contains fine license information.

Only, it has two tiny flaws:

  • It's with the Linux files in the Linux subfolder "data", not with the Windows files (that's why I've never noticed it until right now)
  • The names of the files in the "licenses" folder don't end on ".txt". If they did, a simple doubleclick in Windows could open them just as easily as Linux executables can.

So just what has stopped us from moving the folder up into Compiled/Data and giving the files a ".txt" ending?  ??? Since all files in Compiled/Data ought to end up in all the target directories, nothing much would change for the Linux side whilst all the other target OSs would profit from the license information, too.
#47
Update:
Uploaded a new, extended version.


  • The bunny meadow (the first proper "room") nearly hadn't had any riddles before. This has changed, and it has got two added side rooms, too.
  • Swapped "walk" and "clickable" cursors so that it's hopefully a bit easier to click on specific locations.

Download the extended game here:
#48
Quote from: barnacleboy on Thu 27/01/2022 07:58:58
I'm not sure I understand fernewelten's explanation fully (because... when they collide, their "mid point of the baseline" are not overlapping?).

There might be yet another can of worms here. What I tried to find out when I wrote that article is how characters interact with "solid" objects. Basically, the "solid" objects eat a certain area out of the walkable area, stopping the midpoint of the character's bottom edge from walking there. Colliding might be handled in yet another way that is different from rectangles being taken out of the walkable area.

Also, the question might be how long it takes for characters to stop when a collision is detected.

One of the problems with regions is that there is an event "Player Walks Onto Region". You'd expect the player to instantly stop as soon as this happens, or at least, that the event fires as soon as the player's toes touch the region so that you can call player.StopMoving(), but no: Whenever the character is in a blocking walk, they will blithely continue walking to their destination no matter what, possibly passing right through the region and off on the other side. Basically, if the player is in a blocking walk, you can't even stop them in repeatedly_execute or repeatedly_execute_always. They'll simply ignore the StopMoving() command and continue blithely walking. The event will only fire when the character has stopped their blocking walk on their own and happens to still be on the region.

There might be a similar problem with collisions. Are those checked constantly or only, e.g., when the colliders have stopped on their own? And do colliders stop? You might need to resort to logic such as
Code: ags

player.Walk(x, y, eNoBlock); // note, eNoBlock
while(player.Moving)
{
    if(player.IsCollidingWithObject(oDeadlyMeanCar))
    {
        player.StopMoving();
        oDeadlyMeanCar.StopMoving();
        …
    }
    Wait(1); // important
}
#49
Update:
Uploaded a new version (1.1)

  • Added the Credits room
  • Customized GUIs for save, restore, quit game
  • Ported to AGS4

Download the game here:
#50
Hi folks,

As far as I understand, we're supposed to give credits according to the in-editor help topic, “Credits”, when publishing games, although this isn't mandatory. And the section, “Distributing your game”, has further requirements in subsection “Licensing”.

I'm writing games from time to time, and so I'd like to prepare a handy “Credits+Licenses.txt” file that has all these references in it, so that I can include it in the zip archives and reference it in-game in the Credits room.

So I was wondering whether the pointers in the documentation are even current? I suspect that this is a typical documentation part that someone has prepared at some time â€" doubtlessly with lots of diligence â€" but that tends to be forgotten in the daily chores and work and so might have become very out of date without anybody really noticing.
#51
So, it seems that DrawingSurface::DrawSurface() specifically is broken in 3.5.1; DrawingSurface::DrawImage() is not.
#52
As I've just found out, at least DrawingSurface::DrawSurface does not work in 3.5.1 Patch 7 (bug report) even if we take into account that alpha values don't blend:The transparency parameter of that function seems to trigger the same calculation results not matter if 1 % is passed or 20 % or 70 %.

However, first tests seem to show that works properly in AGS 4, probably because AGS4 is SDL based.

I'll experiment with DrawingSurface.DrawImage next and see whether this'll help me for AGS 3.5.

Edit: DrawingSurface.DrawImage seems to work as expected.
Code: ags

DynamicSprite *ds;

function test(int transp)
{
    DynamicSprite *ds_work = DynamicSprite.CreateFromExistingSprite(ds.Graphic, true);
    DrawingSurface *dsuw = ds_work.GetDrawingSurface();
    dsuw.DrawingColor = Game.GetColorFromRGB(250, 255, 255);
    dsuw.DrawRectangle(10, 10, 50, 50);
    dsuw.Release();
    
    DrawingSurface *dsu = ds.GetDrawingSurface();
    dsu.DrawingColor = Game.GetColorFromRGB(250, 100, 100);
    dsu.DrawCircle(20, 20, 20);
    dsu.DrawImage(0, 0, ds_work.Graphic, transp);
    dsu.Release();
    player.Say("This is DrawImage with %d %% transparency", transp);
    ds_work.Delete();
}

function room_AfterFadeIn()
{
    ds = DynamicSprite.Create(50, 50, true);
    oTestTest.Graphic = ds.Graphic;
    
    test(99);
    test(70);
    test(20);
    test(1);
    test(0);
}
#53
Hi folks,

I'm in a true-colour game. I've got a drawing surface. I'd like to draw a semitransparent black rectangle onto it, transparency 70 %. How do I do it?
Code: ags

DynamicSprite *ds = DynamicSprite.Create(500, 500, true);
DrawingSurface *dsu = ds.GetDrawingSurface();
// […]
dsu.DrawingColor = Game.GetColorFromRGB(0, 0, 0);
// And at this point, I lack a possibility to set the pen transparency.
dsu.DrawRectangle(10, 10, 20, 20);
dsu.Release();
object[6].Graphic = ds.Graphic;
#54
Quote from: Danvzare on Thu 20/01/2022 14:09:00
For example, I played an adventure game once where all of the dialog that's spoken out loud (like when talking to other characters) was voiced, while all of the internal dialog (looking at items) was not voiced. I stopped playing ten minutes in, because I just couldn't tolerate it.

IMO the jarring aspect in, e.g., Unavowed, is that we are looking at the scenes in third-person view, so we are seeing Ego as well as their surrounding NPCs in just the same way. We are hearing the NPCs speak just fine, so why can't we hear Ego speak? The sound experience and the view experience are inconsistent to each other.

OTOH, when we hear Ego when they talk to NPCs, but we do not hear Ego when they look at things, well, that's something that can be repaired with suitable motivation. Give a reason why the sound is off. For instance, let Ego Think() their thoughts when they are examining, perhaps even put their explanations into white thought bubbles. Keep Ego's mouth shut. Voilá, no wonder we aren't hearing anything: Ego is only thinking.
#55
What I like doing is assigning a special loopable theme music to important NPCs. For instance, a march for a soldier or a pompous music for a pompous self-righteous gardener.

Whenever Ego starts talking to the NPC, the room music fades out and the NPC theme fades in. When the dialogue ends, the NPC theme fades out and the room music fades back in. So this helps to convey some atmosphere and/or NPC mood and still gives me the possibility to tweak the dialogues or use variables in them.

The downside of this, of course, is more music tracks to juggle around. 
#56
The trouble with voice acting is that it's expensive to produce and thus provokes cost-cutting considerations that usually limit the game.

For instance, if you have around 50 inventory items then Ego can offer any of them to any NPC. It's easy to code, “player.Say("Would you like this %s", ii.Name);”, and this will work for all of the 50 items. But if you do voice dubbing, then your voice actor would need to record these 50 possibilities individually. “Would you like this old used handkerchief”, “would you like this rusty screw”, “would you like this fluffy duckling”. Nobody  does that, and so a lot of the options will be rolled together in just one verbalized “Would you like this random item from my inventory?” Which (a) is less sophisticated and (b) gives a big hint whether this NPC might find some certain item interesting at all, even in other circumstances than the current ones (if it calls up the “random item” question then no, it won't be interesting no matter what the situation).

Also, as soon as you have called the voice actors in, your game is nearly fixed for all practical purposes: If someone finds a bug afterwards and fixing it would entail having Ego say something slightly different than what was recorded, that means arranging for a new recording. This is cumbersome and sometimes even impossible. Even if it's possible, then the new recording probably won't fit seamlessly into the old recordings due to slight changes in sound levels, accents, tone, ambiance, equalizing etc. And say goodbye to the possibility of extending your game significantly at a later stage, say three years later.

These are all problems that hamper the professionals, too; but IMHO they hamper the hobbyists more.

#57
For your consideration

I'd like to present:

Flight from the Robots

a SciFi Escape-the-room adventure that plays in the same universe that “Thinker” does, above

It's  the year 2154. The climate catastrophe has happened. Life on earth has become too hot, so humanity has had to move underground. The few human rebels that exist don't stand a chance against the bot's superiority.

Meet Ian, a human that is actively collaborating with the robots. Very shortly, he's going to change his mind about them being on his side. And a tomato incident is going to play an important role …


  • Run around in your underwear!
  • Keep out the police robots!
  • Struggle with stupid obstacles to get at stupid items!
  • Click away on the left AND right buttons of your mouse without breaking it in the process!



Assets (sound, graphics) are original and were prepared by me.

You might consider this game, e.g., for the categories:

  • Best Short Game
  • Best Puzzles

Completed games page: https://www.adventuregamestudio.co.uk/forums/index.php?topic=59447.0
AGS Database: https://www.adventuregamestudio.co.uk/site/games/game/2566-flight-from-the-robots/
Itch.io page: https://loquimur.itch.io/flight-from-the-robots



#58
For your consideration

I'd like to present:

Thinker

a SciFi Point & Click adventure.

Meet a robot that lacks a voice module but is full of thought.
Follow his life as he awakes from his crate.
Help him escape his self-chosen isolation and help him struggle to stay charged!


  • Escape a bunker!
  • Operate a vending machine without having the equipment for it!
  • Agonize about your charging gouge!
  • Philosophize about life!
  • Click away, using the left AND right button on your mouse (or if you want to take the relaxed route, just watch others struggling through the puzzles in playthroughs!  :-D )


Assets (sound, graphics) are original and were prepared by me.

You might consider this game, e.g., for the categories:

  • Best Short Game
  • Best Character (Thinker)
  • Best Puzzles
  • Best Music




Completed Game thread: https://www.adventuregamestudio.co.uk/forums/index.php?topic=59142
AGS Database: https://www.adventuregamestudio.co.uk/site/games/game/2539-thinker/ (You can enter $0 for the price, that's always been this way)
GameJolt page: https://gamejolt.com/games/Thinker/617947 (You can enter $0 for the price, that's always been this way)
Some playthroughs (beware of spoilers): https://www.adventuregamestudio.co.uk/forums/index.php?topic=59146.msg636636277#msg636636277
#59
For your consideration

I'd like to present:



The Devious and Daring
Commando Raid
of Linkattus, The Lowly Janitor Rat,
In Order to Free
Ratzelda, the Princess of His Dreams,
And to Get Her, Too

What? That whole mouthful is the title of this great adventure! 8-)
And it'll serve as a neat summary of the adventure, too!

  • Help Linkattus outwit a pompous boss!
  • Navigate a huge maze of underground canals!
  • Solve puzzles!
  • Stress the left AND the right button of your mouse!
  • Witness Linkattus woo his sweetheart!


Assets (sound, graphics) are original and were prepared by me.

You might consider this game, e.g., for the categories:

  • Best Short Game
  • Best Character (Linkattus)
  • Best Puzzles
  • Best Music

Completed Game thread: https://www.adventuregamestudio.co.uk/forums/index.php?topic=59442.0
AGS Database: https://www.adventuregamestudio.co.uk/site/games/game/2565-the-devious-and-daring-commando-raid-of-linkattus-the-lowly-janitor-rat-in-order-to-free-ratzelda-the-princess-of-his-dreams-and-to-get-her-too/


#60
“The Devious and Daring Commando Raid of Linkattus, The Lowly Janitor Rat, In Order to Free Ratzelda, the Princess of His Dreams, And to Get Her, Too” is a MAGS game -- genre Adventure. It was entered for MAGS 2018/05 (theme: “Rats”) and was a (tied) winner.

However, I didn't enter it into the AGS Database at that time. The timestamp in the database counts, and so it enters the 2021 AGS awards.
SMF spam blocked by CleanTalk