Share this project

Done

Share this project

Done
Scavenge. Build. Fight. Survive. Introducing ROAM, an online co-op action game set in a procedurally generated world.
Scavenge. Build. Fight. Survive. Introducing ROAM, an online co-op action game set in a procedurally generated world.
Created by
3,526 backers pledged $102,518 to help bring this project to life.

May Update - Networking, Player controls, Character customization

Posted by ROAM (Creator)

Please keep in mind we are still very early in the development process. Everything is subject to change and is still a work in progress.

Multiplayer Networking

Foundational aspects of networked play are up and running. Players can host a game as a listen server (a client that runs both the server logic and the game itself) but early research and planning has been conducted to expand this to a dedicated server option for the future, if need (or player requests) dictate.

Our current technology is developed up to the "Session" level – the functional basics of connectivity, creation, and administration of a game. This includes things like: 

  • Requesting game info from the server (How many people are playing? Is the game full? Is the game in progress? How long has the server been up? Is it password protected? Am I banned?)
  • Requesting player info from clients (What is your handle/in-game name? What character are you playing? What is your "rich presence" status (afk/in menu, etc)?)
  • Server: relay session-level events to clients so they know who they are playing with and relay chat messages between clients

Gameplay synchronization is still very primitive, but there has been some fruitful experimentation.

Player controls

This was one of the areas we were most eager to rebuild coming from the prototype. Unity 4 uses a new (and awesome) animation system that can very tightly and precisely bind the concept of mapping a player's inputs to richly animated outputs. However, having debuted shortly before we started working on the prototype, we encountered a number of challenges with this young, emerging technology. Starting on this system as early as possible also allows us to iterate on it as much as we need to achieve the touch and precision we demand.

For now, controls are divided into two distinct domains, which we've dubbed "exploration" and "combat." 

Exploration: Anything non-combat. Tuned for adventuring and exploring. Feels and controls like a top down RPG.

  • Crawling, sneaking, sprinting, actions (looting, climbing over things, using cover), interacting with the environment.

Combat: Uses a traditional top-down style dual-axis control scheme (as in the prototype). Tuned for combat, or any other activity that requires precise aiming with the mouse.

  • Melee, ranged, etc. Any combat oriented interactions.

[We recorded a quick demo in Unity showing off a select few basic animations being controlled with a mouse/keyboard.]

Character customization

[Character select screen using temporary prototype assets]

Very early workings of survivor selection (using mostly prototype models as placeholders) and customization menus (newer models below). Currently, you can select your survivor's head (face, hair, facial hair/accessories), torso, and legs. Once you are finished rolling your survivor, you can save it as a "template" that can be loaded and reused in the future.

This feature will be useful while setting up new games, as you won't have to waste time recreating your favorite character load-outs (or have to wait while other players to do the same!) This is just the first layer of character customization. As you travel and collect items in-game, you will acquire a variety of items and pursue developmental options that further distinguish your survivor. 

In the example below, we have 2 unique head, torso, leg models being posed and swapped around to show how the customization will work in game.

[Character customization examples]

Other boring but important developments

We are using a fully functioning command console integrated into the game's chat system to perform a number of development and gameplay tasks without having to make complex GUIs direct them. This has been of immeasurable use in testing and debugging (especially in clients that aren't running inside the Unity editor). The system took a day to write, and using some C# language magic, can turn existing code into console-enabled code with one simple line (seen below enclosed in square brackets):

[Cvar code]

[Cvar interaction]

This system also includes function-like commands that accept multiple, type-checked arguments. For example, spawning a zombie at world coordinates x=0, y=0, z=0 might look like this: "/spawn zombie 0 0 0".

On that note....here is a redneck dancing to a remixed Thriller.

Comments

Only backers can post comments. Log In
    1. Silver on

      Great update, thanks! I'd be fine with shorter (monthly or so) updates too, but this was a good one even if it took more time make.

    2. Kyle on

      Wow - that animation quality is indeed impressive, thanks for that!

      And yes, I wholeheartedly concur about having this as an Easter Egg or in the credits - full on with dozens of zombies and a lead dancer in an 80's red leather jacket ;)

    3. Zyggy on

      I like the two control system idea.

    4. Brendan on

      There needs to be a scene, somewhere, anywhere, I don't care if it's an 'easter-egg', that has a couple dozen zombies shufflin' to thriller. That is just too good an opportunity to waste.

    5. Kahuna Kevin on

      oh, please please let us stumble onto a group of break dancing zombies.

    6. Sigd on

      Just superb. Great update, thanks!

    7. Missing avatar

      Aell on

      Would be great to be able to host a dedicated server at home, hope that'll work!
      Thanks for the update guys, love it!

    8. Chad on

      If possible can you avoid making tilde an unmoveable console if in game. I myself like putting chat on tilde since it's the easiest way to talk to someone in game for me, but some games force tilde to be a console key and you can't override it.

    9. ThomasN on

      Dancing zombies, what will they invent next?

    10. euansmith
      Superbacker
      on

      Looking good.

    11. David "DaveAzoicer" Linder on

      Love it! Keep up the good work gents!

    12. Missing avatar

      Jen-Chun Teng on

      Seriously, put that dance in game somehow!

    13. Caolan Harrington on

      Great to see an update, liking the thriller :D

      Certainly having a dedicated server function would be nice. I play with a reasonably-sized gaming community and we run several servers where we all play, it would be nice to add this to the list it was possible upon release.

      Keep up the great work.

    14. Wayne on

      Looking really good! So excited. Keep up the good work guys!