Jump to content

[WIP] DRTS - Distilled Real-Time Strategy


Viir
 Share

Recommended Posts

DRTS focuses on the core of real-time strategy, forgoing resource gathering, base building, and unit types.

You can play the game on https://play.drtsgame.com

The simplicity and comprehensive tutorial make it easy to jump into within minutes.

Both multiplayer and singleplayer mode are already implemented, the game is work in progress though and updates will follow.

Note that the camera controls are not yet explained in the tutorial. Here is how to control the camera:
Camera panning: Hold down the right mouse button and drag to move the camera
Camera Zoom: Use the mouse wheel to zoom.

2017-11-24.DRTS.at-6ce22a41-tutorial-stage-split-complete.png

2017-12-07.DRTS.at-b448f71d-tutorial-complete.png

2018-04-27.DRTS.conversation-in-lobby.png

2017-12-18.DRTS.play-with-bot.png

2018-10-04.drts.play-with-bots.setup.png

Link to comment
Share on other sites

Hello @Skeptron, thank you for the feedback. I will post here when I release the next version.

On 8/12/2017 at 5:56 PM, Skeptron said:

Btw what tech do you use?

About the tech: For the client side, the tech is mostly elm. Elm is very useful here as it helps me with modeling the core game mechanics and also with rendering to HTML, JavaScript, and SVG. (In contrast, the original game client from 2016 was a windows application rendering visuals over WPF) On the server side, this project also (in addition to elm) builds on asp.net core, C#, and SQL Server. What seems most interesting now about the tech is reuse of the game mechanics modeled in elm on the server side.

Link to comment
Share on other sites

4 hours ago, Skeptron said:

That's very interesting, but I wonder how relevant your post is on this forum, considering it's an HTML5 forum. Nice job though.

Thank you, that is an interesting perspective. Reading this made me wonder whether there is a better term to signify the combination of HTML5 + SVG + Javascript. So far, I had used the term "web-based" for this, without giving it much thought. Maybe there is a better way to communicate this.

I edited my post for the distinction between HTML5, JavaScript, and SVG.

Link to comment
Share on other sites

Plan for the next release of DRTS

After last weeks release of the Distilled RTS web app, I am now figuring out what to implement next.

So far, the web app only contains the tutorial, and even that is not complete yet.
When looking at that release, many things to improve stand out to me immediately. Examples are adding UI for camera control, edge scrolling, sound effects and a control scheme for touchscreens.

But I want to get a better idea of the big picture first and work on parts which are more likely to hold surprises.
Eventually, the web app will replace the windows app and therefore contain all the game modes. This also means the user can create maps, play against AI, or compete with other players for ranks on the leaderboard in server-based multiplayer.

Implementing a simplified version of the multiplayer mode in the web app seems easy enough for a next release. But to obtain useful feedback on a multiplayer mode, we need to find people willing to spend time on meeting online for tests.
I am wary of betting we could gather enough people for these tests at the moment.
This leaves me with adding singleplayer content to the web app as the objective for the next release.

The minimum viable singleplayer mode could be offering 1 vs 1 against a basic AI. The player also should be able to start a new game or switch back to the tutorial anytime using in-app controls, that is, without having to resort to browser controls like reloading the page. Therefore some UI for navigation is needed too.
My impression now is that this scope is enough to warrant an individual release, so that is the plan for the next release.

Link to comment
Share on other sites

New release of DRTS HTML5 port - play with bots

Following the plan from last week, I expanded the web port of the DRTS game.

You can play this new version at https://distilledgames.itch.io/distilled-rts

In the upper right corner of the screen, you will now find a button to access the main navigation, and from there, you can start new games.
Besides the tutorial, you can also play on a larger map with a bot.
To make this a bit more of a challenge, I spent a few hours on building a basic behavior for the bot.
It will spread out, conquer more and more area on the map and eventually overrun you if you don’t act.

I also started implementation of the map generator, which is used to generate random maps, and the new map you see is coming from this generator.
A good part of the map generation functions are already implemented, but it needs some more work, most importantly to enable symmetrical maps.
Symmetrical maps will come with a future release, as well as a user interface to customize the map generation process.

