I haven’t posted in a while, but I’ve been busy figuring out the whole tech art process for The Hologram. I’ve came across many techniques for many different things and I ended up testing a lot of stuff and tried to do it all at the same time, so there haven’t been much to show, but at this point I’m pretty happy with the current workflow.
In modelling: At first a modelling based on subdivisions seemed like a great idea, but getting all the supporting geometry and quads in the right places is a great amount of work, it would be feasible if not for the huge amount of geometry in the end too. I ended up with 20k polygons for a single ship with very little detail and I think that’s too much for this project. Then I tried using a technique that I saw in a youtube video: model low poly, then copy the mesh and bevel it, then transfer the normal data from the first to the second. Ended up with a decent amount of polys, and very beautiful bevels. Would have used it in my current ship if I didn’t try this so late in the process. This should be done before marking the edges for unwrapping, but even then, UV mapping this with all the bevels is a nightmare, especially in Blender which has indecent UV mapping tools. I’m not using this in the current ship I’m modelling, but will definitely use it on another, in a more discreet way. So yeah, which leaves me with a process I call: fuck it and let’s go with bare flat geometry.
In texturing: considering that I want the player to go outside ships, that presents an immediate problem of scale. Even with a mere 300 or 400 meter ship, a single texture of 4092px is not enough to look sharp when the camera is very close to the surface of the ship, but I only noticed how bad it was after I made my first texture of a model of that size. This has several solutions, and I think I tested them all, but the most fancy is to have a library of detailed normal maps which can be rendered as decals in Unreal. This technique is explained in this video and is used in Star Citizen and Fractured Space. So I made my own normal library in NDO, a single 4092px texture that will be used for the entire game. And also, a smaller texture for color and emissive decals.
I doubt this is very performant, after all I’m stucking hundreds of decals with different materials in there, but we’ll see how it goes. If I did it again from scratch I would have created a fully shaded texture library with color+rough+emissive+normal instead of having a material for each, but I don’t know if that would be better or not.
In the end I achieved most of my objectives, which was to learn more technical art and end up with a workflow that doesn’t require high poly meshes and full texture normal maps. I just wish UV Mapping was simpler (and Blender makes this task even worse), and considering I’ll be using tiled normal maps in some areas, the necessary UV Mapping discipline is even higher (as you can see from the screenshot above). There’s a tradeoff between number of islands and right angles in UV space. With more islands you lose performance, but with less islands you end up with less right angles which might mess the alignment of tiled textures and you may get jagged edges.
Also revamped the UI, but that is a story for another day.
A lot of blueprinting went by and also a lot of thinking and finding solutions. Obstacle avoidance should be easy, but add variable object size and physics simulation, and the potential for bugs multiplies tenfold. I managed to create a simple obstacle avoidance, which is far from perfect, but an AI ship can now check if there is an obstacle to its target, and if there is, fire several rays in a star pattern to find the closest open space it can go to and then resume its path to target. I will leave AI at that for now because it was pretty hardcore.
I started the mission system and made basic mission managing. It’s very simple and linear, but there can be as many missions as needed in a level. At the start of the level, Event Dispatchers are bound for Starting, Advancing and Completing the Mission. These will manipulate the array of objectives, and see what their state is. The events can be called by any actor, but I think the Level Blueprint will do most mission scripting, where references of level triggers can be easily grabbed. This was pretty interesting to do, but I’ve seen enough blueprints to last a lifetime now. I’m itching for some art now =D
Character for The Hologram
Fanart of Pharah from Overwatch
After completing the racing course (you can see a video of it here https://www.youtube.com/watch?v=e_vIEi0v7h0 ) I decided to take my Patreon account down. In spite of having steady supporters from beginning to end, it wasn’t enough to stop me from worrying about bills and so I had to keep paying attention to commissions too. In effect, Patreon was straining me to complete some kind of content every month in addition to commissions and that workload wasn’t realistic nor it provided me with a large enough engaging audience, nor I could keep them interested for long. So, now I can work on the core game without worrying about dealing finished content to supporters.
About development proper: the good news is that now I have a pretty tidy spaceship class with all the core mechanics completely independent from the Controller class. This means that the Player should be able to pilot and fight in any spaceship in a level. Then I had to revamp other systems like the targeting system and docking. A complete revamp of the turret class was also made to be more clean, faster and to ensure that their convergence accounts for target distance and the currently selected camera. The navigation seen in the racing video is now called Drone mode (forward orientation controlled by mouse) it makes it easier to navigate in smaller ships without turrets.
With all that said, I wonder if in a real mission, the ship won’t be too hard to pilot, which probably begs for a tight control of a ship’s maximum speed and UI feedback of movement. So now I’ll be moving onto basic AI functions: seeking/fleeing, targeting and shooting, because shooting against drooling AI isn’t fun =)
A busy month went by (or was that two months?) and as I promised to relax my design rules for spaceships, ideas started to build up and finally I was able to overcome my art block just by doing, well, anything. I favor low and spacious profiles which in turn, will favor the ship being with its front turned to the target for most damage, which, while not entirely realistic, because in real life, turrets would probably be placed on long struts in order to have 360º freedom, but this way it will make things simpler for fun game design.
Then I wrote all the narrative for the story which, at this time, amounts to about 10k words but I’ll get back to that later in production, because I had an idea. In order to achieve small successes instead of just powering through the whole game (from here, it looks like a sisyphian task), I’ll create smaller fun games as I create the several systems of the game.
Because spaceship movement is the easiest and the first system, I’ll make a quick Newtonian racing/time-attack game. This will have many benefits: complete objectives faster, familiarization with the several skills necessary to production, delivering finished stuff quicker.
So now I’m making that prototype. Modeled the ship in Blender (although I’m going to learn Maya soon and dump Blender forever I hope), painted in Substance Painter and then adapted part of this UE4 Tutorial for the blueprint logic. It’s far from polished but I have a good working basis for now.
Finally, I’m back at The Hologram. Ran into a few troubles in December, lost my computer and then I got sick. I didn’t really stop working and completed quite a few paintings, but had to stop with The Hologram for a moment there. I also had time to brush up some “research” into other video games like Elite Dangerous and I finally got Homeworld Remastered Collection which is kind of my source inspiration. Homeworld is a great lesson in economy: of design, polygons, visual storytelling, etc.
I’m highly motivated to push this forward and naturally I started with a painting of something I always wanted to do: the Pleiadean Council, where gods get to debate life, the universe and everything. It’s a place to debate current creative technologies and philosophies and where general Pleiadean laws are issued. The current Council is composed of Wadjet, Zeus and Svarog.
At first I was expecting to add more characters and make it more like its source inspirations: Hémicycle by Paul Delaroche and the School of Athens by Raphael. But as soon as I started, it became clear that I put more on my plate than I can chew, so to speak, and solving the illumination for this was a challenge unlike any other I’ve had before. It’s far from perfect, but I think I achieved at least a reasonable light bounce on the three main characters and I refrained from adding more people and instead, give the buildings some personality. If you see the full resolution image, there’s also a wink to cellular biologists, who might recognize the aminoacids circle in Zeus palm projection.
Next week I’ll get my head around visual development, so, enjoy and see you later
Commission of black and white concept art for the film A Floresta das Almas Perdidas (The Forest of the Lost Souls) by Anexo82
Fan art of Bayonetta