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 - Fanomatic

#1
QuoteThe demo was very cool :)

Cheers! Glad you like it!  ;)
#2
The talk position issue has now been fixed. Thanks for reminding me PlayPretend :)

The player characters now stand in more sensible positions when talking to Sarah. Also Five stands in a set position when talking to Fuzzy until you've 'activated' him. I found an old thread where Khris had come up with an elegant solution to the problem, so once more, big thanks to him. ;)

There's now a new version, "Animal Cruelty Demo 1.2" on itch.io that can be reached from the first page, or from the link below:

https://fanomatic.itch.io/animal-cruelty-demo

I'm currently in the planning phase for the full game. Time to weave all those loose ideas together!
#3
Thanks! Yes, the hotspot thing is an issue I'm still working on. ;)
#4
QuotePlayed it. 
LOVED it!   :cheesy:

Excellent story, with lots of funny dialogue and amazing art. 

Can't wait to see more of it.   :grin:

Thanks, I will keep working on it! ;-D

Slight update. I decided to use itch.io to host the game instead of using my Google drive. It gives a more serious impression and gives me better overview of the project. :)
#5
QuoteWOW! It's awesome. That's really your first game? I love the graphics, details, animations, the whole style. And it's really funny. Looking forward to playing the full game  (nod)

Glad you like it! Cheers! ;-D

QuoteLooks like a fun project. All the best with it.

Thanks!

Quotehey, I longplayed this nice demo.

Cool! It will be useful as a walkthough too ;-D
#6
QuoteI absolutely loved this demo and would gladly pay for this!! <3

Thanks, I appreciate it! I do this for fun and for learning, so people playing the game and sharing their experience is rewarding enough. ;-D

QuoteI really loved the demo.
Great, funny dialogues, even the simple facial expressions on the characters are awesome.
Made me laugh out loud when Five read: “The fools think they can keep me locked up.. I'll document my brilliant escape so it can be added to the history books.” from the journal lying next to the corps in the next cell. :-D

Glad to hear you like it! Have you tried "looking" at the journal multiple times? ;)

QuoteI once had a similar idea, but as it goes with me, ideas rarely gain enough traction in my dopamine circuit to turn into something more. 
I hope you keep on working on this, really enjoyed it!

Thanks, will do!
#7
Demo version 1.1 is out! I fixed so that using an inventory item now results in "use with". I also added some more item uses and fixed some bugs.

The new version can be found here, or from the first post:
https://drive.google.com/open?id=1kzOgsrThyNCB8SwxEYurMR3T5cmPxUWR
#8
QuoteI was a bit confused when I tried the game as all the comments are talking about a verb coin interface, but that isn't what is used

Aha, for some reason I thought "verb coin interface" was synonymous with 9-verb, but after googling it I realise that's not the case. :)

Quote...but anyway, I got quite stuck for while because of issues I was having with the interface. It seems that if you left-click on the verb 'USE' and then on an inventory item that it is an instant use of the item (not option to use the item on something else), but clicking on the inventory item directly lets you use it on another object. Is this by design or was I doing something wrong?

Yeah, that a good point. There's no real reason for just 'using' an inventory-item without context. I'll see if I can fix so that using an inventory item will automatically become 'use with something'. Thanks!
#9
QuoteI think I've seen you asking for help making this game before.
Looks interesting. I'll give it a try sometime.

Hey thanks! I hope you enjoy it when you do! :)

QuoteOne note. When I downloaded it, my browser wanted me to discard the file saying that it's an uncommon file type.

Hmmm, it could be because I use Google drive. I've gotten similar messages when downloading from other peoples drives. I think it's because the file hasn't been downloaded much before, but it should be perfectly safe :)

QuoteThat was really funny and some good puzzles. I am impressed by how almost everything you do has a response from the system. Many games cut corners in this area, especially for a demo!

It's probably a bit late now but I am just not a fan of verb coin interfaces. I know some people like it but in my opinion there's often just so much more clicking and mouse usage to solve a puzzle and that usually detracts from the gameplay.

Thanks! The verb coin inteface is really old-school and clunky by today's standards, but it has the advantage that you can throw in a lot of hidden gags. But yeah, it's something you either like or dislike ;)

QuoteHi, Fanomatic.

