Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Assembly RTS - Unleash Your Forces, a Physics-Based Strategy Game

A topic by FlightFight created Jun 05, 2023 Views: 812 Replies: 6
Viewing posts 1 to 7
(6 edits) (+1)

Hi there, I’m working on Assembly RTS, a physics-based real-time strategy game. It will feature faction customization with individual unit configuration.

Main Capsule

The game is currently in its Alpha stage, with the groundwork in place for the lobby system, Steam Workshop Integration, and lossless peer-to-peer networking. The code is also highly optimized to support a large amount of active units, without any client desyncs thanks to partial cross-platform determinism.

Unit1

The artistic design of Assembly RTS is still unsure as I explore more productive ways to create a coherent and appealing artstyle. Assembly RTS also features a map editor which is still in development.

Unit2

I share updates on the project’s progress on my YouTube channel. Once we reach 500 subscribers, I plan to open a Discord server where we can further discuss and shape the future of Assembly RTS together.

Units

For the past week I’ve been working on many different things, but most notably I open-sourced my experiments to figure out the best way to supplement my Unity ECS-based code with a different option. I need to do this because Unity ECS doesn’t work with hot reloading and has long recompile times due to the Burst compiler, hampering my productivity.

You can find the repository here: https://github.com/seannowotny/EcsPerformanceComparisons I look forward to contributions to make this a more comprehensive comparison project.

That’s it for this devlog, I hope you got something out of it.

I’m looking forward to your feedback!

(+1)

Looking forward to seeing more!

(1 edit)

Hi everyone, and welcome back to another devlog for Assembly RTS!

ShareX 9zLqk0Ms0l

I got a bit burned out from coding over the last week, so I focused on improving the art for Assembly RTS instead.

Specifically, I was looking for a way to speed up my entire workflow, a task I’ve been struggling from the very beginning of this project.

It’s very important that I can quickly create and edit game assets. Not only because these are essential to an immersive and fun experience but also because it would make it much easier to show off the vast potential that lies within this game.

Pixel Art

At first, I tried going with a low resolution, pixelated art style. This would be a big departure from the current art style of Assembly RTS. Paired with trim sheet texturing using UModeler, this turned out to be a workflow with great potential!

I explained the concept behind trim sheet texturing in a previous devlog. You just need to know one thing: It’s really fast to texture models this way.

Pixel Art

There are a couple of downsides, however:

  • It’s arguably less impressive than more realistic visuals
  • It’s difficult to create terrain that looks good at different distances with this kind of art style
  • There are no details to appreciate when getting up close with the camera

I think the last point in particular is pretty major. Who in all honesty doesn’t love getting really close to the action in an RTS game? The second point is also very important now that I think about it… When you zoom out, there should be a nice scenery to admire, befitting the contrasting chaos. Suffice it to say, this art style is not going to do the intense battles in Assembly RTS justice.

Using Surforge

Next, I tried integrating Surforge into my workflow. It took some getting used to but now that I’m more familiar with it, I can say that it’s an incredibly powerful tool for quickly texturing hard surface models.

I tried different art styles until I found something I’m happy with. Here is what the Mainz hovercraft used to look like. I created it a few months ago: (Please keep in mind that all of my models are still missing armament and their hoverpads for propulsion)

ApplicationFrameHost g8LVzYf9NJ

To make this model’s texture was a very time-consuming process: First, I created a high-poly model in Blender. Then I rounded off the edges using 3DCoat. Then I baked the resulting model’s features in into the low-poly model for added detail. Afterwards, I continued texturing the model in Substance Painter until I finally imported the files into Unity.

This is the old workflow I’m trying to get away from for obvious reasons.

But now I no longer need to create a high-poly model. I can add extra detail directly in Surforge. This is what what I came up with in the beginning:

Unity Taa0TZqsuZ

I refined the design further and this is one of these rare occasions where I’m proud my programmer art!

Screen 3072x2048 2023 06 12 17 4

In-game it fits amazingly well with the terrain textures:

Unity v2TaQN9Aks

Unity nIPpr4XZrv

Now you just need to imagine the missing hover pads on each corner of each hovercraft and their armaments, which are still missing. I’m sure it will look amazing! And the best part - Texturing my other models in this same style should be a very fast process compared to my old workflow.

Hey everyone, and welcome back to another devlog for Assembly RTS!

FyltOGnWAAM4W68

This week, I continued working on the visual department of Assembly RTS. I intend to keep working in this area until I have enough screenshot material to finally publish the Steam page for Assembly RTS.

