Monday, July 11, 2016

Monday, 11 July 2016

Been thinking about the art style I'm going to use. I know voxels are sooo last season, but drawing something in MagicaVoxel takes a fraction of the time (and pain of using Blender), and seems perfectly fine for making placeholders. Or it would rather if I could get it to export the materials, textures, shaders and all those other fancy 3D magic with it instead of just the mesh.

Option B was to use Space Engineers. Unfortunately, besides the grey area of using their textures, there's been a bug for a few month preventing exporting of large ship grid models. Which is about 99% of the pre-existing models I wanted to export and dump in my game as placeholders. Oh well.

Would be nice if I could find something as simple as Magica, but with maybe a bit more functionality (I really miss being able to place sloped blocks) and with a more inclusive automated export function. Transparent holograms, particle based flickering lights and a cel-shaded renderer would be nice but that sounds like a lot of work...
So for now I have something looking like this:

Then there's the issue of scale. The station should probably be at least 2x as big for the ship to fit on the landing pads (on the right), but that's a small ship, what about large haulers? And that's the easy part. I intend to have several of these stations stretched out across each level. We get into the classic space scale problem. Either each station is an unidentifiable dot, a generic icon, or a grossly oversized caricature of itself.

And backgrounds. Backgrounds backgrounds. Currently I'm just using some lazy Delauney Triangulation I got from a generator (I know, I know, fad is over). I was considering putting a nice low poly triangulated planet with some rings in the background, something like Timothy Reynolds does, but I'm not sure if it would suit the theme too much. Using realistic NASA nebula imagery also doesn't fit at all. Oh well, anything is better than a solid fill I guess.


Todo list:
  • Read up on Component Based Engines, as well as Functional Reactive Programming
  • Split console UI and engine into two separate projects so I can build an .exe and .dll file separately, easing Unity integration to the DLL
  • Move ship trading (and probably station manufacturing) logic to the owner. Currently there is zero cooperation between entities of the same owner
  • Change the current state system from an enum variable to an action queue
  • Refactor messy code with events where it'll clean things up
  • Remove as much UI code from Solarsystem class as possible (got real lazy there)
  • Add parent fields to all the entity components, it seems inevitable
  • Refactor the Destination code for ships, its currently a casting nightmare
That's all I can remember for now, time to head off for work and squander all my productivity and creativity