Some points I would like to make.

1: I just have to say, WOW!! :-D
2: Had no problem downloading.
3: I LOVE what I have seen, so far.
4: I LOVE the story, The graphics, the animations, the verb coin interface and the entirety of it all. I can't believe that this is your first game. 8-0
5: I am sorry to use the word "Love" so much but... Hell. I "Love" how this is looking and playing. :-D

I hope to see more updates and hopefully... The full game, soon. ;-D

Thanks a lot, I'm really glad you like it! ;-D

I'm just gonna fix some remaining bugs in the demo and then I will start working on the full game.
#10
Hello!

I'm Fanomatic and I'm currently working on an old school 'Lucasarts style' game called "Animal Cruelty". It's a game kind of similar to 'Day Of the Tentacle' where you alter between three different animals who has to join together to escape the castle of the evil Doctor Petson.


Let the maniacal laughter commence!

This is my first game in AGS. It started out when me and a friend participated in a game-jam at Idle Thumbs and came up with the initial idea. He drew the nice looking background for the first room while I focused on code and characters. We didn't come so far back then, but we decided to resume working on the game after the game jam. After some time my friend decided to honorably withdraw from the project and ever since I've worked mostly solo, but with some input and feedback from another friend as well as the AGS forums.



So far I have put together a fully playable PC windows demo of the first room. It features two playable characters, sounds, music, an NPC and many interactions. The game uses the 9-verb system by Abstauber, so there's quite a lot of dialogue for you to find. For the full game I will also include a how-to-play so people who didn't grow up with the 9-verb system can easily get into the game as well :)

If you feel like trying the demo out you can do so here:

https://fanomatic.itch.io/animal-cruelty-demo


Character concepts

The full game will be free and will include two more playable rooms (plus an intro and an outro) as well as one more playable character. I try to keep it somewhat small and manageble.

I will post updates here, but you can also follow my progress on Twitter:
https://twitter.com/munchercow

And on Facebook:
https://www.facebook.com/Animalcrueltygame/

Full game status:
- graphics 33%
- puzzles 33%
- scripting 60%
- music/sound 50%

Current version:
Demo 1.2

Latest Changes:
* Changed character talk positions (Characters now walk to specific position when talking to NPC and Fuzzy)
* Player characters now faces each other when speaking!
* Minor bugfixes and tweaks
#11
Wow, thanks for the answer abstauber, and also I'm gonna take the opportunity to say thanks a lot for 9-verbs! ;-D
#12
Hello there! I have an issue with my 9-verb GUI that I hope somebody can help me with.

See, I have multiple characters the player can switch between (DoTT-style) and in order to make it easier to see what PC is currently active, I want to change the color of the interface reflecting who is active.

I tried creating a function for this in globalscript that just changes the sprites of the verbs to a sprite of another color when you switch character, like so:

Code: ags
function change_interfacecolor (int interfaceColor)
{
  if (interfaceColor == 0)
  {
    Action0.NormalGraphic = 1602;
    Action0.MouseOverGraphic = 1601;
  }
  else if (interfaceColor == 1)
  {
    Action0.NormalGraphic = 125;
    Action0.MouseOverGraphic = 138;
  }
}


However, for some reason the sprite only momentarily changes to the new sprite when I trigger the function (for a frame or so) and then quickly changes back to the default one. I suspect that it might have something to do with this function in the guiscript:

Code: ags
function InitGuiLanguage()
{
  AdjustLanguage();
  int i;
  GUIControl*gc;
  Button*b;
  
  while (i < A_COUNT_) 
  {
    gc = gMaingui.Controls[action_button[i]];
    b =  gc.AsButton;
    b.NormalGraphic=action_button_normal[i];
    i++;
  }
}


Since it's a while-loop it might be that it's continously changing the image back to the default one. Not sure on how to go about this. If anybody have any ideas I would be glad to hear them out. Thanks :)
#13
Okay, I set it up so that I check for the character region on 'give to' instead of the mouse cursor region and now it works! Thanks for the help!
#14
Hmmm, yes, you're absolutely right. It's probably better to just get the region of the interacted PC directly rather than trying to get the (arbitary) mouse position.

