A Big Month

I’m not sure how it happened, but it’s October.  We’ve been saying “Coming this Fall” for a long time, and suddenly, it’s Fall.  We plan to launch our Kickstarter campaign this month, which is both exciting and terrifying.  Today, though, we have a new gameplay video!  It has been a while, so there is a lot of new stuff going on.  This is the first video showing the ship build screen, a bunch of new ship tiles, and a tease of our “clan” concept.  Enjoy!

Continue reading “A Big Month”

Time to Build

At long last, ship building is a reality in Ladon. We’ve got a legitimate ship building screen. It’s very minimalist at the moment. The currently selected tile is shown to the left and the spots where that tile can be placed are shown as the glowing hexagons around the ship. Different tiles have different restrictions about where they can connect. In general, the most expensive and hard-to-craft tiles will have the most attachment points.

Continue reading “Time to Build”

A Year’s Progress

I was looking through some old builds of Ladon and realized that it has been about one year since we officially started. The image above [click here for full image] shows how it looked then versus now. I had just started dusting off my knowledge of OpenGL and experimenting with different game engines. I bounced from Irrlicht to Ogre3D to Unity and then back to Irrlicht. The June 2014 screenshot is from the very first build that I sent to Ansel and Garrett to show them my dinky little project and ask if they were interested in helping out. It had one light source and a grand total of about 1000 triangles being drawn. For comparison, currently, every spark on the screen is a light source and each individual tile on the ship has about 3000 triangles.

Running Into Stuff

Last week was a busy one.  We’re putting together a series of “Meet the Team” videos, so stay tuned for that.  We’re also very close to working out a deal with some amazing musical talent.  Hopefully, there will be an announcement this week.  I find that music is a big part of shoot-em-ups, more so than other genres, because shoot-em-ups have a very rhythmic gameplay.  I feel like I rarely even notice music in FPS games.  The artist we’re hoping to work with has a style that couldn’t be more perfect for Ladon.

Programming hit a big snag last week, but I finally solved it over the weekend.  I discovered that Unreal Engine has a problem with collisions.  While searching for a fix, I found that lots of UE4 users had run into the same issue: [1] [2] [3] [4] [5]

Collision shapes

What’s happening in that image is that the ship is passing right through the background tile, which shouldn’t happen.  The blue outlines are the “collision shapes” for the objects.  Long story short, in a game, you create “collision shapes” so that when things run into each other, you can make something happen.  You could make the objects bounce off of each other, or you could make them take damage and possibly be destroyed, and so on.  You generally use simplified shapes because calculating whether or not they are touching takes a lot of math.  In other words, you don’t want to test whether or not every single little detail of the ship is touching something.  So, you create a kind of boxy shape that wraps around your objects and test that.

Well, the problem with UE4’s collision detection is that it doesn’t work for “attached” objects.  Attachment means that when you move or rotate one object (usually called the “root” or “parent”), the attached objects (usually called “children”) come along for the ride.  It’s not much different from attaching a wing to a fuselage in the real world.  But in UE4, those wings would magically pass right through everything without taking any damage.  This was a huge problem because Ladon is built entirely on the idea of attaching one thing to another.

The image at the top of this post shows collision working, finally.  I had to dig into the code for the engine itself, which I really didn’t want to do.  Sometimes, there’s no way around it, and this was one of those times.  The gory details aren’t exciting, but the gist of it was finding the code that handled collision for the parent object and copying it to the children.  I shared the fix on Epic’s forums to maybe help the other guys running into this same problem.

Over the Top

No, that’s not a reference to the greatest movie about professional arm wrestling ever made.  It’s the only phrase I could possibly use to describe the video that Josh put together today.

When you recover from the inevitable face melting that results from watching this video, you might notice some of the new visual details we’ve added.  Probably the most obvious is the camera shake.  We might dial this back a little, so that it doesn’t become irritating while playing.  It really adds intensity to the visuals, though, seriously.

There’s also a camera zoom that happens when enemies are nearby.  The camera zooms out so that you get a better view for combat.  Once all the enemies are gone, it zooms back in so that you can focus on the tiles.  The change in zoom is a strong visual indicator that something bad is nearby.  Before, we just had the cursor change shape and color, which was fairly easy to overlook.

