I came up with a new terrain shading technique that combines some clever texture packing tricks with normal approximations in the pixel shader to produce some awesome results. The lighting on the terrain is now extremely highly detailed, and zooming down onto the terrain looks perfectly smooth. I can also feasibly add more lights for particular buildings or the cursor to make some awesome effects. Below are a few screenshots of the current work in progress: Read More
Most of this week’s work on my space 4X game has been in putting together a good system for placing items like 3D models of buildings on a planet’s surface. Part of the difficulty is in the fact that the planet graphics are generated entirely on the GPU, so the CPU doesn’t have access to that data. I came up with a fantastic system that works around that issue and gives access to not only height data but also details like what type of terrain is on a particular spot or whether it’s in an ocean.
So now I can place buildings on the surface of a planet, zoom out, rotate the planet and the building appears to stay put on the surface. When placing certain buildings like a water extractor, I can make it only placeable on water or make it fulfil any other criteria I want. I could make mining drills that you move around to find the best spot, or geothermal power stations that can only be placed on fault lines. There’s a lot of versatility in the system, so it’s been fun to work with this week. Read More
One of the challenges in developing a space 4X game is that the game has to be played on the colony, solar system and galaxy levels. Master of Orion II had separate galaxy map and colony management screens, and the solar system view was a small window that opened inside the galaxy screen. This was handy because sometimes you’d exit out from a planet and want to fast-forward a few turns before returning to that planet. I like this functionality, and want to preserve it in Predestination.
This means I need separate galaxy and colony views, which I can already do with my GalaxyScreen and PlanetScreen. These are distinct screens that can be switched between instantly, but I need to build a visually smooth transition between them. On selecting a planet, I’d like the game to zoom in on the planet before switching to the PlanetScreen so that the two screens look identical and you don’t notice the transition. I also need a solar system window that can be brought up in GalaxyScreen. Read More
Today I mark the start of a new year by kicking a new project into high gear. It’s always been a dream of mine to develop a space 4X game, and more specifically to develop a spiritual successor to Master of Orion II. MOO2’s own sequel was a colossal let-down, removing most of the elements that made its predecessor great and ignoring decades of 4X games from which to draw inspiration. Since then we’ve seen some great titles like Galactic Civilisations and Sins of a Solar Empire, but I don’t feel like any have really recaptured the magic of MOO2.
This year I’m now in the perfect position to make that dream a reality. I have a stable job as EVE Online columnist and contributing editor for MMO blog Massively, which pays the bills but leaves most of each week free to work on the project. I also live with two close friends, one a talented artist and the other an all-around clever clogs with a flare for planning, management, writing and social networking. Although I write for a living, I am a programmer with a Masters degree in computer science from one of the UK’s top universities. Read More