Week 3 – Features showcase

Hello everyone, VisionElf here, I am going to present you some things that we made during this last week, after we published the first video.


New UI

The first thing we did after the video is that updating the UI. The UI has been designed by a third person that joined our group to make 2D UI Art, and we are very glad to have him on our side cause his work is pretty nice!

You can also notice that the main aspect of the UI has changed, the selected units panel is now on the right side while the abilities has been moved to the center. It is something that we decided a long time ago, but it has been discussed everyday since. Please note that this might not be the final UI, and if you have anything to say about it, please feel free to give your opinion on this!


Team Colored Units

This might seem hard to do, but in fact thanks to Unity’s Materials system, it is pretty easy and can be done in seconds.
We had a few seconds to spare, so here it is:


Progression Bar

In addition of a new UI and a new Health bar, we’ve also added a progression bar displayed right below the health bar.


Control Groups

Just like every other RTS, our game must have control groups.
You can create them by holding Control, and a number key. You can also just add a new unit to a group by selecting it and holding Shift instead of Control. We’ve also displayed the group number on each units for more clarity.


Selected Units Panel

Our game will be heavily focused on battles, and the player needs to know what is important and what is not. In order to achieve this, we must give the player the right information at the right time. One of our main concerned, is the Selected Units panel. In every other RTS, it just gives what unit we selected and some information about the approximate life and mana they have.
We are trying to push this further, we’ve implemented a sorting system, that allows the player to sort the selected units with predefined sorts. Currently, we only have sort by name, life and mana, that can be toggled between ascending and descending.


The game is far from being finished. We lack 3D assets, and we have several things to fix before working on the core of the project like creating races, campaign maps, mutliplayer… We’re trying to implement smaller features, before going deep into the hard core stuff!

We’re still looking for 3D artists, any of you wants to join the project, feel free to contact us!

Thanks and see you later!

First video ever

Hello everyone!

We’re proudly presenting you our first gameplay video ever!
Please note that the game is not finished at all, it is just a video to demonstrate our current features and the general progression of our development.

We’re getting closer and closer to a state where the game will be playable, but we still need some internal engine fixes, very important fixes actually that might require more time than expected…

We’ll see!
Thanks for tuning in, and see you later!

We’re getting closer

Hello everyone, I am going to present some exciting news about our project, we’re finally getting somewhere, especially with the addition of the fog of war.


Projectiles Tests

Until today, the projectiles were pretty basic, they were just objects that moved towards a position, and if the target was a unit, as the position was updated every frame, the projectile was following the unit as expected. Unfortunately, with this method we couldn’t really tweak the projectile, create curves and stuff.

I stumbled upon a free Unity plugin called iTween that was very popular because of its simplicity, and also because it is free. Using this script, we can set a path that the object will follow with curved corners, and using a tween method the object’s speed will change during time. These tween methods are defined by mathematical functions, that we can setup in the function call with differents ease types.

I tested some ease types and I encountered several problems. The first time I tested it, I used an easeIn and found that the projectile was too slow at the beginning:

As you can see, the curves are perfect, and that was what I was searching for. However, the speed and acceleration is not realistic and strange. By increasing the speed, we can get a more realistic result, however it might be too fast at the end.

Then I tested another type, the easeOut

As you can see, it is the exact opposite, the projectile is starting quite nice, but is slowed way too much at the end. I didn’t tested every ease types as there are many, so I just gave up for now and used the linear ease type, with no speed change during the travel:


I can’t build here

When we created the build ability, we didn’t implemented any checks on the building position, so I have added this check, and the preview building change its color when it is not possible to build at its position, however, I do not check for terrain, cliffs at the moment, but it will be soon implemented:


Smart Selection

As you may know, in some RTS, like StarCraft 2 for example, there is a “smart selection” feature that will allows player to select the correct units, depending on what he is highlighting. For example, when a player draws a selection rectangle around several units and several buildings, it will only select the units. For the moment, we only have 3 types of “smart selection”, trying to reproduce the selection of StarCraft 2 as we don’t really have any requirements for now:

  • Only Units: When there is at least one unit that you own in your selection rectangle, it will only select the units in that rectangle
  • Only Buildings: When there is no units that you own in your selection but there is at least one building that you own, then it will select all buildings in your selection
  • One Enemy: If there are no units or buildings that you own, then it will select the first enemy in the selection

Demo:


Finally, some fog of war

After days of trying to get it work, Nepho found an excellent script that does everything that we’ve wanted so far:

It even support the terrain height and can be customized at the unit level, for example if we want a unit to see above the height that it is currently on, it is just one value to edit:


Bonus: Basic Sounds

Now that we got an almost real game, I wanted to test some basic sounds. I have created these sounds myself, it is a very fun experience, and it’s pretty fast to make!

Check the demo here:

I have added the simple What/Yes/Ready/Attack (just like in WarCraft 3) sounds for our unit, and some impact sounds. At the moment it is just an impact on flesh, so it does not sound good on buildings, but remember it was just a test.
If you don’t know what I am talking about when I say What/Yes etc…, let me described them to you, I borrowed the names from WarCraft 3:

  • “What”: Sound triggered when we select the unit
  • “Yes”: Sound triggered when the player give an order to the unit (usually its just for movement/right click)
  • “Attack”: Sound triggered when we order the unit to attack (not shown in the video)
  • “Ready”: Sound triggered when the unit has been created by a building

Thanks for following the development, hope you guys enjoyed, stay tuned and see you next week for further updates!

New features showcase

Hello everyone! Nepho again, to show you some of the newest features and quality of life improvements we’ve been working on.

Production queues

Buildings now feature a fully functional production queue :

Smart building construction’s line indicator

When using the top-left buttons to create a building, a dotted line indicates which unit will be used to perform the order :