The screenshot below shows a game with the new bot and map.

2017-12-18.DRTS.play-with-bot.png

Link to comment
Share on other sites

  • 2 weeks later...

DRTS Update - Improving tutorial and playing with bots

Today I released a new version of DRTS. You can play it now at https://distilledgames.itch.io/distilled-rts

The changes made since the last release are primarily about the tutorial and playing with bots.

Tutorial

Hugo Blanco recently helped me test the game. He patiently worked through the tutorial and so I learned about stumbling blocks in there. Based on these observations, I compiled a list of planned changes to improve the tutorial and UI

Selecting The Split Ratio

When testing the tutorial, we found a problem in the stage which instructs the player to split his unit. In the step to select the split ratio, there was insufficient guidance on how to proceed. I implemented several changes to improve this and also make the UI for this easier to use in general:

  • In the tutorial step, visually point out a location the player can click on to complete the step. This is done by displaying an arrow pointing to the slider control.
  • Make the slider control react to moving the mouse over it, to help understand that we can interact with this thing.
  • Make the slider control work the same way with all mouse buttons.

The video below shows how this part of the tutorial looks like now: 2017-12-28.DRTS.select-split-ratio.gif

Some other improvements made in the tutorial:

  • Enable the player to complete the tutorial without relying on external instructions about camera controls: In the tutorial, the camera automatically follows the action to make sure the player can always see everything of interest.
  • The visuals to draw attention to objects to interact with now also indicate if the player should use a specific mouse button.

Playing with Bots

There are now more maps to play on. You will find a new map each time you start a game. I expanded the map generation function to create symmetric maps. With this release, you will automatically get a symmetric map when starting a game.

Since the last release, several bugs have been fixed:

  • Fix a distracting visual glitch discovered by Hugo: Avoid splitting a unit when the resulting units are going to be merged in the next progress step anyway.
  • Game World Movement: Opponents units block each others movement on opposite edges.
  • Game World Movement: Opponents unit blocks movement from node to edge.
  • Game World Combat: Make unit attack the unit blocking its movement with the highest priority.
Link to comment
Share on other sites

  • 1 month later...

 

DRTS Update - Camera Controls And Picking Maps

Just released another version of DRTS.

You can play it at https://distilledgames.itch.io/distilled-rts 

Picking Maps

I improved the UI to preview maps before starting to play with bots. Now it is easier to find a map you like and see what you are getting into before starting the game.

2018-01-30.DRTS.map-preview

Camera Controls

In addition to earlier input methods, you now can control the camera also via keyboard: To pan, use arrow keys, for zoom plus and minus. To improve onboarding, I added buttons for controlling the camera. This visual addition to the UI should help new players notice that the field of view can be changed.

Under The Hood

  • To prepare for competitive games, the map generator was improved for exact symmetry of edges in generated maps.
  • Pathfinding now yields optimal paths in more cases.

 

Link to comment
Share on other sites

  • 4 weeks later...

DRTS Web App - Play With Other People

The first implementation of DRTS came in form of a windows application. While the windows app did its job, I felt uncomfortable with the bottleneck resulting from depending on windows as a platform. To lower this barrier, I started developing a version to run in web-browsers. The web app has come a long way since then, offering an interactive tutorial and playing with bots.

The update released today expands the web app by support for playing with other people online.

To play the game, head over to play.drtsgame.com

Starting today, the web app there also offers to join another player for a game.

The video below demonstrates the new feature, using two different web-browsers:

2018-02-23.DRTS.web-app-play-with-other-people

Under The Hood - Rendering Efficiency And Visibility Changes

Also with this update, visibility of the game world is changed in several ways:

  • The computation of visibility is reimplemented using a new algorithm to be more efficient in common scenarios. This change drastically improved frame rates in Firefox, Edge, and Chrome.
  • Symmetry for view propagation along edges: With the new algorithm, visibility is changed for symmetry between pairs of nodes. This means that viewing along an edge always works in both directions, regardless of the travel direction of the edge.
  • When the game is over, the complete game world is revealed to all players.
Link to comment
Share on other sites

  • 2 months later...

DRTS April Release - Supporting Exchange Between Players

