Maria Renard’s lair

Who would dare to stand for justice?

What the Buck!?

Posted by Gemini on September 26, 2009

I started writing the news back in May, stacking all the updates one after another. Now I think there’s enough material for a public “outbreak” of information, or at least something sorted out as a regular manifest. Anyway, let’s go for the infurmeshan!

Let’s begin with a couple pictures of the game in action, just to make this update look somewhat interesting:
entity kitteh party!!branch at draculina's
Wondering what this means? Mainly two things:

  • I’ve got an actual entity format implemented. This format so far includes graphics, palettes, animations, and frame data. In order to get this big piece of the game in I had to reorganize better how the memory is allocated. First of all, video memory is managed like in this picture by using some tables that dynamically put  graphics and palettes for entities in the areas where they belong to. Frame and animation data doesn’t really need any allocation because it’s all supposed to be always in memory, most of the times stored statically inside map data (same trick was used in Symphony of the Night). Like I said a few months ago, I was having problems defining an animation format, and part of the problem still exists, even tho it’s only related to the way animations are linked together. I’ve got a plan on how to fix this;
  • The engine manages and displays entities other than the player. All the elements moving on screen are entities, if you were asking yourself what an “entity” is. This definition covers the player (including weapons and spells), 64 enemies (including some elements of the environment, like chandeliers), 32 projectiles, and other miscellaneous elements like blood effects.

There’s another little detail that may be understood from the pictures, but I’ll make it explicit: we can import entities from the DS Castlevanias, so there’s no need for those pre-assembled sprite sheet that are really useless when you’re programming a game for a limited hardware. At the moment the conversion isn’t complete and doesn’t include animations (need to reverse  remaining bits of the format), but textures, palettes, and frame assembly are properly interpreted and converted to Red Moon’s format. This process supports Symphony of the Night too, with the difference that it’s a bit more complicated to do (the format is truly anal), BUT we’re already able to make full dumps of frame+animation data, which is truly fantastic and works like a charm in game.

A little video about the player entity in action and the entity debugging module:

For the next trick I will need an Italian, a Spanish, a France, and a German. What for? A multi 5 translation!
psx ecclesiapsx ecclesia it
psx ecclesia de fixpsx ecclesia es
As you may have noticed from the pictures, it’s only multi 4 for now (en, it, de, es). French is missing entirely because I can’t seem to find a translator for working on like 50 very short messages. It will probably change in the future, but nothing is sure yet. I might actually drop entirely whatever doesn’t make it, including ghost languages.
Anyway, what I really wanted to show you with those pictures is the renewed TITLE module, that is a series of menus containing a title screen, load/rename/delete selection, item exchange, and other neat stuff that I won’t reveal yet. For now there’s only one almost complete, that is the SELECT DATA screen you can see above, completely cloned from the one in Order of Ecclesia (will change in the future to something a bit different). The icons you see there are only a part of the 64 icon set I have already implemented. Unlike SOTN, the icons will not be random, but selected by the players when they start a new game or rename the file. The initial set will be only 16 icons, but you will be able to unlock more as you play and defeat bosses. The screens are also there to tell you that Memory Card I/O is complete and ready to go!

Back to the real game (aka the FIELD module), there are a few other news that I had to communicate for a couple months, but I’m a procrastinator. At this very moment I’m working on a real 3D support with rotation, scaling,  and light effects calculated in real time by the GTE (Geometry Transformation Engine). I’m not sure about the model format to use, but I might end up using the standard one Sony made (TMD) and just forget about custom implementation.
Other than hardware features, there are four more things to say about FIELD. The first is that sin is working on many custom tiles for the 3 first areas of the game (trial cave, town, black forest), and he’s done a really neat job so far.  He is also working on more characters to implement in game, but that will be discussed better in the next update.
Second, I’m done with a color reduction algorithm used to convert true color images into a series of 16 color 16×16 tiles to be used by the game for rendering the scene. The effect is totally invisible to the human eye, especially on a CTR TV, but it doesn’t look too bad even on pixel perfect displays (the effect is lovely on a PSP).
Third, files are now managed in a completely different way by using archives to store all the data in a better and more ordinate manner. There is actually another reason to do this, that is in part Sony’s fault, but it’s also something to reduce CD seek. The official function to read from disc (CdSearchFile) is bugged and can’t locate files when the structure of a folder gets too big (about 30 files, but it’s variable). By implementing an archive system the game now uses CdSearchFile only to locate the archives on disk, and then stores in memory all the data about file allocation. With CdSearchFile out of the window there’s no need to seek around the disk like an idiot every time I need to locate a file, plus it removes any file count limit. It’s not really a big thing as most Playstation games already do this, but it was fun to program.
And for the last: the game now works totally fine on a Playstation! I was having some weird glitches until a few weeks ago because emulators don’t get this correctly (for a change). Now there’s only one thing to fix about XA music not restarting from where it stopped, even if it plays and loops just fine on pSX. I’m afraid I’ll have to rely a bit more on ePSXe for this kind of sound tests. :/

To sum most of these updates, here is a video of language+3D cube test+color reduction+new tiles in action:

Before you ask, yes, what you can listen to for a few seconds is brand new music composed jusf for Red Moon. :D Say hello to Paolo Palazzo, the magnificent composer who has created them.

There’s one last thing I have to add to this update: a new sound format. I can finally say goodbye to the idiotic format created by Sony to gather together a series of audio samples (called VAG, which is not short for VAGina >.>) and call them when necessary, for example for MIDI/MOD/SEQ playback. I call it idiotic because it makes non-musical samples a hell to mess with, especially because you have to setup a ton of crap just to play a simple sound with parameters that make absolutely no sense to a programmer that isn’t interested in music playback. Norio Wakamoto yelling crap in the movie above was done by using the new format which holds a considerably smaller set of information about the samples – contains just what’s really necessary, reducing memory consumption.


7 Responses to “What the Buck!?”

  1. Killa B said

    Awesome stuff.

  2. Fenris said

    looking good! is that the final picture of Maria…I doesn’t look like her anyway so I guess not haha =p
    About the music, that little sample I hear in the vid sounds very good, I’m looking foward to hear more!
    keep up the good work

  3. SlyStrife said

    Yay! I was wondering if you were ever going to update this again. :P

    Great job on your custom sound format! Making things easier for yourself is always a plus. Also, can’t wait to hear the new music, Castlevania music has always been one of my favorite videogame soundtracks so I’m pretty psyched. ^_^

  4. Takehaniyasubiko said

    It was fun to program, eh?

    You’re insane, Gemini! But that’s what it takes to make something like this and that’s why people are still coming and waiting.

    Anyway, I can’t make any sense out of 50% of what you wrote and the movies look off-putting but I’m sure this will be a great fan-game if it ever comes out.

    Did I already mention you’re insane?

  5. Chef said

    Never posted here, but i’ve lurked your blogs for awhile.
    How’s this been coming along, gemini?
    Has their not been enough progress that is “update worthy” in awhile?

  6. Fenris said

    well it looks like he’s busy with other projects so I don’t think this will be updated any time soon, you should check again in a couple of months

  7. Disco_Stu said


    I would be glad, if I could help you with the German translation ;-)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: