Skip to main content

News

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.

Messages - Fat Cerberus

2881
Projects / Re: Spectacles: Bruce's Story
I just added some character descriptions to the OP.  I hate bumping threads like this, so for my future reference: Is merely editing a post enough to push the thread to the top, or is a manual bump required?
2882
Projects / Re: Spectacles: Bruce's Story
@NEO:
While CTB is technically just a glorified ATB system under the hood, I do feel it changes the overall gameplay experience dramatically.  It's my personal favorite of the FF battle systems, and I was quite disappointed when future games went back to the more active setup.
2883
Projects / Re: Spectacles: Bruce's Story
I'm going to try to post up some character descriptions later this evening so you guys can get a better idea of the game's story than my crappy plot summary above. Stay tuned!

Oh, and I added some info to the OP, so you might want to check it out again if you've already read it. :)
2884
Projects / Spectacles: Bruce's Story
The latest release was on April 29, 2014.
Screenshots are attached; see below.

Bruce's Story is the first installment of the three-part Spectacles Saga, a series of role-playing games following the exploits of Scott Starcross as he attempts to find and defeat the Primus, an exceedingly powerful magic user who threatens both worlds. According to a prophecy made years before the saga begins, Scott, the eleventh Littermate, is the only person capable of stopping the Primus with the aid of the Spectacles, a legendary pair of eyeglasses granting their wearer magical protection--ostensibly making Scott the chosen one. But all may not be as it seems...

So the plot for this is essentially finished, along with about 50% of the dialogue.  Programming-wise, however, it's still just a battle engine, which is quite far along.

Spectacles: Bruce's Story on GitHub:
https://github.com/powercommand/spectacles-i

Current Release - 2014-04-29 - "Hollow Mind" Battle and AI demo:
https://drive.google.com/file/d/0BxPKLRqQOUSNbXBfbFprMVVOMm8/edit?usp=sharing
(after opening the above link, click File->Download to get the archive.)

Technical Details:

  • Resolution - 320x240

  • Battle System - Count Time Battle (like FFX)



Characters:

  • Scott Starcross - The protagonist of Bruce's Story, Scott is apparently the eleventh of the Littermates, a group of 11 children with a common father, so named due to their father's initial relunctance to give them names. One uncharacteristically windy night, Scott's best friend Robert Spellbinder goes missing and Scott wanders into the woods while looking for him, landing him in the dream world of Lucida, which is ruled by creatures known as nightmares.  Scott soon learns of a prophecy that names him as the one chosen to defeat the Primus--whose identity turns out to be none other than Robert Spellbinder (that was already a bit of a spoiler, so I'll avoid saying any more plot-related about Scott :)). Scott is naive to a fault, often nearly to the point of being willfully ignorant. He is also very, very forgiving, able to ignore some very large transgressions in favor of looking to the future. Scott wields a sword in battle.

  • Bruce Arsen - Once one of Scott's closest friends, but ironically one who Scott inherently distrusts. Bruce has been trying to convince Scott for a long time that Robert is untrustworthy, but to no avail. His tenacity in this has caused Scott to push him away further and further, having nearly reached the breaking point by the time Bruce's Story gets underway. Bruce appears to be narrating (hence the title), but exactly from what vantage point this narration comes remains a mystery.  In battle, Bruce wields a gun, initially a rifle passed down from his father but later on gains use of handguns.

  • maggie - No, this is not a typo, maggie's name really is spelled in lowercase. Belonging to a rare class of nightmares, hunger-pigs, born of dreamers' primal fears of being eaten, maggie is the former leader the neo-Hippos, a gang of hunger-pigs whose sole purpose for existing is to put prospective members through a rigged initiation process in which the condition for membership is to be devoured by an established Hippo.  maggie has since denounced her role in the group, and upon meeting up with Scott in Lexington Manor, joins his group.  In battle, maggie can devour her opponents (including most bosses!), often gaining the use of her quarry's skills in the process.

  • Elysia Ilapse - Daughter of Justin Ilapse, the creator the Spectacles. Elysia gives Scott the glasses shortly after meeting him, in the name of fulfilling the prophecy. Scott meets her while she is on the run from the neo-Hippos, who have been terrorizing her for years. Why they targeted her (and her father) specifically remains an open question. Elysia wields a bow and arrows in battle.

  • Robert Spellbinder - Son of Victor Spellbinder. Robert was Scott's best friend, but disappeared into the woods right before the beginning of the saga. Finding out why he disappeared so suddenly is a major driving force in the first leg of Bruce's Story (especially for Bruce), but events soon take a more sinister turn, conspiring to make Robert into the antagonist.  Hint: Refer to the spoiler in Scott's description above.