Hi fellow strategy gamers, the April release of DRTS game is now live at https://play.drtsgame.com

Conversations

After adding support for playing with other people in the last release, this one adds support for communication between players. You can now exchange text messages with other people using the DRTS web app. The screenshot below shows how this looks like in the app:

2018-04-27.DRTS.conversation-in-lobby.pn

When you have joined a game, you can add messages to be seen by other people in the same game. In this case, the color of the participant's units is indicated along with the message.

2018-04-27.DRTS.conversation-in-game.png

User Accounts

Joining online games now requires signing in to your player account. When attempting to join a game for the first time, you will be redirected to a page where you can sign in or create a new account. Playing with bots is not affected by this and works as before.

Link to comment
Share on other sites

  • 4 weeks later...

DRTS May Update - Touch Screen Support And Sound Effects

This update of DRTS brings several improvements to the in-game interface.

You can play the newest version at https://play.drtsgame.com

Simpler Controls And Touch Screen Support

Controlling the game using a mouse does not anymore require using different mouse buttons. You can select and send units, and scroll the camera using any mouse button. As before, zooming works with the mouse wheel and keyboard. This update introduces support for touchscreens. You can zoom in and out using two fingers.

Sound Effects

I added sound effects to help keep track of in-game events. You can hear, for example, when you captured a node or a unit is defeated.

Rendering

To avoid choppy movements on the screen, I made some improvements to rendering. The units locations are animated using client-side prediction and easing. Easing is also applied to camera movements.

2018-05-11.DRTS.easier-on-the-eyes.gif

Link to comment
Share on other sites

DRTS October 2018 Release - Easier Beginning

The October release of DRTS is now live, you can play the game at https://play.drtsgame.com

Feedback on earlier versions showed that new players often had a hard time beating the bot at first. To fix this, I introduced easier levels of difficulty. These support a gradual progression to more challenging opponents.

When playing with a bot, you can now pick a difficulty level before starting the game. To make this as simple as possible, the game automatically recommends a bot based on the results of previous games. After finishing a game, the difficulty level is displayed again to put the result into context.

This release also fixes an issue discovered by Hugo in December: The game now displays traces of defeated units for a while, to clarify where those units went, even when you were focused on another part of the map at the time the unit was defeated.

Many thanks to all the people who helped to test and make this a solid release!

2018-10-04.drts.play-with-bots.setup.png

Link to comment
Share on other sites

  • 1 year later...

DRTS Game October 2019 Release - Leaderboards and UI Improvements

Today, a new version of DRTS Game goes live. Time flies, the last release is already a year back. As I had more time to work on the game recently, I addressed the issues discovered in last years version. Today's release brings many improvements in the user interface, especially in the multiplayer part.

The new leaderboards are perhaps the most prominent feature in this version. You find the leaderboards at https://play.drtsgame.com/leaderboards

On the leaderboards page, you also see the most recent multiplayer games. Links there lead to players profiles with statistics such as how many games they won and lost.

Other improvements include:

  • Help people meet and communicate in the chat: Added display of time and sound effects to the chat messages.
  • Improved navigation with the introduction of dedicated URLs for different game modes. URLs also help to reach those modes using bookmarks in your web browser. For example, when you want to start a game against bots, instead of clicking trough the navigation, you can use this link: https://play.drtsgame.com/play-with-bots
  • Improved the user interface to help find where you can change your display name: It now displays a popup when you hover a pen or mouse cursor over the button to change the name.
  • Fixed the bug where the backend would forget your display name. Also, fixed propagation of player display names to all UI components.
  • Fixed a bug that caused a high CPU load in the main navigation view.
  • Fixed the armies trails in the game world. In earlier versions, a moving army left a visible trail on all territories it moved through. This trail resulted from wrong application of the territory occupation mechanics. The trail prevented players from moving their armies in secrecy.
  • Improved the writing in the tutorial to make it easier to understand.
  • Simplified login: Reduced the number of navigation steps for the login process.
  • Fixed the disappearing of chat messages on server restart.

Thank you for testing and making these improvements possible. Special thanks to kartezjusz2009 for their detailed feedback and suggestions for improvements.

I am looking forward to meeting you over at play.drtsgame.com!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...