Adventures in Game Development Chapter 21 [Elysian Shadows]

This forum is for the posting of new newsposts, and it stores the site's news and comments archives. Only newsposters have access to post new news in here; if you wish to submit news, please post it in the discussion section for your particular topic. We may choose to move it here as a newspost if we find that it's worthy for the front page.
Post Reply
User avatar
GyroVorbis
Elysian Shadows Developer
Elysian Shadows Developer
Posts: 1874
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Mon Mar 22, 2004 4:55 pm
Location: #%^&*!!!11one Super Sonic
Has thanked: 80 times
Been thanked: 61 times
Contact:

Adventures in Game Development Chapter 21 [Elysian Shadows]

Post by GyroVorbis »

Team Elysian Shadows has just released Adventures in Game Development Chapter 21, a feature-length look at the inside development of Elysian Shadows, a top-down Chrono Trigger-influenced indie RPG for Dreamcast as well as various other platforms.

The video spans almost an hour and a half, and looks at development from the perspectives of the artists, musicians, and software developers. A dynamic lighting engine, 3D audio engine, several pathfinding algorithms, various tilesheets, and two background music tracks are created and demonstrated within the video, complete with the trademarked antics and dysfunction that made the series so appealing to their Youtube audience.

While the Dreamcast build is not actually demonstrated in the video (we broke a few things adding the lighting and shaders), it is mentioned many times. The team jokes about having an optional boss that corrupts your VMU's non ES save files until you beat him, and forcing the player to manually invoke Lua's garbage collector by pushing the R-Trigger to clean up after Tyler's scripts.

Please note that this game is cross-platform at its core, originally came into existence as a Dreamcast-exclusive, and will always be a Dreamcast game in my own heart. We're looking forward to continuing support for our favorite little white box.

dandymcgee
DCEmu Newbie
DCEmu Newbie
Posts: 1
Joined: Mon Jan 13, 2014 11:49 am
Has thanked: 0
Been thanked: 0

Re: Adventures in Game Development Chapter 21 [Elysian Shado

Post by dandymcgee »

Wooowwww! That is seriously awesome GyroVorbis! I love the AiGD videos, but what you've done with lighting and audio is insane.

Have you considered porting this to HTML5? All of the latest web browsers support it, and I'd love to be able to play it at work without installing anything. I kid, I kid. :wink:
User avatar
TheRedFox
Insane DCEmu
Insane DCEmu
Posts: 152
Joined: Tue Aug 05, 2008 1:57 pm
Has thanked: 0
Been thanked: 0

Re: Adventures in Game Development Chapter 21 [Elysian Shado

Post by TheRedFox »

Hurray! Progress!
Keep up the good work, Gyro and co.
Actually haven't gotten a chance to watch the whole video yet, but am excited all the same!
Wyrd bi∂ ful aræd
Ayla
DC Developer
DC Developer
Posts: 142
Joined: Thu Apr 03, 2008 7:01 am
Has thanked: 0
Been thanked: 4 times
Contact:

Elysian Shadows Christmas Update 2

Post by Ayla »

So I watched the whole video. It's good to see progress, but I wonder how stuff will work on the Dreamcast, provided you are already using shaders and 3D sound, as well as expensive pathfinding and lots of LUA. Also, as far as I can see the music is tracked; it would eat much less CPU time to playback tracked music on the Dreamcast instead of OGG streams, especially if you playback multiples streams in parallel (the Dreamcast's CPU seems to handle decoding Vorbis at up to ~600Kbps).

(ups sorry, that post was meant for the other thread)
User avatar
Christuserloeser
Moderator
Moderator
Posts: 5948
Joined: Thu Aug 28, 2003 12:16 am
Location: DCEvolution.net
Has thanked: 10 times
Been thanked: 0
Contact:

Re: Elysian Shadows Christmas Update 2

Post by Christuserloeser »

Ayla wrote:(ups sorry, that post was meant for the other thread)
split and merged :wink:
Insane homebrew collector.
User avatar
GyroVorbis
Elysian Shadows Developer
Elysian Shadows Developer
Posts: 1874
Joined: Mon Mar 22, 2004 4:55 pm
Location: #%^&*!!!11one Super Sonic
Has thanked: 80 times
Been thanked: 61 times
Contact:

Re: Elysian Shadows Christmas Update 2

Post by GyroVorbis »

Ayla wrote:So I watched the whole video. It's good to see progress, but I wonder how stuff will work on the Dreamcast, provided you are already using shaders and 3D sound, as well as expensive pathfinding and lots of LUA. Also, as far as I can see the music is tracked; it would eat much less CPU time to playback tracked music on the Dreamcast instead of OGG streams, especially if you playback multiples streams in parallel (the Dreamcast's CPU seems to handle decoding Vorbis at up to ~600Kbps).

