Jun
7

In this thread I'll list a log of fixes and improvements over the site and the game engine.

18 comments

Marco's picture

Hotkeys, blank actions, cube panning

Added a hotkey for the cellphone, either space or the letter "c". It only works when the game is in focus, you may have to click on the viewport first...

Fixed the bug that added blank actions whenever you cloned scenes. Weird.

Made it so that panning freezes whenever the cube is on, so you can choose the dialog options without zooming left and right like a drunk driver :)

I plan to live forever. So far, so good!

Marco's picture

Image Previews

Thanks to a good idea by Phantasm (btw, the cube panning and cellphone hotkey in my comment above was an idea by someone from /x/), now game editors can optionally add an image to represent their game, and if they do, that image shows up everywhere in the site where their game does. Just an aesthetical thing, but its nice :)

Keep the feedback comin'!

I plan to live forever. So far, so good!

Boxsmith's picture

I'm the guy that suggested

I'm the guy that suggested the hotkey and cube changes. Finally decided to join up. :)

EDIT: Oh man, my avatar looks tiny. A facebook-esque cropping feature might be nice if you're going to make the thumbnails this small. Or you could just make them larger (the cropping thing would probably be a bad use of your time).

Marco's picture

Very welcome!

Hey, welcome man! :) 

About 30 people or so joined up, but I think we don't have any regulars save for three guys (that's hopefully including you) :) And that's okay. I've made a sort of Zen peace with that, for now. My new plans are to build a kickass game, then use -that- to draw people here. I have never done any publicity other than the one time when I posted in /x/, so I shouldn't expect much either :) 

Today I'm working on said kickass game, hehehe :)

Oh, regarding avatars, they do look a lot bigger on your profile page, although yeah, maybe're they're -too- tiny in regular spaces. I'll look into it :) 

I plan to live forever. So far, so good!

Marco's picture

Better sound control, and XML preview

A couple new features added today:

  • Sound events now will have a volume that matches not just what the game author intended, but also what the player actually wants, via the volume control thingy that handles the music.
  • Game authors can now preview their XML for manual backup purposes without saving it.
  • A really cool wikipedia style diff allows game authors to see changes between revisions of their game. Just click on revisions, then chose any two versions, then click on Diff. 
    • ToDo: make it so that authors can only see their -own- revisions, not everyone else's!

I plan to live forever. So far, so good!

Marco's picture

Save games, a bug fix, and random keys

Three things in today's update:

  • It is now possible as a player to save your progress. Its a little primitive: the game just gives you an encrypted string and you're supposed to copy paste that, but the alternative was to force all players to make an account. That might have been savvy from a marketing standpoint, but as a gamer, it would just feel .. I dont know what's the word... scummy? Whatever icky I felt when I realized GTAIV forced me to register with fucking windows Live to save my game. I dont want to go that road. The only ones who need to register here are game authors, players, I say, should not be forced to.
  • A bug fix: before, if you clicked on any action like mad (for instance when trying to catch Todd's orbs in "The Warehouse Ghost" game) sometimes you'd initiate an action before the game had had a chance to process the previous one, and the whole thing would freeze. Now, the game ignores repeated clicks until it itself decides it's done and ready to handle more. It fixed the Todd issue!
  • Random keys. Or "dice". If you make a key and name it dice_3, then the player has a 1 in 3 chance to have that key. I'll write better documentation soon, but basically with this element of randomness, the game becomes potentially way more open to variation and game-play. Less linear. 
I'll post in detail in the wiki soon :)

I plan to live forever. So far, so good!

Marco's picture

Minor fixes to sound, tooltip text

Well, it turns out I introduced a bug in my previous update that link the volume of event sounds to the volume of the background music controller. The bug is: what if there's no background music? That meant no volume, that meant no sounds. I've fixed that.

Also, some items that were turned off used to give a "undefined" tool tip text when you hovered over them, minor annoyance but its fixed now, too.

I plan to live forever. So far, so good!

Marco's picture

Fixes to Progress Percent, Scene Intro Text

Two very small updates today:

  • The Progress Percent in the savegames was shrinking whenever you switched to a new scene. I've fixed that, but old savegames may have to be re-saved this time.
  • The text for Scene Intros now will only play once, the first time you enter a scene, and never again. Now you can walk in and out of a room as many times as you wish without getting the text intro every time.
ToDo:
  • I want to make it so that animated swf items begin playing the instant they turn on, instead of being just in an eternal loop. 
  • I'll also make it so that some items follow your mouse, much like the cellphone does. It's gonna be hard as hell, but I'll do it, hehehe :)

I plan to live forever. So far, so good!

Boxsmith's picture

>I'll also make it so that

>I'll also make it so that some items follow your mouse, much like the
cellphone does. It's gonna be hard as hell, but I'll do it, hehehe :)

