Jump to content

Lack of turn-based multiplayer games


austin
 Share

Recommended Posts

There are very few asynchronous, turn-based HTML5 games out there (think Draw Something, Words with Friends, ...), which is really unfortunate because the web is a fantastic platform for that type of game.

 

This forum is probably the best place to figure out why that is, and what can be done to fix it. 

 

So I ask, why haven't you made a turn-based multiplayer game?

Link to comment
Share on other sites

multiplayer games are waste of time...

 

however, i addicted to make multiplayer games.

but always i lack of players!

player A joins the room, no one is ready to play with it, he left the room, 30 seconds later next players comes, again no one is to play with him and left.... lack of players!

 

i thinks a multiplayer game need LUCK to success.

whenever i made a multiplayer game, i posted the url on reddit and other websites, only first days i had active players on game and very fast lost all players.

 

i want to make a success multiplayer game! but i just can't. programming is no enough.

Link to comment
Share on other sites

I think the key is some sort of social integration. Eg I go to the game page and am given the option to play with a stranger (if one is available) or invite a friend to play with me. This is where the web really stands out... I can either invite them via Facebook, Twitter, ... or I can get a link to send to them however (email, a messaging app, ...). 

 

And since it's asynchronous, you would make the first move, then invite a friend. That situation is very different from going to a game with a room-based system, seeing all the rooms are empty, and leaving without playing. Zynga's 'with friends' games really nailed down the async experience.

 

The web is really powerful for getting a new user to play async games initially without any friction. The drawback is notifying a user it's their turn to play after their initial turn. To do this, you have to get the user to login with something like Facebook, or funnel them into a native app after their first play.

 

If it's a good game, we have a really large userbase we can push it to for the initial audience, and the goal would be that the seed audience would spread it to more and more people.

Link to comment
Share on other sites

i admit this is the first time i heard about asynchronous games.

i played them before, but i didn't knew they called asynchronous!

i blame myself as i did not developed any asynchronous till now.

 

after your post austin, i made a little search on google, and i figured out how terrific are asynchronous multiplayer games.

 

do you provide any API for easy implement the social integration into our games or any plan to make it easier?

Link to comment
Share on other sites

"The drawback is notifying a user it's their turn to play after their initial turn." That's the main problem.

 

In order to provide the best UX you should do this via a native app, notifications are just natural against any other post/tweet/email system that others have tried before.

 

Personally I'd like to see a game where you login using a web.whatsapp.com like system, maybe without the dependence on mobile internet connection. The web would just be an extension but the main gameplay should still happen on mobile devices.

Link to comment
Share on other sites