The background tiles are no longer just dull, gray blobs.  They have some actual materials applied.  Most of them are still pretty plain and repetitive, but you can see some scattered here and there that have some interesting materials.  Those are the ones that you’re hunting.  Josh and Garrett are working on the full list of materials and how they should look.

You’ll need plenty of basic metals to build new stuff for your ship, so those boring metallic tiles aren’t just there to fill empty space.  But the challenge will be to find areas of the map that contain concentrations of the rare materials, because those will let you build the best weapons, engines, shields, and so on.  Unsurprisingly, you’ll probably run into the nastiest enemies in those areas, too.

Tiles (and enemies) are just randomly generated in the build that you see in the video.  That won’t be the case in the released game.  We’ll be using a mixture of procedural generation and old-fashioned level design to place everything.  But the end result will not be random at all, in the sense that it will be the same every time you play.  Purely random levels are interesting in some ways, and much easier to create, but they don’t suit the style of The Ladon Device.  We want the player to be challenged to find the best way through a level, which means we want to design the levels in a specific way.

The Life of a Model

No, not that kind of model.

The image above shows Josh’s original 3D model of the cockpit versus the scaled-down version that will appear in the game.  And here it is actually running in the game.

Cockpit retopo in-game

The tiles around it are still just placeholders.  Updated and polished versions of those are on the way.

Taking a model from around 100,000 triangles down to around 1,000 is challenging.  All the little details of geometry are lost from the actual model, but you can “fake” them with an old graphics trick called normal mapping.  It can produce really excellent results if you are very careful.  Getting it right for the cockpit took the better part of two days.  I had to experiment with several different tools, and eventually found that the least painful method is doing it in Blender.  That was unexpected, because Blender isn’t really designed for this purpose, and it has a reputation for being… unreliable… to put it really gently.

It takes several iterations to really get all the detail correct, but it’s really worth it.  The gist of it is:

1) Build a low-poly model from the high-poly version
2) Use a tool (Blener, XNormal, etc) to “bake” a normal map
3) Test the normal map in a quick render
4) Say, “That looks horrible” and start over
5) Repeat steps 1-4 ten times
6) End up with a normal map that looks half decent
7) Go into Photoshop and manually fix problem areas in the normal map
8) Declare victory and move on to the next model

You end up with models that have orders of magnitude fewer triangles than the originals, but look 99% as good.  Depending on things like how close your camera will be to the object, they might even be indistinguishable.

Getting Creative

If you’ve been following us at all over the last few months, you’ve seen plenty of flashy effects and explosions.  Today, we’re excited to show something a little different: ship building!

This is a look at our ship building mechanic in its earliest stages.  It’s truly what I’d call “hacked together” at this point.  We’re still not using Josh’s gorgeous tile models, yet, either.  Regardless, we played around with building ships, flying them around, dealing out destruction, and it’s already surprisingly fun.  That’s good news, because it’s the heart and soul of the game.

There are still plenty of flashy effects and explosions.  In fact, there’s a whole new weapon type that sneaked into the game — rockets.  You can see them at various points in the video, homing in on their targets.  Homing rockets have long been a staple of the shoot-em-up arsenal.  They have the huge benefit of always hitting their target (assuming your target isn’t smarter and/or faster than your rockets).

Ship Building, Almost

Some captures from the next teaser video…  A teaser for a teaser?

The_Ladon_Device 2015-05-06 15-51-43-53

The_Ladon_Device 2015-05-06 15-52-23-53

The_Ladon_Device 2015-05-06 15-52-43-51

Ship building is slowly becoming a reality.  Today, I added the ability for the player to just add tiles onto the ship wherever they like.  No mining materials is required, for now.  The purpose of this was partly to stress test the engine with lots of tiles and partly just to play around with different sizes and shapes of ships.  Turns out, it’s really fun.  Adding a dozen thrusters and making an unnecessarily fast ship is fun, and so is having fifty lasers.

These big ship builds can look really cool, too.  Just sitting back and watching the game being played is getting more and more entertaining with each new weapon type or particle effect.  At the risk of sounding cocky, it’s starting to look and feel like a true shoot-em-up.