Home Artists Posts Import Register

Content

  

Hey guys!

We have a bunch of progress updates for you, as well as a simple scaling and sprite and window handling demonstration utilizing APL’s new engine that we could use your help testing! Read on for details!

Content for this Update on Google Drive 


Story Overhaul

Following my little post a few days ago, I’ve been working on what I believe is the final necessary pass over the story outline. This entails starting from the beginning and changing or rewriting sections/dialog requiring edits to merge in the new story details I’ve been working on over the past couple of weeks.  It’s a big task simply due to the amount of content that needs writing, and to be conservative I’ll say it may take another week to finish from the looks of it.  Once finished I’ll update the remaining sections of the story document and begin finalizing V0.06 details, and then will finally be able to prepare the fabled v0.06 design document I naively thought I could have ready last month. 


APL’s New Engine Progress

AltairPL here! I think it worked pretty well for the previous IC update, so I'm going to use the things we need to implement into our new URGE engine from RPG Maker as a reference for this update as well.

Before I begin and to prevent repeating it, every pending class/module has a stub ready.  This means that everything that should be available from Ruby is available, however stub methods are simply placeholders that do nothing except return the value of expected type, etc.

Here's the progress checklist. Things implemented into the new URGE engine since the last IC update are indicated with the (NEW) tag.

It doesn't look like much on paper, but it was a lot of hard work, and on top of the things from the checklist above I've also coded/added a few things that will help me a lot during the engine's development. One example is that I’ve added a few extra pointers to Ruby objects, resulting in way better access to their data, slightly better performance, and much cleaner code. I'm still learning C and Ruby C API, so I do need to backtrack a bit and fix/optimize my noobish code from time to time, but I'm pretty happy with the results so far.

While coding the Sprite class, I had some problems with properly setting rotation. So, I did a test consisting of rendering 360 sprites of the same image, each with different angle of rotation . IMHO, it looks cool, but there's actually more to this test than its undeniable coolness ;). I ran the same test in RPG Maker and I couldn't believe my eyes when I noticed something. Not only was there a huge performance gap: ~100 FPS (URGE) vs ~3 FPS (RM), but there was also a huge memory usage difference: ~38 MB (URGE) vs ~854 MB (RM)! I'm sure that some things pending implementation will raise URGE's memory consumption, but no way in hell to the levels seen in RPG Maker.

Anyway, my plan now is to:

  • Finish the Sprite class... at least the things we will be using for sure
  • Start and finish Plane class
  • Sort out and implement color/tone application. It's tricky to say the least, but I have few ideas for it already... not sure which one is the best yet
  • Start moving things to Graphics module
  • Finish bitmap drawing methods
  • Whatever else will get in my grubby hands