Thanks! I'll write a new function for that tomorrow.  ;-D
#15
QuoteAGS calls all on_mouse_click functions in order, from top to bottom. The GlobalScript is last.
Just copy the line that sets clickedRegion to the start of your checkArea function.

Thanks, but the problem is that if I get clickedRegion from checkArea I will get the region the mouse cursor is currently overlapping when the function runs.

However, since the PC automatically walks towards the character it's gonna give the item to, I can move the mouse cursor to another region while the player is walking and checkArea gets that region instead as it triggers when the PC reaches the character (or when it's as close as it can possibly get). So if I happen to hover the mouse cursor over the same region my active PC is standing in, it reads it as both characters being in the same area and allows the "give to" command.
#16
Thanks! Okay, I placed some display() calls in the code.

What seems to happen is that the else if(UsedAction(eGA_GiveTo)) block is triggered 'before' the onMouseClick, so the check is done before clickedRegion is set.

Does this mean I have to find the eGA_GiveTo function and somehow set clickedRegion inside the function to make sure it gets set before checkArea()?

I found this function inside guiScript.asc, but I'm unsure if it's the relevant one.

Code: ags
      // Giveto
      else if ((GSagsusedmode == eModeUseinv) && GSloctype==eLocationCharacter && isAction(eGA_GiveTo)) 
      {
        ActionLine.TextColor=ActionLabelColorHighlighted;
        ItemGiven=player.ActiveInventory;
        
        if (approachCharInteract == false) 
        {
          if (IsInteractionAvailable (mrx - GetViewportX (), mry - GetViewportY (), eModeUseinv) == 1) 
          {
            character[GSlocid].RunInteraction(eModeUseinv);
          }
        }
        else {
          if (GoToCharacter(character[GSlocid], 0, NPC_facing_player, 2)) 
          {
            if (IsInteractionAvailable (mrx - GetViewportX (), mry - GetViewportY (), eModeUseinv) == 1) {
              character[GSlocid].RunInteraction(eModeUseinv);        
            }
          }
        }
        SetAction (eMA_Default);
      }     
      else {
        UpdateActionBar();
        ActionLine.TextColor=ActionLabelColorHighlighted;
        #ifnver 3.4
        ProcessClick(x, y, GSagsusedmode);
        #endif
        #ifver 3.4
        Room.ProcessClick(x, y, GSagsusedmode);
        #endif
        SetAction(eMA_Default);
        ItemGiven=null;
      }
    }
#17
QuoteDejavue  ???  (roll)

Yes, this is indeed a followup to the previous issue that Khris and Crimson Wizard helped me fix. I should have included the link to the previous post in this post. Thanks for that Cassiebsg. :)

However, this isn't technically the same issue, so I thought I should post it as a new topic. Also I'm not really sure if this belongs in the "Beginners technical questions" or "Advanced technical forum". If I'm doing this wrong, I apologize.

I know this issue is a headache and I'm trying to solve it on my own, but if someone can help I would appreciate it greatly. I'll include all who help in the game credits of course :)

I'll see if I can dig deeper in the 9-verb global code and see if I can pinpoint what code is causing the problem.
#18
Hello there dear forum users, I have a problem related to regions that I hope you can help me with. I've tried for days, but I can't seem to figure this one out. I'm using the 9-verb add-on and this could potentially be related to how that is set up, but I'm a bit new to this so if somebody have any ideas I'd be glad to hear them.

The game I'm working on features three playable characters that you can switch between similar to how Day of the tentacle works. The first room of the game is a jail where the room is divided into different sections of which some can only be reached by certain characters, so each player character is somewhat restricted in where they can go. The region setup looks a bit like this:



Since I don't want the player characters to be able to give items to other characters that are not in the same ”section” I've divided the room up into regions and walkable areas and are doing a check every time I'm giving something from one player character to another player character to determine if they should be allowed to do that.

The way I've set this up currently is that every time the player clicks inside a region (inside the play area) the region is saved to a global variable (clickedRegion) like this:

Code: ags
function on_mouse_click(MouseButton button)
{
  
  //If the mouse cursor is above the verb-GUI
  if (mouse.y <= 153)
  {
    clickedRegion = Region.GetAtRoomXY(mouse.x + GetViewportX(), mouse.y + GetViewportY());
    lblDebug3.Text = String.Format("Clicked region: %d", clickedRegion.ID);
  }
  
}


