Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1392666 Posts in 66985 Topics- by 59835 Members - Latest Member: jlivingstonsg

June 20, 2021, 02:18:53 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsCANTATA - Sci-Fi Advance Wars + Supply Lines & Base-building
Pages: 1 ... 5 6 [7] 8
Print
Author Topic: CANTATA - Sci-Fi Advance Wars + Supply Lines & Base-building  (Read 19776 times)
Rogod
Level 2
**



View Profile WWW
« Reply #120 on: July 09, 2020, 12:45:49 AM »

Something tells me this is going to play like a hybrid of Transport Tycoon and Factorio - I'm sold :D
Will have a deeper look when I get back from holiday
Logged

bacon
Level 1
*


View Profile
« Reply #121 on: July 09, 2020, 05:41:35 AM »

Something tells me this is going to play like a hybrid of Transport Tycoon and Factorio - I'm sold :D
Will have a deeper look when I get back from holiday

I kind of swing between pitching it as like "Advance wars with supply line and infrastructure" and "Factorio-lite with tactical battles". Both are mostly true, but are received differently by their respective audiences.

If you watch the video I posted in previous reply you can definitely see how it's a bit of both!



Logged

CANTATA
JobLeonard
Level 10
*****



View Profile
« Reply #122 on: July 09, 2020, 06:39:53 AM »

Why not go with "Advance Wars and Factorio's fabulous lovechild" at that point? :p

EDIT: "As for graphics, this baby goes fashion shopping with Exapunks and Into The Breach"
Logged
bacon
Level 1
*


View Profile
« Reply #123 on: July 09, 2020, 07:05:28 AM »

Why not go with "Advance Wars and Factorio's fabulous lovechild" at that point? :p

EDIT: "As for graphics, this baby goes fashion shopping with Exapunks and Into The Breach"

I do worry that if people come in expecting Factorio they are going to be disappointed, as the automation stuff in Cantata is nowhere near the complexity of Factorio (by design). But! If it's usueful and people think it captures it then Shrug

For aesthetic stuff I was definitely inspired most by like earlier Civs + Alpha Centauri, as well as FFT stuff. Obv the ITB comparison is good for aesthetic value, but I worry that we're strategy adjacent enough that invoking it as a reference will sort of inevitably lead people to expect similar mechanics. And there are some similarities, but ITB is basically like chess on a 6x6 board - Cantata is about exploring like 500x500 maps, with tacitcal encounters across the whole thing.

I do worry sometimes I'm designing a game that ends up being like the TOO EXTREME ratings in every category for a roller coaster tycoon coaster.
Logged

CANTATA
bacon
Level 1
*


View Profile
« Reply #124 on: August 11, 2020, 07:47:31 AM »

FINALLY got around to making the latest development video!

It's the most sustained look at the game in its current state, clocking in at nearly an hour long. I dive into all the new stuff in the game, recap changes, and so much more!

Check it out here:




Logged

CANTATA
bacon
Level 1
*


View Profile
« Reply #125 on: December 06, 2020, 11:32:35 AM »

First, an obligatory line about how it has been a while since I’ve posted an update and how it’s because a lot of things are happening that we’re very excited about and can’t talk about yet, but rest assured the game is moving along nicely.

We’ve got a video coming out next week that is going to dive into some of the modding capabilities of Cantata, but before that I wanted to write up a little technical post on how we handle the maps from a programming perspective. This post is going to be geared towards people that understand some Computer Science topics, so feel free to get off the bus at this stop before we go on. Rest assured the next thing we post will be much more palatable.

Cantata’s maps can be big. Really big. Like, 500x500 tiles big.“500”, typed out on a screen seems a bit small, but consider that a standard Advance Wars map is about 20x20 tiles. That’s 25 times bigger than a normal tactics game. We’re talking bigger-than-War in the East big — War in the East’s total hex count on the “Immense” size is 2,600 hexes. Cantata can get up to 250,000, nearly 100x that.


Cantata’s Max Map vs. Other Games


War in the East

BUT! Just because we have the power doesn’t mean we’ll use it. For the main campaigns in Cantata we’re targeting much more reasonably sized maps so players can get through a given campaign chapter in a few hours. But if you want to make a world-sized tactics game, Cantata is here for you. I’ve even got some wacky mod ideas post-Cantata that I want to try to use the huge map for. The idea is that it can be a canvas for anything you can think of and hopefully open up new opportunities in tactics games as of yet undiscovered.

But how? Unity, Cantata’s game engine, functions largely off of people placing GameObjects in a given scene. GameObjects can have functionality and behavior attached to them, so it’s pretty common in tactics games made in Unity to work off of a “one GameObject per tile” model. This means each individual tile is its own object and contains the relevant interaction data, sprite, mesh, etc. This is mostly fine if your maps are tactics-game small, like 8x8, but you can quickly get into territory where even a moderately sized map, like 20x20, means you’re spawning 400 GameObjects into Unity. This is generally bad as GameObjects are “heavy”, so you want to minimize how many you have. Cantata zoomed out, on any map size, has a camera view of about 65x35 (2,275) tiles view, so having a GameObject per-tile just wasn’t feasible, especially once you add in UI, Units, Buildings, Supply Lines, etc. A game’s no good if it’s just map, we need all the other parts of the game too!

