Skip to main content

News

Topic: Spectacles: Bruce's Story (Read 36216 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
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.

  • Last Edit: April 29, 2014, 11:16:05 am by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #1
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. :)
  • Last Edit: April 10, 2013, 02:18:56 pm by Lord English
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Spectacles: Bruce's Story
Reply #2
A map tile size of 64 would be hard to pull off. One it's hard to find resources for that size, two it's harder to draw (well by pixel art). But if you are going for a more HD style, then you just need someone who knows photoshop well enough.

I've never played FFX, so I'm curious to see how your game will play. :)

Looking good, I'm also curious to see Scenario in action. I've been using my own version of it for Blockman, and I think it's a great tool for game construction, right up there with 'persist.js'.
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: Spectacles: Bruce's Story
Reply #3
@Radnen re FFX CTB - it's basically your FF-standard ATB, but it pre-calculates upcoming turns, actually shows the queue to you on the HUD, AND updates on the fly when an action is taken (eg, casting Haste will move the hastened character ahead in the queue and possibly add more turns). I consider it FF ATB v3.0 and my old battle system tutorial (the 10xLois vs. Stewie one) attempted to show the basic theory behind it. :D

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #4
@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.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #5
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?
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Spectacles: Bruce's Story
Reply #6

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?


No, it won't bump the post. I just tested this. :)
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #7

A map tile size of 64 would be hard to pull off. One it's hard to find resources for that size, two it's harder to draw (well by pixel art). But if you are going for a more HD style, then you just need someone who knows photoshop well enough.


Hm, I guess you're right.  I suppose I got a little ambitious there shooting for 720p for a 2D RPG.  I mean, it would definitely look awesome, but the high-resolution graphics might seem out of place considering I'm shooting for an overall retro feel for the game itself (think SNES-era RPGs).  And Sphere renders in software I believe; 1280x720 would likely cause lag on anything slower than an i3 anyway.   So yeah, this would probably work better if I use the standard 320x240 resolution (fullscreen would be an issue though since no graphics hardware supports that res anymore and Sphere itself is too outdated to know how to accommodate).  Heck, I could even go really old-school and do 320x200 (mode 13!)

I don't know, any suggestions?
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Spectacles: Bruce's Story
Reply #8

So yeah, this would probably work better if I use the standard 320x240 resolution (fullscreen would be an issue though since no graphics hardware supports that res anymore


Well, that's why the 2x scaling modes were invented. ;) I make games in 320*240 all the time. And if you want some extra space, 400*300 is not too bad either (2x it's 800*600, a standard res).
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #9
I made a repo for Spectacles on GitHub if anyone wants to check it out:
https://github.com/powercommand/spectacles-i

You can run it, but right now it's little more than a tech demo for the textbox system and Scenario, and it doesn't even really leverage the full power of the latter yet.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #10
So I've been working on this at a pretty steady pace. If you look at my commit history a lot of it is just big fixes and tweaks, but I've also perfected the textbox system, and implemented menu strips, which will be used all over the place in the game. I plan to release a proper tech demo at some point, but that requires implementing the battle system, something I've been putting off for far too long.

Speaking of the menu strips, anyone want to check the code out of the spectacles-i repo and let me know what you think of those (and the textboxes as well, while you're at it)?  I'm rather proud of my minimalist UI design, but I was curious what everyone else thought.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • N E O
  • [*][*][*][*][*]
  • Administrator
  • Senior Administrator
Re: Spectacles: Bruce's Story
Reply #11
I'll look at it myself soon. One thing that always hung me up about using Scenario in NShoot was I couldn't get proper sync between a cutscene and a running map engine where control is still attached. I keep thinking I screwed something up in the reimplementation.

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #12
If I'm being honest, I originally designed Scenario under the assumption that the player will never have control of the map engine during a cutscene, but in practice I don't see why it shouldn't work.  The only thing I can think of is some sort of weird race condition with map updates.  I don't know exactly what you did when you incorporated Scenario into NShoot, but I do know the official version runs its own update loop, including calls to RenderMap() and UpdateMapEngine().  Depending on what your setup is, it's possible the map engine is getting updated twice in a frame, which would of course knock Scenario out of sync since scenelets still only get one update per frame.
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub

  • Radnen
  • [*][*][*][*][*]
  • Senior Staff
  • Wise Warrior
Re: Spectacles: Bruce's Story
Reply #13
but I do know the official version runs its own update loop, including calls to RenderMap() and UpdateMapEngine().


Ahh, that's why I re-implemented your Scenario cutscene engine, I  wanted to directly use the update and render scripts via SetUpdate/RenderScript() with Scenario. I did not like the idea of forcefully calling those methods, and I wanted to say, overlay it on top of other systems that already make use of the map engine. The rationale was that it was supposed to be a cutscene manager, rather than a map engine wrapper, and I think that's what you really wanted with your Scenario - a map engine wrapper.
If you use code to help you code you can use less code to code. Also, I have approximate knowledge of many things.

Sphere-sfml here
Sphere Studio editor here

  • Fat Cerberus
  • [*][*][*][*][*]
  • Global Moderator
  • Sphere Developer
Re: Spectacles: Bruce's Story
Reply #14

The rationale was that it was supposed to be a cutscene manager, rather than a map engine wrapper, and I think that's what you really wanted with your Scenario - a map engine wrapper.

I'm not sure I follow you here. Scenario as written right now is basically useless outside of cutscenes, it hardly qualifies as a map engine wrapper.  "Wrapper" to me implies a library whose sole reason for existing is to repackage existing functionality with a different interface--which isn't what Scenario is meant to be at all.  It can be used that way, sure, but that isn't what it's designed for (I wouldn't have gone to all the trouble to implement fork & synchronize if that were the case!).  The only reason Scenario takes over the map engine update/render calls is because... hm, now I don't remember why I did it that way, actually!  My first instinct is it had something to with allowing it to just be dropped into any existing project and used right away regardless of that project's existing custom update/render scripts, but I feel like there must have been a more concrete reason than that...
neoSphere 5.9.2 - neoSphere engine - Cell compiler - SSj debugger
forum thread | on GitHub