Then I have a ”check area” function that compares the region the player just clicked to the region the active player is in:

Code: ags
// Check if what the player clicks are in the same region as the player.
function checkArea()
{
  Region*playerRegion = Region.GetAtRoomXY(player.x, player.y); //get current player region
  
    //If the player clicks the same region the player is in it can always interact.
    if (clickedRegion.ID == playerRegion.ID)
    {
      canWalkToObject = true;
    }
    
    //If player clicks on region 1
    if (clickedRegion == region[1])
    {
      if (playerRegion == region[2])
        {
            sayCantReach();
            canWalkToObject = false;
        }
      else if (playerRegion == region[3])
        {
          if (cellDoorIsOpen == false)
          {
            sayCantReach();
            canWalkToObject = false;
          }
          else
          {
            canWalkToObject = true;
          }
        }
      else if (playerRegion == region[4])
        {
          sayCantReach();
          canWalkToObject = false;
        }
      
    }
    //If player clicks on region 2
    else if (clickedRegion == region[2])
    {
      if (playerRegion == region[1])
        {
            sayCantReach();
            canWalkToObject = false;
        }
      else if (playerRegion == region[3])
        {
          if (cellDoor2IsOpen == false)
            {
              sayCantReach();
              canWalkToObject = false;
            }
          else
            {
              canWalkToObject = true;
            }
        }
      else if (playerRegion == region[4])
      {
        sayCantReach();
        canWalkToObject = false;
      }
    }
    
    //If player clicks on region 3
    else if (clickedRegion == region[3])
    {
      if (playerRegion == region[1])
        {
          if (cellDoorIsOpen == false)
          {
            sayCantReach();
            canWalkToObject = false;
          }
          else
          {
            canWalkToObject = true;
          }
        }
      else if (playerRegion == region[2])
        {
          if (cellDoor2IsOpen == false)
          {
            sayCantReach();
            canWalkToObject = false;
          }
          else
          {
            canWalkToObject = true;
          }
        }
      else if (playerRegion == region[4])
      {
        sayCantReach();
        canWalkToObject = false;
      }
    }
    //If player clicks on region 4
    else if (clickedRegion == region[4])
    {
      if (playerRegion == region[1])
        {
        sayCantReach();
        canWalkToObject = false;
        }
      else if (playerRegion == region[2])
        {
        sayCantReach();
        canWalkToObject = false;
        }
      else if (playerRegion == region[3])
      {
        sayCantReach();
        canWalkToObject = false;
      }      

    }
  }


And lastly, this is an example of code from the "giveto" part of an item. Basically it sees if the player can reach the region and then either gives the item or says that it can't because the character is too far away:

Code: ags
  // GIVE TO (characters only)
  else if(UsedAction(eGA_GiveTo))
  {
      if (player.ActiveInventory == iChili)
      {
        checkArea();
        if (canWalkToObject == true)
        {
            if (player == cFive)
            {
              cFuzzy.Say("Oh, Fuzzy like!");
              cFive.LoseInventory(iChili);
              cFuzzy.AddInventory(iChili);
            }
            else
            {
              
            }
        }
        else
        {
          sayCantReachPlayer();
        }
      }
  } 


The mouse region variable normally works and registers correctly, but when I press the ”give” verb and try to hand an inventory item to a character it doesn't for some reason. It's still set to the region I clicked before I clicked the ”give” verb, so the check doesn't work...

Here's some images that explains the scenario:



I guess this has something to do with how 9-verbs works. Maybe I need to change something in the global "give" function? Unfortunately I don't know where to look.  ???
#19
Ahaa, I see! Yes, now it works. :)

Thanks guys, you really helped me out! Much appreciated!

I'm marking this issue as solved now.

I will make a a project thread for this game once I'm done with a proper playable demo I can show off.
#20
QuoteThe first image alone is giving me a headache. How on earth is the player on region 1?

I know, right!? It's really confusing.

QuoteAt this point I'm going to suggest you upload the game files somewhere so I can take a look.

Thanks, I'll PM you a link to the game project. Maybe you can make sense of it.
SMF spam blocked by CleanTalk