I got bored... - Kokiri Forest/Project Ocarina

Monday, May 23, 2016

With my 2 Unity assets published, I need time evaluate their success. So I don't want to start another asset until I have a clearer idea of investment vs reward for asset publishing from the evaluations of those. Ideally, I'd be working on the RPG I want to make. But there's little I can do ATM outside of brainstorming for that. I need to actively work on something! It's a weird feeling for me, but I don't have a lot on my plate right now.

I was considering working on a puzzle game I shelved last year, but I put that aside due to uncertainty that it was worth my time. Since considering it again with a fresh perspective, it again seems like there is something there. Something that can work as a game. I'm just not sure if it has a shot at being popular enough to be worth the investment I'd have to give it. So I'd have to consult some people for outside opinions.

There's another project I have. The potential for it is big enough. But it's a weird one. One that would require me to patent my idea to protect it. That costs money, and is a investment of time. I have to draft up proof of concepts to really show myself that I have something there, and that there is no major hurdles I haven't thought of. I did actually make a proof of concept for it a couple months ago. The general idea works. But to move beyond that I'd have to do some more planning, and understand the path I'd be following. It was very confusing and lost its fun quick. That's when I decided to work on my assets instead so I could fund a RPG.

Back to my current boredom. I've been avoiding it. I don't really want to be working on a project like this anymore. But I guess I finally caved in...

I started working on Kokiri Forest/Project Ocarina. Yea. I've said I wasn't interested anymore. But I guess with nothing else to do, I have been able to find an interest. lol

I don't know what my full plans are for it right now. At a minimum, updating Kokiri Forest to modern OVR/SteamVR SDKs makes sense. At a maximum, polishing up Project Ocarina to a bare minimum I'd want to release it as.

For now, I've figured I'd approach the Kokiri Forest scene and try applying a lot of what I've learned in the past couple years. I've made some updates, and a GearVR port since I first released it, but I never really applied a lot of what I've learned. Mostly just integrating newer SDK's since my last update. For the GearVR port, I at least worked on some performance improvements. But I could have done more.

The first thing I wanted to do is clean up the model files and textures. I've often considered releasing the source at some point, but as is, I never would. Texture names, game object names, materials, etc, are all named in unreadable formats. The source file I use is a single .blend file. That was a bad habit I had from the start. I should have been exporting as fbx or obj, and I should have been doing so in multiple files.

Doing such work is very tedious if you don't do it the first time, which is why I haven't done it since. But I now got most of it done. I've weeded out unused textures/materials from being included in the project, renamed all the remaining textures/materials to reflect what they are, split the entire scenes meshes into currently 2 fbx files I export, 1 for objects, 1 for terrain. Merged all the terrain meshes as a single mesh and removed excess vertices, and renamed all object meshes to clearer names. I still have the boulder maze area to do like this too, but I moved along for now.

Next I've been working on shaders. When I first made KF, I forced my way through setting up shaders as fast as I could. Saying "close enough" was common. Don't get me wrong, I put in a lot of work on details, but shaders were and are confusing for me. I didn't want to spend the time to get them perfect. Perfect would be, well, let me do a side story real quick.

Some time last year I think, I was bored for a day and wanted to explore what I'd need to do to make importing new scenes easy and quick. My method of extracting scene models leaves the result looking like garbage if you don't "fix" things. If you ever saw that OTHER Kokiri Forest project that beat mine out to release by a couple weeks, you should have an idea of what I mean. The textures on all the objects look messed up by default. At the time, to address the issue and make the textures look exactly like they do in the real game, I would go into each individual mesh and alter the UV mapping data by hand, as well as remake the texture itself. Later as I learned a lot more about Unity, 3D modeling, game design, etc, I learned that that is somewhat of an unnecessary step. Previously I always figured it was just a step needed solely for N64 models, as I saw no options in Unity that worked to fix them the same way. But if you get into more advanced shader stuff, that's how you address it properly.

The texture issues are mostly with how repeating textures tile. A lot of OoT textures are meant to tile in a different way then is common in Unity. They tile in a mirroring repeating pattern, and normally textures just repeat. In my test scene I was able to make some mirroring repeating shaders for the textures, and that alone cuts out a huge amount of time it takes to re-create a scene!