2885
Libraries / Re: [Script] LinkedList
The Sphere editor doesn't highlight it for some reason. I was wary of it at first for the same reason, until I researched JS and found out it was a standard part of the language. Then I just felt dumb. :)
2886
Engine Development / Re: TurboSphere
Yeah, we kind of hijacked the thread a bit there didn't we? Getting back on topic, any idea when TurboSphere will be at 1.5 levels of functionality? The current 1.x engine is pretty much a 10-year-old codebase, so it's be nice to use something a bit more modern :)
2887
Engine Development / Re: TurboSphere

Well, someone has seen Wreck-it Ralph. :P


Haha, indeed, and that movie was awesome. Every gamer owes it to themselves to see it at least once, if only for the nostalgia factor alone. The filmmakers really did their homework there. The fact that the story is great is just icing on the cake (no pun intended, I swear! :) )
2888
Libraries / Re: [Script] Scenario 2.1.1
Oh, I assumed you already knew how.  I'm personally not at all familiar with git, but according to them, all gists are full git repositories, so I'd assume you could just commit to it somehow.  I don't know, either that or just tell me exactly what changes you made and I'll integrate them into Scenario 3.0...  :)
2889
Libraries / Re: [Script] Scenario 2.1.1
Was the SpiderMonkey-specific trick my use of the "getter" syntax for the framerate property?  If so that was probably a wise move what with TurboSphere now using V8, and I believe that syntax is deprecated in newer versions of SpiderMonkey anyway.  I really wish JS had an elegant method of defining properties outside of an object literal...

Anyway, feel free to merge it, yeah.  I'm actually in the process of cleaning up Scenario's codebase right now, making the code easier to read.  Right now it's a bit of a mess as I did some odd stuff (not putting spaces between function arguments, etc.)
2890
Feature suggestion: Ability to change the font for the script editor.  Right now it appears to be hard-coded to use 10-point Courier New, which is murder on the eyes on a 1920x1080 17" laptop display.  I tend to prefer 11- or 12-point Consolas on this screen, but unlike the official editor, Sphere Studio doesn't appear to allow changing it.  I'd also like the ability to change the tab size.  The default tab stop of 2 is far too small.
2891
Libraries / Re: [Script] Scenario 2.1.1
Haha, thanks Radnen, I had no idea about the gist tag.  I was wondering why you guys wanted me to use Gist for this... now I know. :)
2892
Scenario is a cutscene engine for Sphere which allows you to coordinate complex cutscenes and other actions (such as animations) using multiple timelines and cooperative multithreading.

The current version is Scenario 3.8.1, released on March 14, 2015.

Get the script:


Changelog:
v3.8.1
  • Added support for minisphere's IsSkippedFrame.
v3.8
  • Refactored entire codebase and added documentation comments for all methods and scenelets.
  • Fixed bugs when forking inside of a doWhile loop where instructions inside the loop could overwrite each others' state.
  • Changed doWhile and doIf to take a function (lambda) as argument. The function will be called at scene time and should return true or false to determine how to proceed.
  • Removed scenelets doUntil and set.
v3.7.3
  • Hotfix for broken doIf and doUntil scenelets.
v3.7.2
  • Hotfix release to fix call scenelet regression in 3.7.
v3.7.1
  • Hotfix release to restore fork functionality which was completely broken in 3.7.
v3.7:
  • BREAKING CHANGE - Removed 'state' argument from all scenelet functions; scenelets should store state data using 'this' instead. Any custom scenelets will have to be rewritten.
  • New optional finish handler for scenelets, called immediately after the scenelet stops running (i.e. when its update function returns false).
  • Support for variables: Use set to set a variable; increment or decement to add or subtract 1 from its value, respectively. Variables can be accessed in scenelet code via scene.variables['var_name']
  • New control-flow commands: doIf, doWhile, doUntildoIf executes a block of commands only if a specified condition is met, the other two are similar but execute the same block repeatedly (loop) while or until the condition is met, respectively.