Kick-ass. :D

If it's possible, some way to control how quickly it moves with the mouse as well as its maximum/minimum rotation would be sweet.

Marco's picture

Getting there! Updates for today:

We're getting there man! 

Okay, two updates today:

 

  • SWF items with animation no longer loop forever (unless you want them to!). The change is this: SWF animations load and stop in their first frame. Then, whenever they are turned on in the actual location, they start to play. 
    • It used to be that animations were always playing in a loop, not anymore. Now everytime the animation is turned on, it plays. This allows for multi-stage animations. 
    • I guess the best way to explain it is with an example. You'll notice I updated The Warehouse Ghost. Go ahead and check it out. Remember the journal? It used to be that the journal was just one huge png that blinked in and out of existance everytime you toggled its icon in the GUI. Now, you'll see the journal smoothly slide up, then when you toggle it off, it smoothly slides back down again. Its still just one SWF file, but its built as follows:
    • See how it has two stops in the actionscript, one at frame 30 and another at frame 60? What that does is this: when it loads the first time, it stops at frame 1. Then the player clicks in the gui icon, and it plays the journal coming up until it comes to the first stop at frame 30. It stays up, until the player clicks the gui icon again, and so it resumes playback from where it left off (frame 30) until it stops againt at frame 60, with the journal back down. If the player clicks on it again, it loops back to frame 1 and plays all over again. That's it, that's all there is to it.
    • But the potential for graphical polishment is enourmous. For instance, you could have a first-person gun (like in this beautiful proof of concept: The Shooting Range)  that has an actual animation of firing. All you have to do is make the animation start at frame 1, then stop at frame 30 or so. That's it. Everytime the item is invoked, it fires again.
    • Or, if you really want to take it to the next level, you could have an swf of a ghost which wanders around the screen, and when you shoot him, he has an animation where he falls to pieces. How do we do that? Easy:
      • Create a movie clip symbol and put it in the main timeline in frame 2.
      • Go inside the symbol and create the ghost, and have him move around the screen in circles or whatever, make it some 60 frames.
      • Go back to the main timeline and put a "stop();" command in frame 2. At this point your movie's main timeline just has two frames in it, but the ghost's symbol's timeline in the second frame has 60 frames of its own. If you play the whole thing, it'll stop at frame 2, and you'll see the ghost is moving around in circles. Cool.
      • Now for the death animation: go to frame 3 (maybe in a different layer also, if you want to be extra clean) and put there another symbol. Then also put another "stop();" on frame 3.
      • Go inside the symbol you just made in frame 3, and make some 60 frames of the ghost dying (exploding, falling to pieces, whatever). Make sure that by frame 60, there's nothing left of the ghost, he's gone. Then put a "stop();" in frame 60.
      • You're almost done! Publish your swf anywhere in the interwebz and its time to test it:
      • Go to the scavenger engine, and load your ghost as ghost_target.
      • Make a "Fire!" action on [[ghost_target]] that unlocks whenever your gun is out, and that results in an output of a "ghostDEAD" key, (it locks itself with that same key also), a [[bangsound]] and [[ghost_target]] (yup, again, in the output! We have ghost_target twice, once in the caption right next to "Fire!" and then again in the output when the player executes that action).
      • What will happen is this:
        • The gun is out, so ghost_target activates. The engine presses "play" on the ghost animation, so it moves from frame 1 to frame 2. Frame 2 is the ghost looping around in circles all over the screen. Cool.
        • Then you click on the ghost (the "Fire!") action. It executes, and locks itself out. So the ghost you "Fire!" upon is gone, BUT, it comes right back the same instant because we placed [[ghost_target]] in the output! So what the engine does is press "play" again, which moves the animation to frame 3 -where as you remember- we have the ghost's dying animation. So the bastard explodes or falls to pieces or whatever! Booyah!
        • If you want to start all over again, just bring up [[ghost_target]] again, the engine presses "play" on it, and since there's nothing else after frame 3, it just loops back to the beginning with the ghost circling around the screen.
        • Now, if you followed this through, you have noticed a very minor glitch: the ghost's death animation always happens in the same spot in the screen, regardless of where you actually shoot the ghost. This has a fix, but we're starting to get into actionscript kung fu now :) If anyone wants to hear the solution to this, just say the word and I'll post it. In any case, I will soon build all this and offer the downloadable fla. 
        • Oh, and btw, here's the fla for the animated journal: diary1.fla
  • Aaand the other update is: if you name any item starting with "mouse_" (as in "mouse_whatever") then that item will follow your mouse around the screen, exactly like the cellphone does :)
    • This is kind of experimental still, but it seems to work! Report any bugs if you find them, and feel free to combine with all of the above to make a kickass shooting game :) (a gun that follows the mouse, animates when it fires, and kills ghosts that are moving around, and explode when you kill them :) ) I'll do it as soon as I have a free hour or so, the hardest part is making the animations!

 