Another issue I was trying to address is the need to remake textures with transparency in order to work with default unity shaders. I got a shader working, but with a hickup or 2. I forget exactly. I'm not sure I'm going to address that shader type right now. I'll see. I'm technically not even using the mirroring shader right now, as I'm still using my old "fixed" models/textures. But if I was ever to make a new scene, that's were I'd be using such shaders. I'll say this right now. If I do release my work as Project Ocarina, and you see Kakariko Village included, that's using the new shaders. That was my test scene for that.

For now I have other custom shaders I have to work on. If I was to work on everything I think is needed for all known OoT scenes, this would be my list.

  • Diffuse-Repeat (Backface Culling On)
  • Diffuse-Repeat (Backface Culling Off)
  • Diffuse-Detail-Repeat (Backface Culling On)
  • Diffuse-Mirrored (Backface Culling On)
  • Diffuse-Mirrored (Backface Culling Off)
  • Transparent-Repeat (Backface Culling On)
  • Transparent-Repeat (Backface Culling Off)
  • Transparent-Detail-Repeat (Auto-scroll diffuse/detail texture individually) (Backface Culling On) 
  • Transparent-Mirrored (Backface Culling On)
  • Transparent-Mirrored (Backface Culling Off)
  • Transparent-Cutout-Repeat (Backface Culling On)
  • Transparent-Cutout-Repeat (Backface Culling Off)
  • Transparent-Cutout-Detail-Repeat (Backface Culling Off) 
  • Transparent-Cutout-Mirrored (Backface Culling On)
  • Transparent-Cutout-Mirrored (Backface Culling Off)
  • Various verions of the above Transparent Cutout shaders with z sorting fixes, or just a few with an adjustable variable for z sort ordering.
  • Everything above supporting a black/white alpha mask as a separate selected texture.

A lot of these are covered by basic stock shaders, and most of the rest aren't the most advanced shaders. I just suck with shader coding still. I've learned some about them in my time, but not enough. So perhaps doing these will be a good way to learn more. If I was able to get shaders that accept alpha masks as a separate selected texture in addition to all of these. Well, I could see myself becoming a lot more interested in releasing many scenes from OoT and Maybe MM. Such shaders in my toolkit would eliminate most of the grunt work required to recreate a scene. Mostly from there the grunt work would be ensuring I extract every single little mesh from a scene, and renaming all the meshes/textures to a readable format.

After shaders, I think I could stand to clean up my scripts a little. They work as needed, but are kind of messy and not very reusable. I made them them for specific tasks, and that's it.

After that. Well, I guess I'd either release an update for KF, or consider and start working on the scene I did for PJO. If I do continue on with PJO, I'm going to do it in a more limited scope then I originally planned. Probably just a simple menu, and 0-1 avatar bodies. Right now I'm just taking things one day at a time, and I'm not resolving myself to follow through and release anything.

Just watch my posts here for any updates.

2 comments:

Unknown said...

Totally, when you get around to updating it i'd love to play it!

Though I am curious as to other than the forest, what else have you made for PJO?

I miss the Kokiri Forest so very much.

DarkAkuma said...

Originally, besides KF I did Temple of Time and Hyrule Field. I would probably still plan to include them in PJO if I finish it.

Other then that, I've tinkered with a few things but I'm uncertain if they would be included.

As mentioned in the post, I've worked with Kakariko Village. At this point I don't see why I wouldn't include that, if I got all the shaders working. (I forget where I left off now)

I did Zelda's Courtyard for a VRChat room before, and was at one time planning to use it as the Menu scene. I'm no longer interested in that, but I don't see why wouldn't include that as a normal scene.

I also did a smaller scene, the room where you fight Dark Link in the Water Temple. But it's so bland I don't think I'd include it. Even after testing, I was just thinking about making it a hidden scene at best.

Recently, after working on Kakariko Village, I working on the Chamber of Sages. The idea was to have that be the Menu scene, but I changed my mind on that too. It has a couple issues. I'm not sure I'll work on it further or not.

Lastly, I've been working on real menu scene. My memory failed me, and from what I remembered the Chamber of Sages was partially used in OoT main menu, which is why I worked on that. Once I set myself strait I worked on that. It's a simple scene, and merging the Scene select menu I did for KF with that, and getting it to look/feel fitting. Well that went well.

That all said now, I haven't worked on it in a while. After taking time away from my Unity Store assets, I started re-devoting time to them. Fixing bugs, upgrading the demos/visual quality, etc. That stuff takes precedence of course. I may post about that stuff soon.

Post a Comment