While this doesn’t get me any closer to finishing the meat and potatoes of the game (code), I’ll finally be able to gather Steam wishlists. Plus I can take a break from programming as an added benefit!

The first thing every gaming enthusiast looks for when stumbling upon a great-looking game is that juicy Steam wishlist button. Not having that button ready to be pressed is a serious waste from a marketing perspective.

It doesn’t matter if a title was wishlisted a long time ago, Steam will notify the wishlistee the day the game is released. Wishlists simply don’t “depreciate”.

The amount of wishlists at launch can also make a huge difference in the promotion by the Steam algorithm. Highly wishlisted games soon to be released are even guaranteed to show up on the Steam start page, under the “Popular Upcoming” section.

The Rendering Pipeline Dilemma

I originally started developing Assembly RTS using the High Definition Rendering Pipeline (HDRP) of Unity. HDRP supports high-end graphics with very realistic visuals. Later I was forced to switch to the Universal Rendering Pipeline (URP) due to the map editor tool I was using at the time.

I’ve since switched to a different map editor tool but continued using URP for the time being. URP has less visual fidelity and because I want to improve the visuals of Assembly RTS all-around, I chose to switch back to HDRP. I spent a few days testing the performance differences between HDRP and URP to see just how bad it is. It turns out that the difference can be quite severe depending on the settings.

HDRP has a base overhead that is strongly noticeable whenever nothing noteworthy is rendered to the screen.

In the main menu URP delivers 1500+ FPS on my main machine. In HDRP it’s around 250 FPS.

Yet, to deliver a similar level of visual fidelity in-game, you sacrifice about 4 Milliseconds compared to URP. I’m not entirely sold on this bargain but admittedly the added level of realism of HDRP is undeniable.

Scene in URP

AssemblyRTS 3n6R1d7uoT

Scene in HDRP

AssemblyRTS OMTwUmFFgw

(Yes, I didn’t match up the post processing, and don’t worry, I’ll get rid of the Mickey Mouse ears on the rail guns)

New peripherals and more re-texturing

To get more consistent 3D visuals I re-textured some of my hovercraft models in Surforge. I also created a brand new weapon asset and the long-awaited hoverpads. I think they turned out great.

FywpetOXsAwMNet FywpfFrXsA4RtY9

AssemblyRTS slioDQtRwP

That’s it for this devlog. Let me know what you think, there is always room for improvement! Follow me on Twitter and YouTube!

(1 edit)

Hi there!

This week I continued improving the 3D assets for Assembly RTS.
This is also the first time I’ve used Unity’s VFX Graph for an extended period of time.
It worked great for creating this heat distortion effect!

distortion effect 2

The updated vehicle textures and building designs:

whOcTsScdi

oeK0StdtrL

This is also the first time I’ve used shader graph animation.
It helped me quickly create this light emission effect:

shader animation

That’s it for this devlog. As always, I’m looking forward to your comments and feedback.
If you would like to follow the development Assembly RTS consider following me on Twitter and YouTube!

(1 edit)

Hey Strategy Game Enthusiasts!

This week I continued working on enhancing the visuals of Assembly RTS and added a fog of war effect.

Image

Reducing Visual Clutter and Improving Immersion

Two important goals for Assembly RTS are to keep visual clutter to a minimum and to make the game as immersive as possible.

To achieve this, I originally envisioned most of the important information about units, such as their health to be part of the ‘physical’ world instead of the user interface. This is why I initially added two distinctively colored surface areas to each vehicle. One area for the team color and the other for the current health status.

OrNlQSCIQE

However, I later noticed that this introduces too much visual noise, especially when the camera is zoomed further out. So I decided to only highlight the team color on the surface of each vehicle.

Unity DblGcdeIAH

This looks more elegant and should be more easy on the eyes, even when a lot of units are visible on screen at the same time.

In the future, vehicles are going to emit different levels of smoke depending on how damaged they are.

Health is also going to be displayed by a health bar above each unit (toggleable).

Here is what I’ve got so far:

Image

Image

Additional VFX

I had the idea to let the hovercraft not only distort the surrounding air due to their futuristic propulsion system, but to also kick up the surrounding snow. So I went to work in Unity’s VFX graph and came up with this effect. I think this turned out looking quite impressive! (As you can see I also integrated snow fall)

Image

You’ll just have to imagine the hovercraft actually moving around for now. In this example the hover logic is disabled.

Fog of War

Next, I added fog of war and some animated cloud shadows. It’s all starting to come together!

Image

Image

Image

Starting off Work on the In-Game UI