Attack auto-scan around the units

Idle units able to attack will attack units from the other team if they come too close. This has allowed us to implement a very Starcraft-like “A-move” (attack move) :

Some more animations

 

Everything is still in heavy development, so it’s normal if you see some bugs/graphical weirdness going on in some gifs. We’re kinda working on everything at the same time, so it happens that things break. It’s always temporary, though 😀

As always, we’re still looking for 2D/3D artists. If you’re interested, don’t hesitate to contact us through the WordPress form.

Cheers,

~Nepho

Week 1 showcase – Basic features, minimap, smart constructions

Hello everyone! Nepho here – with the task to brief you guys about the things we’ve been working on.

Just a little anouncement : we’re still looking for 3D artists. No, we don’t plan on releasing the game with these models/textures! 😀

Basic features

Selection 101

Here is a gfy of our current selection methods :

As you can notice, the User Interface (UI, for short) is already working. For example, you can see the currently selected units in the bottom panel, thanks to their beautiful icons !

For now, you can use left click, shift + left click, or draw a rectangle to manage your current selection. Clicking anywhere but on an unit will de-select your army.

Resources gathering

Our harvesters can actually harvest resources. Though the AI is still very simple, it does its work nicely :

The harvester gathers resources until he’s full, then heads back to base to unload its little bag.

Minimap

Here is a gfy showcasing our completely working minimap :

You can left click on it to instantly teleport your camera to the designated point of focus. You can also give orders to the selected units through clicking on the minimap.

The texture used for the minimap is generated based on the current level, and the shape of the polygon indicating what part of the map you’re seeing is actually generated based on what you’re seeing, no shenanigans.

Smart building

This gfy highlights one of our simplification mechanics : the top-left menu. You can click on it to order the construction of any building/production of any unit. Based on the current context, and on where you click, the game will pick the most efficient way to do it. Here is an example with the construction of some buildings :

As seen in the gfy, no units are selected. The top-left button will find every capable unit, and use the closest that isn’t currently busy. If all the candidates are busy, the building’s construction will be enqueued to the best non-idle candidate.

Focus cursor

One of the method we settled for to make the game’s orders more intuitive and less inputs-consuming is the Focus cursor. Basically, everytime you press Space, if the cursor wasn’t active, it activates, and places it at the center of your screen. Now, everything that happens will be influenced by the cursor’s position. One of the main effect is that units created using the top-left menu will now be produced in the capable buildings that are nearest to the focus cursor. While it’s active, all units produced will automatically walk to it, right as they spawn. If it’s inactive, units will simply walk to their usual rally point, defined in each building.

Here it is in action :

Conclusion

We’re very proud of the progress we’ve made in just (a little bit more than) a week. We now have most of the mechanical features needed for our game, even though it will need tons of adjustment.

We believe that the showcased features can create a truly better environment for RTS games, by making some of the most basic tasks easier/faster to accomplish, so that the player can focus more on actual gameplay and strategy.

What’s next?

For the next week, we’ll start fine-tuning these features and fixing the numerous little bugs they are sometimes accompanied by. Then, we’ll resume our work on the Fog of War (it isn’t a piece of cake), probably add some nice-looking shaders, and start to work on adding content. Oh, we’re also still brainstorming everything about the heroes. You’ll definitely hear more from us next week!

As always, if you have any remark, just contact us through the WordPress form.

Cheers!

~Nepho

One week results

Hello everyone,

I am Kevin, one of the lead developer on the project and I would like to share with you my insight about our project that has been going on for a little bit more than a week.
I will first be talking about the design of our project, and the several obstacles that we encountered during the first week.


Yet Another Real Time Strategy Game

Our project is basically a standard RTS with some tweaks on several features that we didn’t like or that we wanted to be made differently. StarCraft 2 and WarCraft 3 are our main inspirations for this game. Let’s see what we changed about it:

StarCraft 2 is a fast paced strategy game that is really focused on building the right army, attacking at the right time, and controling the battlefield. Because StarCraft 2 is built around the economy and the global composition of the army, the microgestion is not the heart of the game.

On the other hand, in WarCraft 3, because the economic aspect is very simple and the units have a lot of health which helps them staying alive for several minutes, the microgestion is as important as the macrogestion, if not more.

These two games have things that we dislike, and we wanted to fix them in an efficient but still interesting way.

The first aspect of our game is the reduction of inputs needed to handle your base. You don’t have to select your builder individually anymore, you can just tell your workers “build this here”, and the most capable worker will do the work without you having to worry about it anymore. Once the work is done, the worker will resume its previous task, which will often be harvesting resources.
This is one of the several things that we will prioritize in our project : less actions dedicated to your base, more for your armies!


Development

Unity3D

Our game is in development since a little bit more than a week, and we almost have a playable game. This has not been accomplished easily, but it could have been honestly far worse.

The first thing that we had to take seriously is the engine. We are using Unity3D for this project, because it is very popular, and because of C#. We hesitated a lot (mainly because of the other dev’s past experience), but honestly, there is zero regret regarding that choice.

We found many things about this engine during the development of this game, some things that we didn’t really care about at the beginning. We simply thought, most of the time, “eh, Unity will take care of that for us!”.

And we were (mostly) right. The first element was the pathfinding. I have already personaly worked with pathfinding before, and even using Unity, so I wasn’t afraid of this part. But we discovered the power of the native pathfinding of Unity, using NavigationMeshAgents.

Add a naviguation mesh to your terrain and an agent to your unit. Then, add a single line of script in your code and you’re good to go :

agent.destination = targetPosition;

Yes, it is as simple as that.

Of course, to get the correct feeling (especially when moving around a mob of units), you have to tweak the settings.

This little experience had instantly increased our trust regarding the engine. But there were some darker days ahead…