(ups sorry, that post was meant for the other thread)
These are things I have been conscious of during development.

Obviously there will be no effects requiring shaders on the Dreamcast, and our underlying hardware abstraction library (libGyro) ensures that these distinctions require no modification to application-layer engine code. Dynamic shadows aren't going to work in hell on the Dreamcast, as they are implemented in a fragment shader. The lighting is possible to pull off per-vertex on the Dreamcast, as is the dot3 bumpmapping, although I sincerely doubt we will have enough VRAM to store the normal maps for bump mapping.

I will not be using true 3D sound on the Dreamcast, I will just be emulating it by adjusting the stereo volume on both speakers. As for the simultaneous ogg streams, I mentioned in great detail in the video that this would not even be attempted on the Dreamcast, and the underlying driver would fade out one track completely before fading into the other for these kinds of transitions. The DC will only ever have to decode one stream, and this is completely abstracted away from the engine.

As for Lua, I specifically designed our scripting framework with the Dreamcast in mind, and am going to great lengths to keep as much logic in the engine and as little logic in Lua as possible. The entire Lua scripting behavior framework extends from a C++ behavior framework with the exact same triggers and interfaces in the engine, meaning that porting behaviors between C++ and Lua is a fairly trivial and straightforward task.

Lua is being (ab)used a lot more in the early stages of development than it will be later on. It is extremely easy for us to prototype ideas in without spending a large amount of time doing things in C++ that are ultimately going to change. The pathfinding will absolutely wind up being moved over to being statically compiled after it is done being ironed out, and I imagine this is the same approach we will wind up using with several other subsystems during the development of ES.
User avatar
TheRedFox
Insane DCEmu
Insane DCEmu
Posts: 152
Joined: Tue Aug 05, 2008 1:57 pm
Has thanked: 0
Been thanked: 0

Re: Adventures in Game Development Chapter 21 [Elysian Shado

Post by TheRedFox »

Wow, just finished watching, and you guys have come so far! I like how many features there are that wouldn't have necessarily been present in a 16 bit RPG. It makes it seem like kind of an evolution of the 2D RPG rather than an imitation!

One thing that occurs to me and may have also occurred to you, is that, if you have essentially 2 different variations, one for the DC and one for more powerful platforms, you might consider allowing people to choose from either of them for the PC version, in case they have a weak PC.

What platforms is ESTk currently being developed for? I seem to remember this changing once or twice.
Wyrd bi∂ ful aræd
User avatar
GyroVorbis
Elysian Shadows Developer
Elysian Shadows Developer
Posts: 1874
Joined: Mon Mar 22, 2004 4:55 pm
Location: #%^&*!!!11one Super Sonic
Has thanked: 80 times
Been thanked: 61 times
Contact:

Re: Adventures in Game Development Chapter 21 [Elysian Shado

Post by GyroVorbis »

TheRedFox wrote:Wow, just finished watching, and you guys have come so far! I like how many features there are that wouldn't have necessarily been present in a 16 bit RPG. It makes it seem like kind of an evolution of the 2D RPG rather than an imitation!
Well, it makes me really happy to hear that, as that has always been the goal of the project... We never wanted to make a 16-bit 2D RPG. We wanted to create the evolution of it.

This is hopefully reflected in the 16-bit style graphics fused with modern effects and in the audio with the chip-tunes fused with orchestrated instruments and electronica. That is our exact goal here.
TheRedFox wrote:One thing that occurs to me and may have also occurred to you, is that, if you have essentially 2 different variations, one for the DC and one for more powerful platforms, you might consider allowing people to choose from either of them for the PC version, in case they have a weak PC.
Yeah, that's exactly what we're planning to do. That's basically why I said I would maintain per-vertex shaders along with the per-pixel shaders, to emulate what the older handhelds and consoles will be doing.
TheRedFox wrote:What platforms is ESTk currently being developed for? I seem to remember this changing once or twice.
ESTk is just the Qt-based ES Toolkit. It runs on Linux, Windows, and OSX. The engine itself is currently being called ESGamma, and it's currently running on Windows, Linux, OSX, Dreamcast, and iOS (used to support PSP, but we have since dropped it). We're also planning to support a droid build eventually... and who knows what else.
Post Reply