And here's a small treat for all of you – an actual tech demo of the new engine!  You can download it from the Google Drive link above.  it’s not much, but it's a start. Here’s the (goofy) reference image for what it should look like when you run one of the exe files  (there’s actually a reason for the madness in that we’re testing some sprite manipulation functions). Here is what can you do with the demo program:

  • Measure FPS using Fraps or similar software. The FPS can go much higher than this, but the game would hog the whole CPU core for itself, which is not desirable in some cases and performance is still much better then RPG Maker's.
  • You can resize/maximize the window to see how the game screen scaling/positioning looks and performs (this can't be done at all in RPG Maker). The image should be centered in window and scaled to the maximum size permitted by 4:3 aspect ratio.
  • You can report any glitches, errors, errant behavior, etc. (this is the important one!)
  • If you're feeling adventurous, you can change the variables at the beginning of the "tests.rb" file and hit F12 to reload the script and show the results of your tampering ;)

Additional tech demo notes are as follows.

There are two exe files:

  • "MATM_URGE.exe" is the exe that will be shipped with the game;
  • "MATM_URGE (DEBUG).exe" will be used internally only, but since file-based error logging is not yet implemented its console will be useful if any one of you has any problems.
  • Aspect ratio is hard-coded to 4:3 for now, but most likely it will be a user setting at some point.
  • Scale filtering is hard-coded for now. If you think that the scaled image is too blurry, the good news is that most likely it will be a user setting at some point.
  • I really have no idea what hardware requirements new engine will have other than a graphics card with OpenGL support.
  • Running the debug version will print basic information about renderers to the console. I would appreciate either a screenshot of it posted somewhere or at least a basic info in the comment. It's a lot of text, but the only thing I need is the list of renderers (e.g. "1.1, 2.0, 3.0, 4.0"), current renderer version (e.g. "4.0"), shader versions (e.g. "110 to 440"), and enabled features (not the entire list, just the "0x0..." flag, e.g. "0x00000FDF"). Sorry for the inconvenience and thanks in advance for any info you can give me.

If you have any problems, errors, etc., feel free to post them in the comments. And please, try to remember that this is experimental product of a total C noob!


TK’s Environment Artwork Progress

TK has been continuing his work on water effects that will be needed throughout the sewer (and other) areas. This is one of those things where 2D maps may require more work than 3D since we have some restraints we have to work within in order to make our pre-rendered backgrounds. Basically we need to create looping pre-rendered graphics as opposed to being able to rely on 3D water physics.  I've uploaded some of the example visuals from his tests in the Google Drive link above.  The most up to date one is titled "Mesh Based Test 5 (Animation).gif", but keep in mind it's not visually stunning yet and that this is basically a proof of concept. Here's an update direct from TK about his work on that:

"One fun part about being on this team is that it really pushes me to explore areas of 3D graphics that I hadn't ventured into very much or deeply. As I was gearing up and making concepts for the sewer areas, I came up with an idea to throw big well-type holes at the end of water channels. Originally I wanted to avoid the typical "texture scrolling across a plane" type of water since realtime performance isn't a concern. However, I forgot how much time and expertise it takes to make a really good dynamic simulation look and behave the way an artist wants. So I've been iterating over different shader configurations for building sets of animated water channels, pools and falls since that's more familiar turf for me and it's quicker to process and make changes as I go. In the Google Drive link above are some of those results in various forms of work-in-progress-ness. I'm not sure where and I'm not sure how, but that super shimmery "accident" needs to get used at some point in the game - it's just too much fun!"

Lastly, I've also uploaded a moodboard using art and images we've found that should give an idea of the look we are going for with the sewer area.


Audio Progress

Audio guy has sent me over 70 new sound effects in the past few weeks, many of them pertaining to battle since we will need all new sound effects once we discontinue using RPG Maker.  This is in addition to the many UI sound effects he had been sending me previously.  I've yet to test them in game due to being held up by story and V0.06 work, so I have a pretty big task ahead of me in that department as well :D.


Comments

Anonymous

very interesting to see what kind of stones are there to get the new engine running, but nothing for me, i would lose my nerves if something is not running :)

Olinn

the exe matched the reference perfectly here's what i got from the debugger: <a href="http://imgur.com/a/lR0dr" rel="nofollow noopener" target="_blank">http://imgur.com/a/lR0dr</a>

Anonymous

Tried with different settings in test.rb and different resolutions. Did not have any issues (except that the image looks quite unsharp when resized to full HD ;). Did not report earlier, as no errors could be seen. Also I didn't use FRAPs to measure FPS yet, as I didn't see any issues. If FPS are important for you let me know and I will redo the test(s).

AltairPL

Image sharpness on scaling is addressed in the post: "Scale filtering is hard-coded for now. If you think that the scaled image is too blurry, the good news is that most likely it will be a user setting at some point." I actually prefer current (default) scaling mode, but I know not everyone does, so with time this will be a user setting. FPS is not really important at this point, but I would appreciate if you could start the (DEBUG) exe and post image of the console window somewhere... like what Olinn did. Anyway, thanks a lot for the feedback :).

eromancer

Assuming everything pans out, we plan on using high res artwork for the new engine. Right now it's upscaling the low res artwork meant for the current 1024x768 version of the game.

Anonymous

* OpenGL 2 (2.0) * OpenGL 3 (3.0) * OpenGL 4 (4.0) Renderer init order: 1) OpenGL 4 (4.0) 2) OpenGL 3 (3.0) 3) OpenGL 2 (2.0) 4) OpenGL 1 (1.1) Using renderer: OpenGL 4 (4.0) Shader versions supported: 110 to 400 Enabled Features: 0x00000FDF: - GPU_FEATURE_NON_POWER_OF_TWO - GPU_FEATURE_RENDER_TARGETS - GPU_FEATURE_BLEND_EQUATIONS - GPU_FEATURE_BLEND_FUNC_SEPARATE - GPU_FEATURE_BLEND_EQUATIONS_SEPARATE - GPU_FEATURE_GL_BGRA - GPU_FEATURE_GL_ABGR - GPU_FEATURE_VERTEX_SHADER - GPU_FEATURE_FRAGMENT_SHADER - GPU_FEATURE_PIXEL_SHADER - GPU_FEATURE_GEOMETRY_SHADER - GPU_FEATURE_WRAP_REPEAT_MIRRORED