Browser Multiplayer Game - Where to start? (Newcomer)

Started by
3 comments, last by smr 8 years, 1 month ago

I am currently working on a game, which the end goal is for it to be a multiplayer game on Browser. I am pretty fluent in C# and have been coding for almost a year. I would be fine learning new languages as well. I got a few questions, and have been looking for a few hours, and can not find and recent advice.

Questions:

  1. Should I use a large game engine, like Unity? My main interest is with the WebGL?
  2. If I do use a game engine, how could I make a database which interacts with the game(ex. storing player items, or saving players last location), when a user interacts with a website(ex. a user registers on the website), or the website changes (ex. shows a list of top 10 players)? I can build the website but does such a way to incorporate game info, to the website using a database work.

Links to up to date tutorials, coding frameworks, or book would be appreciated. And thank you for the help.

Advertisement
Hey im building a web engine that integrates multiplayer into each actor. it supports a "scripting" engine in shorthand javascript. im added a flow based engine (last night/this weekend) into it. if you give me your Twitter(or @sivxgamer) i can send screenshots. itll be ready for pixelfest next april with a shooter and hopefully a platformer fighter as flagship titles.

If you want to learn WebGL, a game engine is probably not the right place to learn that. You should check out MDN and go through tutorials from there.

If you want to learn how multiplayer systems work, you can learn how it is done through a game engine and simply use that engine, or apply the conceptsto your own game, you are the only one that can answer that.

Concerning your database question, you need to specify which game engine you are talking about, and you should probably post that on the forums of THAT particular engine that you have chosen.

In the end, either you go down the premade engine path, or you do things yourself and try to get something basic working before you complexify it too much.

DYI is a good way to learn. Some say it is mandatory before starting to dabble with game engines (or before trying to build a REAL game not only meant for education).

I would say, IF you can get along with a game engine (there is some learning curve involved with every engine, and some overhead to the built game as the result is not as finely tuned to what your game needs as it can be if you create everything from scratch), you can save a lot of time in the process.

Less low level plumbing, much more thirdparty code and assets that are ready made for your engine of choice...

Now, Unity is quite a fine engine for everything save the highest of end games... as long as you are not a midsize studio and above, such AAA games are above your head anyway.

For everything else, as long as you are going to do 3D development, Unity is pretty good (I would argue it is somewhat oversized for simpler 2D projects).

I am not sure what the state of WebGL for Unity is today. 6 months ago it was still kinda "beta" AFAIK. Could be different with Unity 5.3 now. If the WebGL build target works as well as the windows one, or the old webplayer, your should be fine.

For the database you will need a thirdparty database most probably. If you look at the Unity asset store, you will see some database assets being offered (most of the times not for free though).

If these databases are ready to accept MMO level load is anyones guess, as is how secure they are. Of course it also depends on what kind of load you expect for your game, and what your security needs are. I expect many of these "Databases" to be "DB light", like some of the Java databases out there. Lightweight and easy to integrate into a project, yet not up there with the traditional relational Databases when it comes to data security/integrity and throughput.

If you really want go the traditional, most robust route, you could do worse than learning how to use a DB system like MySQL or Postgre SQL, and then finding a DB Connection framework that works for Unity (basically JDBC, just not for Java but for C#... you could try MySQL Connector/NET).

That is more work on your side than using some ready made solution, but at least you know what technology is used behind it, and as soon as the DB is setup and the DB connection layer works, you should be halfway there (that depends on what you need of course... if you have to do a lot of reads and writes, there might be a ton of work left on your side to make it perform good enough)

WebGL 1.0 is supported by Chrome, Firefox, IE 10, Edge, and Safari. Depending on your target audience I would not worry too much about this. (If your target audience is the Candy Sim Farm Saga crowd you may want to go the flash route as there's likely a decent number of those users on ie8 and Windows Vista)...

There are a few decent WebGL 3D engines you could opt for. I like ThreeJS.

If you need physics you have some options there too. I like Cannon.js.

As far as databases go, you will likely find that any of the popular relational databases like MySQL, Postgres, etc will be fine. If you are very fortunate to have so many players that a cluster of relational databases can't keep up, you'll hopefully be making enough money to pay someone way smarter than me to solve that problem!

This topic is closed to new replies.

Advertisement