Advanced Rendering, and OOO Monday

Hey Folks! I did some more experimenting with the orbital plotter today, and delved into Unity's more advanced rendering features.

The biggest change was in the way the orbital plotter was rendered. Previously, it drew vector lines directly onto a GUI canvas. This was simple, and fairly powerful, but it made things a bit hard when it came to mixed UI elements (e.g. a truetype font and texture-mapped vector lines).

So as an experiment, I tried using render-to-texture instead. This basically means the UI gets rendered to a bitmap in memory, and then that bitmap can be used on any mesh, including the GUI's canvas. And one of the cool things about that is that it can be passed through deferred rendering and post process effects. I can apply certain filters, shaders or other visual effects to the GUI that would normally be reserved for 3D meshes and scenes.

It's not quite there yet. At least, not pretty. But it's working! And the toybox of really fun visual effects is now open :)

Also, just a heads-up: Monday is a holiday here, so I'll be out of the office. Technically, I'll still be around (probably sipping a beer on the porch, if fate shines upon me), but may not reply right away. Have a good weekend all, and see you Tuesday!


prophet's picture

Hello there Dcfedor.

I'll start of by saying that I'm a huge fan of your game Neo scavenger and its community. And I've been downloading mods for it from your active modding fans and I've noticed that modding has recently died down, and that's quite sad in my opinion since the current mods are so good and adds a lot of new ways to play your game. So I wondered if it would be possible to add some sort of platform for creating mods for neo scavenger which would require only a basic knowledge of coding and modding the game. It could help people create things that they want in the game, for example creating their own random encounters where they decide the probability of the encounter and what type of hex it could happen on, and deciding the choices and outcomes. And also adding simple new items to the game, deciding the items values themselves and creating their own sprites, or simply using old sprites and adding onto them.

A platform with several different options like for example a weapons option where you decide simple stuff like damage, range, probability of the item spawning and simple stuff like that. Creating your own clothing from scratch, the warmth if gives, protection etc.

This could add more aspects to your already in-depth game and an option where you can tailor your own experience. It could be very simple, draw a sprite, and add values to that item. Where the tool could have premade values for certain items.

For example lets say I wanted to add a new pistol to the game, I have no knowledge of coding or modding but I have the program.
I take the M1911 that's already in the game, I change its sprite to something like an M9 pistol, I change the ammo capacity, dmg, range and the probability of it spawning in lets say a City Hex.

Now this is just an idea I've had for some time, you might have already have gotten this suggestion from others, or thought of it yourself. And I'm sure there's reasons for there not already being such a tool or platform for creating things like this.

Nevertheless, it could be an idea you could use for future games with mod support, or someone reading this could get create it themselves.

Thank you for taking your time reading my suggestion, Have a great holiday dcfedor. And good luck on your new game!

Sincerely Johnny Wikberg

Johnny wikberg

dcfedor's picture

Hey prophet!

I agree that user-friendly modding tools would be very useful, and would help users create some really cool stuff!

I think the main reason something like this doesn't exist is because the tools have to be kept up-to-date with the game, so it becomes almost like maintaining two projects.

For example, I created some encounter-editing tools to help me visualize encounter flow and edit the game. And I think that would've been a useful modding tool.

Unfortunately, getting it to run outside of my dev machine was turning into a big headache, so I put it on the back burner.

And what's worse, now that a year or two has gone by since I used it, it doesn't even work for me anymore. I have to hand-edit XML files, too! (Well, an SQL database, but it's basically the same.)

In my next game, the space prototype, I'm hoping to at least try this again. I'm making tools for editing the data more visually. They're already out-of-date since I've written them, as the data is changing faster than I can keep up. But I hope to get them back in line once the game structure becomes more stable.

The bottom line: I want to support modders. I truly do! I just have to figure out how to set aside time for maintaining tools.

Dan Fedor - Founder, Blue Bottle Games

ra1's picture

IMO the best way to support modding is to use "mods" from the start. On top of the base framework, start designing the game AS A MOD. When you find a feature you want to add that is not supported by your mod framework, add it to the framework, and then use it from the mod. As you see the need, design tools within the framework that allow that modding to continue.

Certainly you will require additional 3rd party tools to perform certain actions (e.g. for 3D modeling); but as long as they are available to the rest of the modding community, that is "good enough".

dcfedor's picture

This is true. I think NEO Scavenger kind of did this accidentally from the day it became a stand-alone app (as opposed to Flash/web). All the data was just loaded at runtime from XML and local image folders, and anyone with a text editor or image editor could do as they wish.

There were some hard-coded things, of course. I think I exposed most of them, but some still remain. (E.g. defining slots for a creature, or creature metabolic stats/limits) So that's one thing which could improve.

The other failure on my part, at least with respect to supporting modders, is making that data easy to navigate. They are huge text files, and their interrelations are hard to understand.

I think that's what prophet is asking for: a more organized toolset for digesting and messing with the data. It's easy to change the name of a pistol, for example. And also to change its images.

But the tricky part is if you wanted to add a new thing to the game, such as a new item. You'd need to know that not only is a new itemtype needed (fairly obvious), but also a treasuregroup to reference it, and then something to reference that treasuregroup (e.g. encounter, creature).

But yeah, I'll definitely be trying to data-drive as much of my next game as possible, for this reason. Modders have created some truly cool stuff, and I want to encourage more of that!

Dan Fedor - Founder, Blue Bottle Games