What I opted to do instead was to use a technique that leverages the GPU to handle the map drawing, instead of using the CPU-intensive GameObject case.

, the general idea is that, instead of having one GameObject per tile (which also means one mesh per tile), you create your tile mesh independently of any given tile. The “tiles” themselves are just textures anyways, and if you essentially copy their color data to the right location on a single mesh, your one mesh can represent a large number of tiles! Great!

Cantata goes a fair bit beyond Quill’s tutorial in a few places, especially because Cantata supports modded terrains. The key here is that, if I make a mod and you make a mod, and we want a map to be able to show terrains from both of our mods, we need to combine those tilemap tilesheets together somehow on the map itself. Just assigning a single mesh to a single texture doesn’t work, even if we tried to stitch all those disparatepngs together into a single texture (you quickly run into limits on individual texture sizes).

So instead we use Unity/HLSL’s ability to leverage texture arrays! Cantata basically grabs all the terrain spritesheets it has for a given map, and then puts them all into separate arrays based on their size — so 64x64 sheets get their own array, 256x256 sheets get their own, etc.

At this point we’ve got a mesh we’re making in code (Cantata’s maps are all generated at runtime), and a few arrays of textures to put on that mesh. Now is the final part where we’ve got to make the two come together! To do this in a high-performance way, we do some old school shader-trickery where we pass in a separate png to the map shader where the color of the pixels correspond to data about a tile. Here’s a snippet of actual code:



Without context on the whole file it may be hard to understand, but you can see at the top how I’m setting a value r to be a certain value based on the width of the spritesheet. Then later you can see I’m assigning a value in the TerrainIndexColors to be a Color, with that r value as the color’s Red.

I then look for that value in the shader, and use it to assign the right texture array:



The idea is that the color of a given pixel acts as instructions for the shader, telling it what array to pick from, what index of sprite in a given array, if the tile is in Fog or not, and so on. Add all this together and we’re properly setting the tiles! Cantata does other some other things here to allow for larger maps, like “chunking” tiles to be seperate meshes (with each “chunk” being 64x64 tiles), but what I presented above represents a a high level overview of the whole pipeline!

The best part this is that it’s also really fast. To the game, the giant map looks as computationally-intense as a few standard game models hanging around in a scene, but nowhere near as intense as the 250,000 GameObjects we would have been dealing with. In fact in Cantata, with the above system, a 500x500 (actually 512x512) map is only 64 total GameObjects! So it’s probably possible to do maps that are even bigger than 500x500 but I’ll have to save that for later.

It’s hard to really show what a 500x500 map would look like in Cantata, but here’s a screenshot of a randomly generated one. You can get a sense a bit of the scale if you look in the left corner — that small, barely visible thick black line down there is the UI that frames the tiles in the screen!



Hope you all enjoyed this little technical deep dive on some of the technology behind Cantata! Feel free to ask any questions about how we do stuff or if you want me to go into more detail on something I outlined above!

Thanks for reading, and look forward to the new dev log coming something next week!
Logged

CANTATA
JobLeonard
Level 10
*****



View Profile
« Reply #126 on: December 06, 2020, 12:48:05 PM »

I mean, the topic title says "Advance Wars x Factorio x Civilization", and two out of three of those games have huge maps Wink
Logged
bacon
Level 1
*


View Profile
« Reply #127 on: December 07, 2020, 08:46:47 AM »

I mean, the topic title says "Advance Wars x Factorio x Civilization", and two out of three of those games have huge maps Wink

I had to deliver  Wizard
Logged

CANTATA
bacon
Level 1
*


View Profile
« Reply #128 on: December 21, 2020, 10:58:16 AM »

Got a new development video for you all! Big dive into how to mod Cantata using the tool I built (Depot) to allow basically effortless modding! Would love for you all to watch and let me know what you think!



Logged

CANTATA
JobLeonard
Level 10
*****



View Profile
« Reply #129 on: December 21, 2020, 01:25:12 PM »

Wow, is this Depot stuff on-line somewhere? I bet a ton of people would be interested in that, even outside of your game
Logged
bacon
Level 1
*


View Profile
« Reply #130 on: December 21, 2020, 02:24:40 PM »

Wow, is this Depot stuff on-line somewhere? I bet a ton of people would be interested in that, even outside of your game

It is! And yeah I think it's super useful! I definitely made it so anyone can kind of use it for anything. I made an overview video a while back that walks through how to install it (it's free and open source!)





You can add it directly from the extension menu in vscode or add it from here:
https://marketplace.visualstudio.com/items?itemName=afterschool.depot

Let me know if you use it on something! Would love to get more feedback and such.
Logged

CANTATA
bacon
Level 1
*


View Profile
« Reply #131 on: March 10, 2021, 09:11:30 AM »

