Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

Powerhoof

112
Posts
18
Topics
2,865
Followers
21
Following
A member registered May 29, 2015 · View creator page →

Creator of

Recent community posts

(1 edit)

Hey Hobbes, I think maybe I remember you from the AGS forums a looong time ago (I was posting as Duzz). 

From the sounds of it, PowerQuest would suit you. It does do the things you want, while trying to be simple to use like AGS is.

But unity *is* a lot more complicated than AGS, there's no getting around that, because it's made to be able to do any type of game. There's a gazillion buttons and options everywhere. Most of it you just ignore, and PowerQuest tries to simplify things so that you can more or less work the same as in AGS. But all the extra complexity is still there. Things like light effects, you'll have to learn about how to use those systems in unity. It can be easy to break something and be unsure what. So that's the downside.

Scripting in PowerQuest should be as easy as with AGS.  I don't think that'll be a problem for you. And if you've been scripting in AGS then I wouldn't say you have zero programming skills ;) AGS is basically a 'C style' language and C# pretty much the same thing (if anything, it's meant to be easier).

Another disadvantage is that there's not a long history of people using PowerQuest like there is for AGS, so there's no forums to trawl through to find answers, you'll have to ask them yourself.  The discord is more active than these forums, but feel free to use either.

Hope that helps! :)

We've managed 10, I think 12 is the limit, but it's more limited by how many controllers will happily work together on your PC :P

(1 edit)

It might just be muted inside unity, there's a button above the game view for that. To test, you can hit the 'play' button on an audio cue, if unity editor is muted that won't play a sound. There is also music that plays in the template scene to test with.

Also in case you missed the step, did you hit the  'Process Text' button in the PowerQuest text manager?

(1 edit)

How do I change the camera size? I tried to change it on the camera, but when I hit play it has no effect.

  • Changing the orthographic size on the camera only effects the preview window. (Though you probably still want to do that too). 
  • To change it for the game: In Tools->Powerquest Project Settings, under Project Setup, set "Vertical Resolution". 
  • To override it for a specific room, you can select the room, and in it's inspector, under change the "Vertical Resolution".
  • If you want to scale your gui camera & canvas, you set the Gui Camera prefab's orthographic size. And also the canvas size within that.  There's a section in the pdf manual if you need more info.
(4 edits)

Why is my character (or room) all wobbly? It looks fine in the scene view, just not in-game.

Images you import need to have a resolution divisible by 2, so they can be centred on a pixel.

To fix it, make sure your image's height and width are both an EVEN number of pixels.

Cool, glad you found where to set  the player character. 

You should be able to use characters you've made with Character Creator 2d. Depends what level of integration you're after. You can definitely import the pngs that Character Creator exports, and then create your anims from those, (same as you would if you imported them from another art program). I'm not sure how they set up their prefabs/animations but it might be possible to get their exported animations working too.

How do I start a new empty project rather than using a template?

You don't need to! It's easier to change or delete what's there, once you've started adding your own content. That way you always have a working project.

  • To change the player character, click to the left of the character in the powerQuest editor, and drag it to the top of the list. 
  • To change the starting room, set your player's 'room' to your new room,  (or edit the title screen script to go to your own room instead of the forest one).
  • Then, to remove existing rooms, characters, inventory, and dialog trees from  your project, right click the item in the PowerQuest editor, and click 'Delete'.
  • Audio cues/clips can be deleted from the project window.

Note: This is now included as standard in the PowerQuest template projects! 

I just pushed another beta up, the change list is here: http://www.powerhoof.com/public/powerquestdocs/version_history.html

If this is fairly stable over the next week I'll take it out of beta status. Let me know if you encounter any issues.

Hey Charleei,

Not a dumb question at all! Starting with the demo game *is* the way to do it. Once you have your own character and room you can delete the demo ones. 

Make sure you delete them from the PowerQuest editor (select it from the list and click the '-' at the bottom of the list). If you just delete the files, it'll leave references to them in the system and code, which might be why you got errors. 

Let me know if you have any problems still.

Have you come back to the first planet now you have the open spell?

From the discord chat, looks like you sorted this out and it wasn't a PowerQuest issue yeah?

Awesome stuff! Great to see some community contributions :D

(2 edits)

Is there a way to scale the character down as he moves up on the screen? Or tint a character when they're in a certain spot?

  • Yep, first create a Region in the Room, and set the area (where the player will stand with their feet)
  • Then in it's "Data" in the inspector, set the Scale Top to the scale you want at the top of the region (eg: 0.5x) and Scale Bottom to what you want at the bottom (eg: 1.5x).  
  • In the same place can also set the Tint for the character when in that region (Set the amount of tint by changing the alpha of the color)

I have an invisible Dialog Tree/Character/etc!


This is a known issue, happens sometimes. Possibly unity bugged out or you deleted a prefab with-out using the powerquest interface.

To fix it, you need to:

1. Select the PowerQuest prefab (from Tools menu)

2. Change inspector to "Debug" mode

3. Scroll down to Character Prefabs/Dialog Tree Prefabs and remove the empty one, or drag in the correct prefab.

4. Then change the inspector back to Normal mode.

My room sprites don't show up

You might need to create animations for them. Right click on the sprite and click 'create anim from sprites'

I can't see my character in a room

First, cCheck you set the baseline for the background, it should be at the top of the screen, so the character is always in front of it.

If it's not the player character, check you set their "room" in their data, to the name of the room they should be in. (or in the room's  OnEnterRoom function, add C.MyCharacter.Show(); )

How does versioning work with PowerQuest? (Eg. Github, SVN)

It's the same as any unity project. So follow any tutorial you find on that subject. 

But basically, you just need the Assets, ProjectSettings, and Packages folders, ignore the rest. (same if you just want to back up your project)

Also in Project Settings, make sure Version Control mode is set to "Visible Meta Files" and Asset Serializeation is set to "Force Text"

 I’m curious how to approach animating a walkable area, i.e. what if you had a moving background or foreground that affected where the character could be walking?  Want to learn more about animation syncing as a well which I glanced at in another post

Proper dynamic object avoidance is on my to-do list (so characters walk around each other). But at the moment you can:

  • Add multiple "Regions"
  • Untick "enabled" on them.
  • Add some code in your room's Update function that turns on/off the "Walkable" property at appropriate times. When "Walkable" is false, the player will avoid the area.
  • You could use animation events if it's tied to an animation. Like create an event called SetRegion, with a string for the region name, then in the room add:
void AnimRegionOn(string regionName)
{
    R.Current.GetRegion(regionName).Walkable = false;
    //note you'd also probably want to set other regions to walk able here too maybe
}

Figured it how to adjust the menu sizes/position but wasn’t able to resize inventory items width? 

The 'Grid' object inside GuiInventory prefab has the "cell size". It's just using unity's gui implementation for that for now.

How would I flash the inventory menu after adding a new item?

This is a bit advanced to set up, but the GuiDropDownBar component has a "HighlightForTime()" function, that brings the bar down for however long you specify
To access that in quest script you can do :

G.Inventory.Instance.GetComponent<GuiDropDownBar>().HighlightForTime(2);

You could add a public function to global script to call when you want to do this.

If you want to make it flash, you'll have to do some more custom code in global script, or add your own component to the gui that does it. (maybe just sets visible on/off on a timer repeatedly)

Can I make it so the inventory item doesn't stay selected after using it on something?

You can use

I.Active = false;

at the end of each UseInv script, and UnhandledUseInv

To do it automatically is a bit trickier:

Something like this in the global script might do the trick:

in the header, add a variable:

bool m_invClick = false;

in OnMouseClick, add this under the comment: // Left click with active inventory, use the inventory item

m_invClick = true;

Then in UpdateBlocking

if ( m_invClick )
{
    I.Active = null;
    m_invClick = false;
}

When I change room text saying "The Quick Brown Fox.." shows up

This is a bug I should fix, but you can work around it by putting the code Consume at the end of the script (instead of End)

The reason it happens is because changing the room doesn't "block" the script, so the engine thinks the interaction didn't do anything. Then it brings up the "you cant use that" line which gets busted when the room changes. Consume will tell the engine that the script DID do something.

Can you give tips on best usage of WalkToClicked/FaceClicked shortcuts vs being more explicit.

Characters, hHotspots and props have a "WalkTo" and "Look At" point you can drag around in the scene view.

WalkToClicked just walks to the "WalkTo" point of whatever you clicked on. Then LookAtClicked faces the character towards it (relative to their pivot point which should be at their feet.). Mostly when you click something, that's the thing you want them to walk to, so that's why there's an explicit shortcut command for it.

(2 edits)

How do you show another dialog list when already in a dialog? Like when a character asks you a question, and you want the player to pick an option?

Edit: This topic is also covered in this video: 

There's 3 ways of doing this, depending how much you want to add in the editor, and how much in code.

The First is to simply make a second DialogTree, set it up, and start the second dialog when you want. using D.SecondDialog.Start();, or Goto(D.SecondDialog);. Then to switch back, D.FirstDialog.Start();, or GotoPrevious(); This is best for big long dialogs with lots of options.

The Second is shown in the demo game. If you select the dialog "ChatWithBarney", there are three Options that have "show" left unticked. These aren't visible until the player clicks Option 2, and asks about the forest.  

Inside that script you can see that all the regular Options are turned off, and the forest ones are turned On.