I plan to live forever. So far, so good!

Boxsmith's picture

Awesome! Bonus points if you

Awesome! Bonus points if you get an animation of yourself swinging a metal pipe, haha. :)

Marco's picture

Lol, thats the hardest part

Actually, a lead pipe may be easier to find than a gun. I spent all evening rifling through the toys of my kids, and I couldnt find a single gun. Good, I guess, no violence in the house :) Maybe tomorrow I'll pick up something in Toys R Us :) 

Still, making the animation is going to be hard as bawls (at least for me it will; I'm a programmer, not an animator!) , but we'll see what I can do :)

I plan to live forever. So far, so good!

Marco's picture

Fun with household items

Did any of you guys see Nightwatch? One thing I loved about it and I had previously thought for the shadowside, was that everyday items gain special properties due to the whole Belief Creates Reality thing.

So, instead of an actual gun, I figured scavengers can improvise and give paranormal capacities to regular household items. Hence, the scavenger gun.

Feel free to load it as an item in your games with the URL "gun.swf", and to make it fire, simply invoke it (I suggest: invoke it in the Action's output). If you name this item starting with "mouse_", then it will follow the mouse like the cellphone does, which is neat. 

I did some tests offline and it works guudd.

I also took photos for a stabby knife, I may add that tomorrow.

Greetz!

P.S. I added it to the Assets wiki page, too.

 

I plan to live forever. So far, so good!

Marco's picture

Animation control

Well, the Gun Test works.

That's the good news I guess.

The .. concerned news, is that its incredibly hard with multi-stage animation (such as the ghost) to get things in-synch in the editor. I need to add a "play" button for animations and sounds in the items table.

I also made it so that whenever an animation item is brought up on screen because its an Action to click on, it stays looped in frame 1, but if its brought up because it was on the output (or intro) of an action, then it does play beyond frame 1. Why? To give game authors control on when to trigger an animation.

For example, for the Gun Test, I needed to bring up the ghost even before the player has drawn out the gun. And then, when the player does draw out the gun, I needed to bring up the ghost again, this time to kill him. If animations played whenever they become available to click on, then the first time the ghost shows up it would be fine, but when you draw out the gun the animation would have "played" to the next stage, which happens to be death. 

Instead, this way, with play happening only when an animation is invoked from Actions Output or Intro, I can make it so the ghost "dies" simply by calling its item from the Output of the "Fire!" action.

Wow, it's late, I don't know how much sense I'm making. I'll confess that finely controlling imported animations was something not precisely planned-for, but I want to do it because the potential is limitless. 

Anyway, I'll update the Assets page soon.

Oh, and one more thing: I made it so that the only way to execute actions is when the editor is turned off, cuz it was annoying to try to place an item elsewhere in the location and keep executing it instead.

Man, I need sleep :)

