Some progress! Music, Texinfo and 10 Minutes!

Posted: September 23, 2015 by Kaemon in Kaemon's Rants, ZE FFVII Mako Reactor

First of all let me start saying that I’m always amazed at how poorly I estimate both how much is left to be done and how long it will take for me to do it.. But I haven’t been slacking and we are getting there! We will definitely close-beta test V6_B03 sometime this week.

So what did I do lately? Well, first of all I added back (from scratch) all the music back into the map. Its the same music (no new songs, sorry) with sightly better quality and using a new system to implement it into the map. Basically, it now eats up just a single entity (an ambient_generic) instead of one per song. The way to do this is to use a list within a mapname_level_sounds file that includes all the music; this way its gets precached (loaded and ready to use) when the map runs, otherwise, since there are no entities using the songs, they wouldn’t load.
Worth mentioning too that I looked for all the song names (as some didn’t have any) and double checked that they matched, as Hannibal’s music list included in V5.3 is outdated and doesn’t list all of the songs. I also added back the music that got removed when the easy difficulty disappeared.
Even with help this took me a little longer than it should since I never felt like “starting all the work right now“, but now its done and that is a big step forward towards the map completion. Also, it was one of those things that you can’t really keep going back to fix and needed to be done properly from the beginning, so a lot of thought was used before even start doing it, including thinking about possible new music. But I’m not a music-guy and the songs that Maese Danielot gave to me when I suggested it, felt really weird and out of place for the map.

The music list for Mako Reactor V6.

The music list for Mako Reactor V6.

Secondly I ran into a new engine limit (to me, that’s it) that I never encountered before: MAX_MAP_TEXINFO.
So I had to check exactly what that was in order to fix the problem, and its pretty simple to understand once you know that it exist.
The limit is 12288 (quite an odd number for Source) and they are basically lines of info about textures, including things like scale, alignment, rotation, etc… So, if you have 10 walls that are all at the same scale (0.25, 0.25), same alinement (X=0, Y=0) and with the same rotation () the all would tell the engine to that they are sharing and using “texinfo number 1“. But if now you make a new wall with a different value anywhere, it would create a new texinfo. I’m not sure if Lightmap Scale affects it (I assume it doesn’t as its basically used to create a new independent texture for the shadows) but having it aligned to Face or World certainly does!
So this is a good reason to align at X=0 Y=0 your textures when you don’t care and to not forget toggling back off the Scaling Texture Lock after having to use it. Granted, I mostly reached this limit because of the quantity of shift-textured pipes around the map (that pretty much require a texinfo per face) but its always good to share this kind of knowledge. (Another solution that I will have to use is turning some of these complexly textured pipes into props).

And lastly, I’m checking ways to increase the overall map difficulty without it relaying on Bahamut nor Sephiroth, but mostly on increasing the amount of Human vs Zombie that takes place along the map. So far my current plans include increasing the zombie speed depending on the difficulty (from 100% to 125%) similarly to how they have extra life on extreme, removing some materia as difficulty increases (random one, but never Heal nor Ultima) and increasing the duration of some holds (probably also increasing them as difficulty increases).
The speed thing is already implemented (and they gain the correct speed accordingly to the difficulty after being frozen or pulled by gravity) and I’m pretty sure I will go ahead with the materia reducing (also forcing people to improvise, since they won’t always have the materia they are used to use in some area) but I’m not 100% sure about the hold time yet…
Thing is, right now, you can barely finish the map within the normal 9 minute time limit (as V6 is sightly longer than V5.3), so I’m thinking about relaying on the same plugin Harry Potter and Westersand take advantage of to increase the round time to probably 10, maybe 11 minutes. If I do this, not only would the players be allowed to “mess a little” (like forgetting to press the first hold button for 15 seconds and not being punished with not having enough time to beat the map) but I could increase the duration of some holds as difficulty increases. Any thoughts on this? I personally would have preferred not having to relay on this kind of plugin, but right now seems like the “best” solution (specially if I want to increase the time of some holds).

Anyway… That’s whats up. And now I go back to work!

  1. Zwei says:

    Mako v6~~~~~~~ I can’t wait : > Anyway Thank you for the info (about Source Engine, texture, etc.)

    definitely learn something from your article~

  2. SillyBoy says:

    Great 😉

  3. Anonymous says:

    What do you mean by “sightly better quality” ? Used a clean source, a cd or a lossless audio file, and then properly encoded? Please don’t use music riped from YT videos… TY 🙂

  4. Kaemon says:

    Anonymous: To be fair, I delegated the music part to someone else, as I’m not a big fan of working with audio files, but I can tell you two things: music quality did got better (so even if its not up to your standards at least it should be closer to them now) and is not only about getting a clean source, is the file size that also matters. I don’t really want the map to become 300 MBs instead of 100 MBs just to have sightly better music, if you know what I mean.

  5. .george says:

    Source Engine doesn’t do over 64kbps properly, so after that you won’t actually hear the quality difference heavily, ergo size > quality as long as the quality isn’t potato.

  6. Skullz says:

    The plugin is okay to go with, most ZE server owners have it installed now for Harry and Wester, and some other maps i dont know the name anymore from.. And the chance that plugin would break is pretty small afaik..
    The sound scripts works perfect, the caching could not be done better and its verry usefull for if u have many songs but dont want to waste a ton of entities, Harry already has this for a while, it was original created for Harry via ZaCade and some other guy caus i kept crying about it to him and eventually he came up with this, great guy.
    You could have a ton of music without any more filesize added thought.. Lev did all my music into better quality for V2 and its a total of 64MB for 98 soundfiles/songs.. which is pretty do-able if u see the amount of them.. In V2 for Harry its mostly the textures and models who take all space, reason of it been so high filesized but yolo its this or nothing, i already reduced the most i could for that aswell anyways keep it up bro we are waiting for that V6 😀

  7. Anonymous says:

    Ty for your reply Keamon. I was just curious since you mention the music part was done from scratch and it’s complicated to end up with better sound quality if you don’t have a good source to work with.
    Most of us play with an headset, a decent one at least, sometimes it gets really painful to play some maps with how horrible the music sounds. but its nice to see that mappers are improving that part too as they polish their maps.
    But i have fate you’ll do a fine job… and please stop slacking. xD

  8. grinderp says:

    Nice. Keep up the good work Kaemon. Can’t wait for the version to be finished.( ͡° ͜ʖ ͡°)

  9. Icecream says:

    and “Otherworld” by Nobuo Uematsu and Bill Muir from FFX ? This is not on the V6 ?

  10. Kaemon says:

    Icecream: Not so far. I thought about adding it (since it was there previously) but its has always been quite an odd fit for the map and never got any requests about bringing that one particularly. I may think into adding new music for V6.1 or other versions (we will probably need a couple to fix things I may have broken).

  11. TTsuyuki says:

    Cmon you have to add Otherworld! It sounds awesome and brings back memories.

  12. Anonymous says:

    y para cs:go