Dave: What's with this forest anyway?
Barney: Whaddaya mean?
OptionOff(1,2,3);
OptionOff("bye");
OptionOn("tree","leaf","forestdone");

Then, the "Enough about forests" option turns the regular options back on again. 

OptionOff("tree","leaf","forestdone");
OptionOn(1,2,3);
OptionOn("bye");

This is where OptionOffForever comes in handy, since sometimes you don't want options to come back on when you return to the first list of questions

The Third is a quick way of doing simple choices purely in-code, called "Inline Dialog Options".

This way, you don't have to add the options to the editor at all, and is best when it's a one off quick-prompt. 

Use the E.WaitForInlineDialog function to show a user the options, then check the result with E.InlineDialogResult (function documentation here). 

Eg.

Barney: You fight like a dairy farmer!
E.WaitForInlineDialog("How appropriate, you fight like a cow", "I am rubber, you are glue", "I'm shakin' I'm shakin'");
if ( E.InlineDialogResult == 0 )
{
 Dave: How appropriate, you fight like a cow
 LoseSwordFight();
}
else if ( E.InlineDialogResult == 2 )
{
  Dave: I'm shakin' I'm shakin'
  WinSwordFight();
}

How do make music/ambience loop?

There's a loop tickbox in the audio cue itself, tick that.

(2 edits)

This thread contains  questions and answers from the discord chat.

I'm copying them here to make it easier for others who might have the same questions. 

Just dropping in to say thanks, this is a beautiful evolution of bfxr. We've used it a heap on our games!

  • Click ground to walk, and objects/characters to interact.
  • Move your mouse to the top of screen to open your inventory, and later to change characters
  • Equip items by clicking them. 
  • Use an equipped item by clicking it on an object or character.
  • Right Click, or Click empty space to unequip the current item.

¡Gracias!

(7 edits)

Post any feature requests here!

I don't have an official "road map". I have a big ol' to-do list, but I tend to just add features/fixes as I need them.  

Main features I'm planning to get to one day (in no particular order):

  • Simple GUI system. I hate how complicated unity's is, so something where you can create buttons and things just like hotspots in a room, and they integrate nicely into your scripts. 
  • More interface templates - Lucasarts 9-verb style, Sierra style, and high res style games. Potentially from community contributions.
  • Template Load, Save, Options, Pause menus
  • Screenshots in save games
  • Better documentation, all in one place
  • Better support for custom verbs
  • Ongoing fixes for later versions of unity (as unity breaks things :P)
  • Auto-complete animation and sound cue names
  • Pathfinding improvements- path around moving characters, better toggling of walkable areas
  • Better support for multiple QuestScript windows (tabs)
  • Custom Polygon editor (since unity 2020 kinda broke the nice way of editing walkable areas)
  • Reordering hotspots/props, etc
  • Pinning feature for Rooms/Characters/etc (in leau of full "folder" support). For managing big projects
  • Text Mesh Pro support
  • Double click to teleport support
  • Some convenient Tweening/Easing functions
  • Character "Move" functionality, like props have (With easing too)
  • Better handling for "background" coroutines that restart when you restore game. (I'm already doing this for The Drifter)
  • Easy way to temporarily change player Idle + Talk, then reset it. (I'm already doing this for The Drifter)
  • Better support for "following" characters
  • Automatic clickable area polygon based on sprites
  • Setting to preserve pixel-art resolution when characters scale

If you need anything above (or anything else) be sure to let me know, I'm much more likely to get to something sooner if I know it'll get used!

Let me know any issues causing you grief.  I'm only testing this on my personal projects, and on certain unity versions, so there's always going to be plenty of issues I don't know about!

I'd love to see it :) Watched a great Kings Quest speedrun history the other day.

We made it with Jacob Janerka. If you liked this, check out Jacob's game Paradigm on steam, and our similar games on our main itch page

Thanks Mike! Means a lot to us to get comments likes this :)

(1 edit)

Ah, yeah, I found the problem, I'd stuffed up the logic (assumed if you look at the arm, you'd also talk to Marbury about it). I just patched it, but unfortunately you'd have to play again from the start to get out of the broken state :(

I knew it was your first game with PowerQuest, but not that it was your first ever. Great work! And glad the tool was able to help with your first game :D

(1 edit)

Hmm, it's possible.  Though I thought I fixed that bug way back. So you can't enter Marburys room anymore? You should get the crowbar when you look at the arm on his desk (from memory).

Glad to hear it Steven!

Hi!

The option's just moved into the main context menu (that Create menu gets more and more bloated with irrelevant stuff with every unity update :P)

You can also just create an empty animation and drag sprites in to the PowerSprite Animator timeline if you prefer.