Welcome, Guest. Please login or register.

Login with username, password and session length

Advanced search

1411365 Posts in 69352 Topics- by 58404 Members - Latest Member: Green Matrix

April 13, 2024, 04:11:57 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsPhantom Brigade - Mech, Turn-Based, Tactical RPG
Pages: 1 2 [3]
Author Topic: Phantom Brigade - Mech, Turn-Based, Tactical RPG  (Read 36562 times)
Level 0

View Profile WWW
« Reply #40 on: November 30, 2016, 12:41:33 PM »

You're right, it's been too long since we've had a development update. We've fallen into the trap of keeping our heads down and working really hard on the game.

I think it's about time we did another dev-log. Lots of things have changed and we've got all manner of interesting things to share that have come from our development process.

Here's a little development update to give an idea where the game is at right now. We're almost done with our base tech and systems. That will allow us to move more towards content and gameplay development. So it's an exciting time for us.


Level 1

It's a good day to die.

View Profile
« Reply #41 on: December 09, 2016, 05:01:21 PM »

So, I've been poring over this devlog the past couple weeks, trying to steal your tricks re: the contextual tiles. Before I badger you questions tho, some feedback:

It looks really good! I love the design lines of the head (I liked all versions), under armor, joints, the detail in the textures and the thought given to similarities between equipment sets, everything. The realist in me is bothering by the complete lack space dedicated to any kind of engine or power gen... but it's a videogame, so.

The walk animation really brings it all together, which is actually where my criticisms start - the dev video you posted really doesn't do a good job of meshing the different animations. From how far down the rabbit hole you've gone with making everything else blend seamlessly, I assume that's gonna come around one day, but right now, it's very jarring, and definitely undercuts the impact.

Now if I can ask you a couple questions about the modular tiles. My main question right now is, how do you generate the byte arrays representing which volume points are solid and which aren't? Clearly, as you can update level geometry in real time, there's some way to automate it, but as far as I can tell this is the most you say on the subject:

From that set of 8 corners, each of which can be either full or empty, you can build a basic shape representing a volume configuration:

nor does a byte array have enough significant places to cover all the neighbors you'd have in 3D space (26). I know I'm probably missing something, but you can just take that as a compliment to the quality of your code, hah.

Speaking of numbers, you say at one time there's 55 configurations (after rotations/mirroring); then later you say 53, as does the Unity preview. I'm assuming 55 is the typo since it's not shown in-engine anywhere, but clarification would be helpful.

Again, thanks for sharing all these information, and reading this far; if you don't have time to tutor me, I totally get it. The game looks great and I'm rooting you on! Cheers.

Level 0

View Profile WWW
« Reply #42 on: December 09, 2016, 07:35:02 PM »

To give a little bit more information, the actual number isn't all that important. Depending on your use case, you'll get 64 or less, after you shave off rotations.

We do the entire process automatically, by taking the bit layout of each tile, and then passing it through a series of 8 transformations. If the transformed masks match any of the existing defined masks, we know we have a duplicate. In our case, we're specifically building stylized architecture, and to that end, some configurations just don't make sense.

To elaborate on the transformations, here's a snippet from our source code documentation

   // Transformations

    // We need to check the rotated and flipped duplicates
    // Bools map to two "floors" of a 2x2x2 3d group of objects this way
    // _____
    // \0   3\
    //  \1___2\
    // _____
    // \4   7\
    //  \5___6\
    // Flipping is just swapping of 0-1, 2-3, 4-5 and 6-7
    // For rotation, since bools make up two circularly mapped "floors", a simple CCW rotation by 90 degrees looks like this:
    // _____        _____
    // \0   3\      \3   2\
    //  \1___2\  ->  \0___1\
    // _____        _____
    // \4   7\      \7   6\
    //  \5___6\  ->  \4___5\

In regards to the byte array, there's a bit of detail I think you might be missing. We have a number of volume configurations, that define a tileset using a byte mask. The world is then made up of a series of (points), (or voxels) in 3d space. In order to generate the final geometry, we look at each series of world (points) and place a (spot) mesh that is determined by checking that byte, against our tileset's bytemasks. When we move to the next (spot) we offset a bit in world space, and the neighboring (points) will be a part of the new (spot's) volume. That is what ensures all meshes are completely smooth and contiguous, as they are just made up of the intersection of all neighboring points.

Here is my lovely programmer art as an explanation :D Just expand that into all directions / axis

X = (point)
0 = (spot)

X-X-X ->
|0|0| ->
X-X-X ->
|0|0| ->
X-X-X ->

For some additional context / research. We are using an extrapolation of the algorithms used in marching squares, on 3d space.


(slightly less programmer art explanation)

We are of course ignoring the step where we interpolate to get a smooth surface. Unless we felt like doing some ridiculously fancy procedurally generated smoothly rounded buildings. Which would also make damage a massive problem to implement. Maybe we'll save that for version 2.0

Always happy to answer any additional questions you may have.

Fun techincal stuff aside! In our lore, the world has very little fossil fuels accessible, due to the number of surface impacts that have happened. Because of that, they're a fair bit ahead of us in terms of power generation and robotic technology. The mechs use a compact reactor that's underneath the pilot capsule in the back. From there, the joints are a series of high powered electromagnetic links inside the couplings. They're an extrapolation on currently available Axial Flux Motors. I should do some illustrations to show the internal workings of them, and where all the parts are located. Just need to find the time to do so! Haha

An array of these motors are going through the joint pivots. Bugatti is using them to drive one of their cars and it can put out over 1500HP. So it's not a stretch you could make them very powerful when running off a fusion reactor.

To clarify, what part of the animations isn't meshing? I know there's a lot of polish yet to be done there, but I'm curious what it is that stands out to you. Got to make sure I'm not missing something i haven't accounted for already Wink
« Last Edit: December 09, 2016, 07:56:48 PM by C7 » Logged

Pages: 1 2 [3]
Jump to:  

Theme orange-lt created by panic