I plan to live forever. So far, so good!

Marco's picture

Text on location, play button

Well, I did add a "play" button to the items table, it works as you'd expect.

I also had to fix The Warehouse Ghost, because since I made it so that animations only play when invoked from Output (and not just from being clickable options) then the ghost of Jane (clickable) and Todd's orbs (clickable) were not animating anymore. I fixed it by simply invoking them from the intros of each action. 

The biggest change you guys will notice is that text now loads on the location itself, and eventually fades away on its own. Its almost like subtitles. I like it for two reasons: one is that your eyes don't have to wander left and right anymore, you can just focus on the action at hand. The other, is that it makes the whole gui more slender, and gives emphasis to the location window. 

I also see one con: when you combine the cube, with a timer, with the cellphone, with loads of text on top, etc... it may become a little crowded. 

Anyway, we'll see how it goes. Here's a screencap:

The suggestion came from The Lucid X Project, a group by /x/philes who want to make their own videogame, and I feel this engine would be a perfect fit for them.

So, them's the updates!

I know I promised a video today explaining the Gun Test, but I'm beat :/ As soon as I have some energy, its in my ToDo :)

I plan to live forever. So far, so good!

Marco's picture

Wiiiiiidescreen!

Major thanks to biogenesis for pushing me to do something I thought was impossible, and turned out to be possible!

This:

Another important change that comes with it, is that now we're no longer restricted to images 999 wide by 666 tall; now we can use images of any damn size we want :) 

I'm happy about it :)

On other news, I noticed the goddamn progress percent still is buggy in most games, I'll fix it, but the savegames should work fine nonetheless.

If anyone finds anything broken (or anything that even seems broken) please post about it in the bugs thread, I'll jump on it like flies on shit.

I plan to live forever. So far, so good!

Marco's picture

Updated help file

If your browser's cache gives you trouble (as it did mine) you can manually refresh the file at http://www.scav3ng3r.com/game/help.txt

Its the file that has all the info that displays whenever you click in labels inside the editor.

Nighty-night!

I plan to live forever. So far, so good!

Marco's picture

Cursor and Complex Embedded SWF Control

Well, feedback from Lucid X convinced me to make it so that all interactive elements in a location now turn the mouse pointer into a "hand" when hovered. 

Realizing that this would kill the challenge of any game related with finding a hidden area to click in the screen, there is now a fourth kind of items: those that begin with the word "hidden_". So, if your item is named "hidden_whatever", it will still click when clicked upon, but the mouse pointer will no longer give you a clue about it :)

Another breakthrough that is simple, but has huuuge implications: now you can finely tune exactly how does an embedded swf item interact with the engine.

For instance, lets say that you want a keypad in your game. You want the players to click a sequence of 4 numbers, and if they get it right, that will unlock the safe or something. Before, you would have to make each number an item with its associated action, and deal with a LOT of keys. 

Now, you can just make the whole thing in flash. Kinda like a minigame, if you will. All you have to do to make it interact with Scavenger, is add "hijack=1" in the first frame (that will make the engine cede control to your embedded item over all things mouse over and mouse click) and then in the end, when you're done going through whatever motions (in our example, when the player has finally entered the right key) you simply call "executeAction()", and that's it, Scavenger takes over again, gives out whatever Keys, runs whatever Output, etc. 

Of course, this is optional. Vanilla items can continue being simply clicked on to active.

Note: hijacking all mouse functions disables the drag and drop functionality in the editor, as well as the tooltip text (thats onRollOver). I figured its an acceptable trade of, since you can always use the "place" button, and you can code your own rollovers. But if there's a better solution to find in the future, I'll find it :)

I'll try to make an example video tonight :)

I plan to live forever. So far, so good!

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.