To be honest, multiplayer is a complicated topic. Hell even nowadays steam games still screw up multiplayer (either they can't handle the load or they are easily vulnerable), so I wouldn't go around hoping for tutorials and examples: that would just lead to more vulnerable or incomplete systems. Networking should be time consuming, it's the only way to get it right. Meanwhile, there are a couple of systems such as SmartFox and ElectroServer that can aid you in your attempt, but you still need lots of knowledge to setup scalable and efficient solutions.

 

I can't speak about mobile monetization because I still haven't released my game, sorry!

Link to comment
Share on other sites

Turn-based games don't suffer the same load problems that real-time multiplayer games have, but that's not to say it's easy.

 

It sounds like adding a backend component is just a huge complexity leap from client-only games. Has everyone here who has considered a multiplayer game looked into Parse, Firebase, and some of the of the other services that make things easier?

Link to comment
Share on other sites

I've used Firebase for several personal projects so I'm familiar with the API. Personally I feel like it lacks the control (authority) you'd need when allowing the public to interact with your application. Lot's of room for abuse. On the other hand, it looks like a great alternative when handling small widgets just like Humble Bundle uses PubNub for real time stats.

 

EDIT: Firebase can be used for games, but it was not designed specifically for games (Although I think it's predecessor was game-oriented).

Link to comment
Share on other sites

I have a pretty solid turn-based multiplayer game concept with sweet balance between depth and casual play, suitable both for desktop and mobile. But it requires straight up 6 months to develop and polish properly. I can't afford such production values at the moment. And even if I could, there is no place for it in the current html5 market, since no major html5 publisher would be able to shell out $20,000 - $30,000 for this thing. Even funding through milestone payments or advances is unheard of. And going native mobile + facebook would inflate production values 2x-3x because of players expectations.

 

Multiplayer html5 is very possible, we just need a proper gold rush as it was with flash during 2009-2012. Html5 itself is very good platform for multiplayer games - web sockets are natively supported, backend can be written entirely in javascript with NodeJS which can save time with shared logic, links can be used directly for game invites (for example you send http://www.yourgame.com/play/w8Y4Ke to your friend and he joins the game by clicking it), one code base for all devices, and so on.

 

If some day Clay.IO transitions to publishing business and starts offering advances (like Kongregate for native mobile) and guarantees visibility and traffic (in case of rev share) multiplayer html5 games will become a feasible option for me as a game developer.

Link to comment
Share on other sites

We don't really have plans to start offering advances, but we'll at least talk about it to see if it makes sense. I'm not sure we'll ever guarantee traffic for games based on how we currently display games. We pump an initial bit of traffic at new games and measure how well it performs with players and sort it accordingly. 

 

Either way, I don't want this thread to become one completely about Clay (I'm obviously paying attention to see how we can help, but I wanted this to be a more general discussion to see why these games aren't being made) :)

Link to comment
Share on other sites

Yep, my reply was directed not specifically at Clay.IO, but at html5 publishers in general. Html5 games is primarily domain of bedroom coders and artists, and production time of 3 months is already considered borderline risky. Publishers consolidation and licensing prices going down doesn't help either. Seems like we just need to sit down and wait for "the next big thing" in indie gamedev, but personally I wouldn't count for that :) This is a hit-driven industry, and 95% are destined to fail.

Link to comment
Share on other sites

There are very few asynchronous, turn-based HTML5 games out there (think Draw Something, Words with Friends, ...), which is really unfortunate because the web is a fantastic platform for that type of game.

 

This forum is probably the best place to figure out why that is, and what can be done to fix it. 

 

So I ask, why haven't you made a turn-based multiplayer game?

 

I never thought of a cool enough game to create that don't involve a lot of resources (art). Coding a turn-based game is fairly easy, I don't like coding anything if the idea doesn't sound like it will work.

 

 

I am not worried about a dedi server or using node, or web sockets. One could use a web server (shared hosting) as like a "hidden server" from players by sending request and receiving json request. Of course most likely, your need some PHP/ASP/PERL skills for this.

Link to comment
Share on other sites

1) Well, that depends on the team and the skills of the devs. The making of any game can take any time.

2) I wouldn't call it a barrier but a reality.

3) http://docs2x.smartfoxserver.com/GettingStarted/web-sockets and https://github.com/NetEase/pomelo to begin with.

4) True but it applies to many contexts.

5) Again, this applies to making any kind of game.

 

I still think lot's of people underestimate the effort required on the server side. Those who don't get it will find themselves either succeeding on creating a prototype for N amount of users or struggling to handle lots of visitors on a successful multiplayer game (despite it being turn based).

 

I'd say there are only three reasons why we don't see more of these types of games:

 

1) People who want to make them don't have the skills.

2) People who have the skills lack other abilities and feel like their game wouldn't be complete without them.

3) Few or no companies are willing to finance the development of such games.

 

Dear skilled devs, you can still make multiplayer games if you like, just find an idea that doesn't require skills you don't have! Keep them small, keep them cheap to make, and have fun developing;) 

Link to comment
Share on other sites

Hello guys,

 

 

This is a very long message but there's obviously a lot of things to say about it :-)

 

At http://developers.plynd.com I think we have built an offering that you could probably be really interested about.

 

 

In a few words:

 

@Austin, I really like what Clay.io has built for developers, and I think we should talk if you're interested => [email protected].

 