v3.6:
  • Renamed beginFork and endFork to fork and end, respectively.
  • New scene looping feature: Pass 'true' to the Scenario() constructor for an endlessly looping scene. This is useful for running looping animations in the background. Call Scenario.stop() if you need to break the loop.
  • New optional waitUntilDone argument for run() that mimics the old blocking behavior. Helpful for cutscenes.
  • Color mask for the fadeTo command is now shared by all scenes and persists after a scene ends. Don't forget to fade back in or the player won't be able to see anything!
  • Screen fades and camera manipulations are no longer reverted automatically at the end of a scene. This must now be done manually.
  • Running a scene no longer clears its command queue.  This lets you run the same scene more than once. Great for caching animation commands!
v3.5.4:
  • Sphere map engine is no longer required to be running to execute a scenario.
v3.5.3:
  • Running a scenario no longer detaches input automatically. If this is needed, you must detach and reattach the input yourself.
v3.5.2:
  • Added new commands marquee and tween. The latter is great for coordinating complex UI animations.
v3.5.1:
  • Removed unusable marquee command.
v3.5:
  • User is required to call Scenario.initialize before using the engine.
  • Calls to Scenario.update and Scenario.render must be added to the update and render scripts, respectively.
  • run() now returns immediately instead of running its own update loop. If your game relied on the old blocking behavior, you'll have to modify it.
  • New method: scene.isRunning checks whether the scene is still executing and returns true if it is, false if not.
v3.1:
  • Built-in commands now use seconds instead of milliseconds for duration.
  • Renamed 1 identifier:
    • checkInput -> getInput
  • Added support for cascaded command calls. This is the preferred method for scene composition now; examples updated accordingly.
  • Completed refactoring started in 3.0.
v3.0:
  • Major refactoring to make the codebase more readable and less bug-prone.
  • Renamed 4 identifiers:
    • defineAction -> defineCommand
    • walkPerson -> movePerson
    • execute -> run
    • handleInput -> checkInput

How to use Scenario:
First things first: The Sphere map engine must be running in order for Scenario to work. Then when you need a cutscene, you write something like this:
Code: (javascript) [Select]
DetachInput();
new Scenario()
    .marquee("Chapter 13: Some Random Girl Blows Up")
    .movePerson("Katelyn", "north", 100, 2, true)
    .pause(2.0)  // 2-second delay
    .killPerson("Katelyn")
    .playSound("BigExplosion.wav")
    .run(true);  // true to wait until scene finished, false to run in background
AttachInput("hero");

The real power of Scenario, however, lies in its forking feature, which enables multiple simultaneous timelines. For example, you can have the background music (or the screen!) fade in while other actions take place at the same time. As in this example:
Code: (javascript) [Select]
DetachInput();
new Scenario()
    .fork()  // fork the timeline
        // we're fading in, so we specify a transparent color (alpha=0) to fade to
        .fadeTo(CreateColor(0, 0, 0, 0), 5.0)  // fade in over 5 seconds
    .end()  // end the fork block
    .marquee("Chapter 13: Some Random Girl Blows Up")
    .movePerson("Katelyn", "north", 100, 2, true)
    .synchronize()  // pause until all forks are finished - we want to make sure the fade-in has finished before she blows up!
    .killPerson("Katelyn")
    .playSound("BigExplosion.wav")
    .run(true);
AttachInput("hero");

Starting with version 3.7, Scenario also includes support for conditional execution and looping.
Code: (javascript) [Select]
// The following scene flashes the screen to white and back twice:
var flashes = 0;
new Scenario()
    .doWhile(function() { return flashes++ < 2; })  // 2 iterations
        .fadeTo(CreateColor(255, 255, 255, 255), 0.25)
        .fadeTo(CreateColor(0, 0, 0, 0), 0.25)
    .end()
    .run();
2893
Spherical News / Re: Welcome Back!!!
Im using my iPhone at work right now, but later when I get home I'll pull out my laptop and put up the latest version of Scenario.  I don't remember if I've made any breaking changes since the last update, but probably.

Sorry I unceremoniously disappeared before, I'll try to stick around this time! :)
2894
Engine Development / Re: TurboSphere
So I'm curious, is TurboSphere's ultimate goal to be a drop-in replacement for the current 1.x engine? That's the vibe I'm getting, but I want to make sure.

Oh, and I also have to ask: It won't go Turbo and deliberately introduce game-breaking glitches into my game out of jealousy, will it?
2895
Spherical News / Re: Welcome Back!!!
Hey guys, this is Bruce, the guy that did Scenario. :-)  It's good to see Spherical is getting a fresh start!