• Post New Message
You're browsing the GameFAQs Message Boards as a guest. Sign Up for free (or Log In if you already have an account) to be able to post messages, change how messages are displayed, and view media in posts.
  1. Boards
  2. Sword of Moonlight: King's Field Making Tool
  3. 2021: Sword of Moonlight status report
arcnet 1 year ago#1
I almost neglected to file one of these reports before next year. I think this one will be pretty brief. This year on my project here (https://swordofmoonlight.itch.io/k) for the most part. That mostly amounted to solving 3D modeling problems. So as a result the tools for adding models to SOM have improved a lot and are going to improve a lot in 2021 beyond even what SOM originally is able to do. Early on in this I saw an opportunity to upgrade its animations to 60 frames-per-second. That doesn't mean SOM runs at less than 60 fps (30 fps) but it animations did. This is kind of hard to describe, many things move at full frame rate, but the animation playback speed only happened on every other frame at 60 fps. Sometimes animated films do this, they call it "ones and twos". But I guess I'd gotten used to this because it didn't bother me much, so I didn't think doubling the playback would be a startling difference, except afterward I can never go back to 30 fps because it's very obvious, so I think people coming to SOM with fresh eyes would see the problem, and only someone whose brain had adapted to it would not (I'm certain my brain was recognizing it was looking at SOM and deciding to smooth it over. It's so crazy how adaptable brains are. That plasticity can make working VR very slippery actually.)

This year I learned about a new decompiler system called Ghidra and that's come along just in time to really turbo charge the feature development cycle and understanding SOM's program. Just in time to help with my King's Field II project that is. This has made it possible to will things into being that before I'd have to just stumble over and take advantage of some or other finding. That's pretty much how I worked before Ghidra where it came to reprogramming SOM (i.e. editing its binaries' code.) It was just more efficient to do that way since trying to actively find needles in haystacks is much harder than pricking yourself and dealing with needle one at a time (extending a metaphor.)

I've had to develop 3D modeling software (https://github.com/mick-p1982/mm3d) which I mostly finished the first round of work on late last year but only got into testing and refining this year, and developing tools that convert model files into SOM's formats. This became quite a challenge since I used the opportunity to convert all of the files that came with SOM into the new format, except their skeleton based format was not in an ideal state, and it took me what seemed like a very long time to be able to reinterpret every kind of file successfully. During that time I tracked down every detail about the MDL animation format. Ghidra helped a lot there.

I worked as fast as I could to publish a demo of my KF2 project before the end of the year. I didn't get as far as I would have liked. Right now I'm working on developing AI facilities to faithfully replicate KF2. I developed the bare minimum of a feature to implement its variable lighting ... you can see how some areas in KF2 are darker than others ... SOM doesn't have that kind of facility. But in general KF2's lighting features are much more limited than SOM's. But they're quite different. Maybe I got lucky in that I was able to match how the lighting changes in darker rooms pretty accurately. It's not straightforward, the contrast levels actually go down. The lighting is less stark in the darkness. I'm still not 100% certain how KF2 accomplishes these things but my demo is acceptably accurate by my own high standards.

In the weeks before publishing the demo I really went all out on the control system. It got really polished and there were very unexpected additions. The new system is what I consider a near complete representation of SOM's movement facility. It's very expressive. You almost have to look at it like a musical instrument, in that you can do a whole lot with just one button and two thumb sticks.

Finally I was also surprised that the custom antialiasing system got a lot better. It turned out I'd undercut it by not shifting it over half a pixel that made if very crisp. I may have even done that intentionally at one point but these days I was really worried it wasn't sharp enough even to the point I only found this out while I was working on features to make it sharper (but as I recall it was still just an accident I found this out, the timing was just one day away and remarkable, especially because it made me to scrap the enhancement I'd just worked on) and I was so inspired I figured out a way to do antialiasing inside of of textures. A big part of that was I wanted KF2's compass to look nice and I determined it couldn't be done with polygons. Lastly in order to reproduce the PlayStation's color I developed an "sRGB" feature that only applies to blending pixels. The problem here is SOM uses texture filtering like all games do today. That makes it look solid but it also looks smudgy. This is probably why people would say all games look brown and smudgy for like a decade at the turn of the century. Yeah it does compared to unfiltered textures. I don't know if it looks less smudgy with sRGB (probably a little) but the problem was this smudgy quality actually changed the color of things. Like the green caves in KF2 are actually a mix of white and green but without this sRGB fix SOM looked like the green growth had totally over and there was no white/gray to be seen in the cave walls. This also helps a lot with motion blur and moire artifacts.

sRGB is pretty standard in games these days but it doesn't look good on low-poly models because it makes light very harsh. So for that reason I didn't consider using it with SOM. But I had to think outside the box to realize I could use it just for blending but not lighting. (Edited: I should clarify "blending" doesn't include transparency effects, which is what graphics people usually think of as the word 'blending'. I might try to use it for that at some point. What it is for is blending pixels, like for sampling in between pixels and combining samples like with motion blur. The antialiasing system also relies on motion blur since two still frames still have motion happening on the edges of polygons and that's why they appear without significant aliasing.)
Remember, this is Gamefaqs:
http://www.gamefaqs.com/boards/661226-pokemon-black-version-2/64668593
(edited 1 year ago)
  1. Boards
  2. Sword of Moonlight: King's Field Making Tool
  3. 2021: Sword of Moonlight status report
  • Post New Message

GameFAQs Q&A