@Avenger no war, I remember your game of Backgammon that I found really good. We can actually offer you the ability to host it in a turn-based (asynchronous) fashion. Given that the game is already implemented, I honestly think it would not take you more than a day to make it available using Plynd (you'd just have to call the few functions from the js SDK to have the game saved at the proper stages).

 

@Red Spark, I think we should also talk. We've had an ambitious game made on Plynd recently => http://territories.plynd.com and I think it would really suit your needs as well (host on web and automatic port to mobile, facebook integration).

 

@All, to see how that comes together, you can have a look at our connect4 demo: https://github.com/Plynd/connect4

 

 

 

Now let's go into a little bit more of details.

This thread is very interesting because most of the things said here were the starting point for our startup, Plynd, more than a year ago.

 

 

To summarize:

- multiplayer games are very good at keeping users, because the interactions with others make them come back often.

- they are very popular nowadays among users (agreed with you Austin, "with Friends" suite has accustomed people to this type of play)

 

However, they are really tricky to put in place:

a- need servers, scalability, network knowledge

b- need very good integration with social networks so that there is a communication channel between the game and the users. Turn-based implies games spread across many user sessions (and potentially the user might play them from different devices), and there needs to be a way to notify the user to come back to take his turn.

c- need a lot of user experience before and around the game : way to match people, invite friends, game lobby with who's turn it is..

 

All and all, to do the simplest game (think Connect 4) you end up having to program for MONTHS while the actual game could be made in just a few days (if not hours, depending on how polished you want the interface to be).

 

 

=> The topic of easing the making of HTML5 multiplayer games is still really poorly addressed

 

 

So here is the offering from Plynd

- our mission is to help HTML5 devs to be able to build asynchronous games very easily.

- it is completely free. The plan is to share revenues on the audience of your game.

 

More precisely:

- you will not need servers. We handle that.

- Given a very simple configuration, we provide you with the user experience coming around your game (think auth, invitation, game lobby, social integration).

- We provide a very simple API, available through our javascript SDK

    * handles realtime connection between players. even if asynchronous, people might want to be playing them in realtime

    * handles the saving and fetching of all the game state that you require 

    * lets you work entirely in javascript

    * lets you use whatever game engine you like to make your game

    * allows to have a few functions you write run onto our servers (simply upload a server.js file with the functions to be run server-side in it)

    * (to come shortly, in a matter of months) the portage of your game into a standalone iOs and Android app.

 

In a few words:

- you have the skeleton of your multiplayer game available online, testable with your friends, and connected in realtime after just minutes of configuration!!

 

 

Thanks for reading down to here :-), immensely interested in all the feedback you can have about it!

Link to comment
Share on other sites

  • 3 weeks later...

No doubt, multiplayer games are fun to play. I like them a lot. Consoles like PS4 and XOne are also getting lot of multiplayer games. But the same is not with web platform. I believe the reason is multiplayer games are not easy to make. They take time and are complicated. You have to write both a client program and a server application. This is the reason many game developers do not consider making multiplayer games.

 

But with new cloud technologies making multiplayer games is getting easy and cheap. All developers who are interested in making multiplayer games should check out these new cloud BaaS platforms. For example even we have made a multiplayer game engine AppWarp. With AppWarp you don't have to write server side code and it is also free for indie game developers.

 

Making multiplayer games is not as difficult as it used to be. Many countries now have better internet connections and better hardware. :) 

Link to comment
Share on other sites

  • 2 weeks later...

Hello community :)

Was pretty busy lately, but this topic interests me a lot, and I believe that multiplayer HTML5 games is the next big step to HTML5 games.

I work on different approach since the beggining of HTML5, and I came up with some solutions ... (like eureca.io library)

 

this is a multiplayer big world demo I made three years ago with eureca.io http://demo.ezelia.com/ just login using any random username and start playing ... it's a prototype you can't do anything except interact with NPCs and other players, it's a proof of concept for eureca.io

 

(please also note that the rendering engine used here is outdated and slow compared to what we can do today with Pixi !)

I abandonned the multiplayer idea for a while but kept maintaining eureca.io and made a tutorial (shared by Daniel above) to use it in a Phaser game. I believe in multiplayer model, but the platforms are still not mature.

 

platforms like clay.io for social games and playnd for turnbased players are very good initiatives btw !

 

now IMO, the good news to HTML5 multiplayer games (not only turn based) is called WebRTC !
with WebRTC I believe in true multiplayer HTML5 ! and this is why I'm working on a new eureca.io version which will support WebRTC transport !

not peer-to-peer WebRTC but server centralized !, because the library main approach is to allow calling server functions from client and client functions from server . and because I believe that network sockets/channels stuff is what's making developers scary when it comes to multiplayer developement.

I'll try to make a new tutorial using Phaser or Pixi game when the new version of eureca.io is available, to demonstrate a usage of webRTC transport.

 

 

hope it'll help other project to build cool stuff on top of this library :)

 

 

 

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...