Before I make the Steam page for Assembly RTS public, I would also like being able to showcase close-to-production ready UI elements for the in-game scene. Unfortunately, the browser-based user interface solution I’m using for my main menu suffered from frame rate issues in this more graphically intensive scenario.

So after a little bit of research I set up OneJS for my in-game user interface. OneJS as a tool may be a bit overkill as the in-game user interface isn’t going to be very complicated, but it offers a workflow I’m already familiar with.

In Figma, a UI concepting tool, I had difficulty coming up with an attractive design that can keep up with the competition. What I came up with looked so mediocre that I’m not even going to show it here 😅

I’m better at 3D modeling than 2D visual design, so I tried using 3D models for the UI instead. But unfortunately post-processing caused me a lot of trouble. The rendering pipeline I’m using doesn’t support displaying objects with distinct post-processing settings. With that, this option is out of the window.

So instead, I started supplementing the OneJS-based user interface with a shader-graph-based solution. It’s very tedious to create UI with the help of Unity’s shader graph tool but it has the added benefit of supporting the bloom effect when you crank up the albedo intensity. And bloom, as you may be aware of, can make anything mundane look more interesting.

Image Image

This is the energy bar showing the current power level your base is at. I think I’ll change it to go from left to right instead of originating from the center and I’ll further improve the visual clarity.

The rest of the in-game UI is still very rough around the edges. I’ll show it off in the next devlog, once it’s in a better state.

That’s it for this article. I’m looking forward to your thoughts! Please leave a comment if there is anything you want to add or have any questions or feedback.

If you would like to follow the development Assembly RTS consider following me on Twitter and YouTube!

Hey everyone, it’s been a while since I posted anything here. (You can find my main devlogs on IndieDB)

I thought I’d share my newest devlog on here since it’s of a more personal nature than usual.

Limiting Social Media

As an indie game developer I had been incorporating more and more social media in my free time.

My thought process was that by being active on social media I could find some good marketing opportunities for my game, Assembly RTS along the way. This has been been true to a limited extent.

However, I recently noticed that, even though I didn’t expose myself to the dark side of social media (drama, politics etc.) and preferred checking out what other game developers and artists are working on, it had an overall harmful effect on me.

Being exposed to so much superficial communications had a negative impact. Once I noticed this, I made some pretty big changes on how I spend my free time.

I made the decision to log out of all social media platforms including Discord and YouTube and to not give them a single look for a whole week. Additionally, I forced myself to not play any video games in my free time, except for real-time strategy games.

So how did it go? I feel great, and there have been so many positive benefits!

Good Sleep

During the past few months I have been struggling to fall asleep at night. While I was no longer using social media the problem lessened significantly. Getting a good amount of sleep is a big game changer. Concentration levels and overall well-being are way up!

Writing Music Again

I caught myself by surprise as I started writing music again in my free time. A most welcome change!

I have been trying to write music after work without success because of a lack of energy and motivation. Now that I have reduced all the elements from my life that satisfy a low-key addiction to instant gratification it felt very natural to start writing music again. Now wouldn’t that be awesome? If I could write the soundtrack for Assembly RTS myself, in my free time!?

RTS Games

I also found a brand new liking for real-time strategy games. Believe it or not, even though I’m working on a real-time strategy game myself I barely played any games in this genre during 2023. The main reason for this was a severe lack of energy after a hard day of work.

However, now that I have much more energy, I have come to enjoy the singleplayer campaigns of Empire Earth and C&C3: Tiberium Wars very much.

I actually never played the single player campaigns of strategy games very far. It must have been due to a lack of patience that I generally preferred the multiplayer aspect of strategy games.

Life Without Instant Gratification

Now that I feel much less like a dopamine addict I’m looking forward to an even more interesting and fulfilling future.

Who would have thought that cutting out all forms of instant entertainment would have such a positive effect in such a short amount of time. I honestly expected that I would feel absolutely miserable without my ‘fix’, but after a few days often feeling a sense of withdrawal and boredom I now feel better than ever before.

I highly encourage all of you to try this experiment yourself and to cut out all forms of social media and other forms of instant gratification out of your life. You might be surprised.

Social Media Going Forward

From now on my plan is to utilize social media on Fridays only. This is the day on which I usually post my devlog on IndieDB and occasionally do other marketing-related stuff.

I’m not sure how severely I should keep limiting my Discord use in the future because I utilized that platform to quickly gather advice on various topics whenever I needed it. I’ll have to give that some more thought. Perhaps I should use old school forums for that purpose instead, to limit the risk of being distracted.

Please let me know your thoughts on this topic!