Hey all! We've got a new video up where we walk through creating an overhaul mod in the game! It's not directly gameplay, but it's us showing off all of the tools you'll have access to for creating a mod in Cantata. There's also a few peeks at some sprites we haven't really shown off yet  Shocked





We're doing part two of the stream next week at 11am EST on Tuesday, so if you're around come stop by on Youtube, Twitch, or Steam!

Youtube Channel
Twitch Channel
Steam Page

Also if anyone here has any questions about modding stuff in Unity I'd be happy to answer!
Logged

CANTATA
bacon
Level 1
*


View Profile
« Reply #132 on: March 26, 2021, 08:21:42 AM »

New video up from our stream series focused on Cantata mechanics and modding:





In this video we talk about all the map mechanics in Cantata and how both the development team and modders can leverage the map mechanics to make each map feel unique and interesting! We talk about:
Terrain Visibility
Terrain Movement Costs
Terrain Capacity (and Unit "Weight")
Terrain SFX
Terrain Sprite Types
Hacking Terrains!

We'll be doing part three of our stream next week at 11am EST on Tuesday where we dive more into units (or as we call them, Interactables), so if you want to learn about creating and importing custom units, that stream is for you!

Youtube Channel
Twitch Channel
Steam Page

Also if anyone here has any questions about modding stuff in Unity I'd be happy to answer!
Logged

CANTATA
Ramos
Level 5
*****



View Profile WWW
« Reply #133 on: March 27, 2021, 04:25:02 AM »

You have a good game here and made a lot of progress on your project since the first page, and I can also see you got more than 700 followers on the Steam page.
I congratulate you!

Do you plan on going self-publish or you seek a publisher?
Logged

bacon
Level 1
*


View Profile
« Reply #134 on: March 27, 2021, 10:06:06 AM »

You have a good game here and made a lot of progress on your project since the first page, and I can also see you got more than 700 followers on the Steam page.
I congratulate you!

Do you plan on going self-publish or you seek a publisher?

Thank you! It is really crazy going back through all the posts and seeing the progress over time, especially considering how long ago it is  Shocked

For publishing, it was always a bit of a toss-up. I was trying to get a publisher for a long time and was planning to self-publish if nothing came through. However (and this is a bit on the DL), we did pick up a publisher Smiley We'll announce more later this year (and yes a "We"! I've got a whole team now!) but rest assured the game is 100% happening haha.
Logged

CANTATA
vivaladav
Level 1
*



View Profile WWW
« Reply #135 on: March 28, 2021, 05:52:53 AM »

I went through your dev log and watched your latest videos and it's clear you really put a lot of work into this, but the results are definitely there, kudos to you!

I see that you're still have the progress icon at 60% though, is that reflecting the actual state of development or is it just that you haven't updated it for a while?
Logged

Creating "Virtueror, the virtual conqueror" (RTS + 4x + RPG)

[Wishlist on Steam]
[TIGS devlog][YouTube devlog][website]
liva
Level 0
**



View Profile
« Reply #136 on: March 28, 2021, 05:57:01 AM »

Oh yes, this looks good!

I just sent a request to playtest the game on steam :D
Logged

bacon
Level 1
*


View Profile
« Reply #137 on: March 28, 2021, 07:24:21 AM »

I went through your dev log and watched your latest videos and it's clear you really put a lot of work into this, but the results are definitely there, kudos to you!

I see that you're still have the progress icon at 60% though, is that reflecting the actual state of development or is it just that you haven't updated it for a while?

Thanks! It's definitely been a long road and I've learned a ton. For the progress, the game always feels about 60% complete haha. It's probably closer to 70-80 now, and most of what's being worked on is core gameplay content/assets. Most all of the systems are in, so right now the team is just focused on design and such. And UI... always more UI. I'm actually in the process right now of redesigning the scenario editor to make it work with the other UI stuff I did, so getting in proper tooltips and such.

Oh yes, this looks good!

I just sent a request to playtest the game on steam :D

Thank you! Steam playtest will hopefully roll out later this year, so we'll see you around then Smiley Also if you're interested in being a model, reach out to me directly and I can give you early access to the game! We want models to have their hands on it asap.
Logged

CANTATA
bacon
Level 1
*


View Profile
« Reply #138 on: April 08, 2021, 07:49:20 AM »

Got a new video for everyone:





It's our latest video in our "Creating a Medieval Mod from Scratch" series, and in this video we walk through bringing in custom units into the game, no code required.

A cool part of this video too for all the devs probably reading this, is that we dive more into our asset pipeline. Note how you're able to bring in new stuff to our Unity game without needing to open Unity, deal with AssetBundles, etc. It "just works". Happy to answer any questions here as well for people who are also looking to setup their own Unity-based games to be mod friendly!
Logged

CANTATA
JobLeonard
Level 10
*****



View Profile
« Reply #139 on: April 08, 2021, 08:16:07 AM »

Ok, I'll bite: how much of this was motivated by mod-friendliness and how much of this was being tired of fighting Unity yourself? :p
Logged
Pages: 1 ... 5 6 [7] 8
Print
Jump to:  

Theme orange-lt created by panic