First big game. Which engine and how to handle multiplayer?

Started by
17 comments, last by Worstboy 9 years, 4 months ago

In regards to multiplayer, I would advice you that you set up the structure of the engine in such a way that a singleplayer game from the engines perspective is a multiplayer game that only has one local client attached.

Yeah I'm not planning to create a client and a server both separate.

Advertisement

Any evidence that supports your notion "concentrate on mobile to make money"? AFAIK, mobile space has become a highly competetitive one where even AAA games cannot ask for more than maybe 5-10$

Well for the first point, its like I said, its all about the level of entry, in terms of difficulty of making a game and getting it infront of customers mobile has significant benefits over desktop, desktop you end up with a lot of stuff like appealing to steam greenlight or trying to advertise in other ways. Steam is probably one of the best selling platforms out there, as evidenced by a lot of small developers saying sometimes 80-90% of their sales come from steam.

Unless you're targeting the casual audience most people looking for "desktop quality" games are going to look for more substance than the average phone game, 3d is usually a big draw, and people tend to be more suckered in by a promising concept than a finished game, as evidenced by how many early access games are topping the best sellers list on steam.

Flappy bird, although an extreme example of simplicity, demonstrates how simple a game can make money on mobile, the problem these days is that the market is getting flooded so that is much harder to do. The barrier for entry hasn't really changed at all, just the level of competition.

But we are talking about one game out of a billion released. Goat simulator took more than one person to build, sold as much, while being a one out of a million lucky hit maybe.... yeah, your chances are not much better, but really, game dev IS a highly competitive field, so don't expect too much either way smile.png

Well that's why I would never suggest becoming a game developer if you want to get rich, unless you aim for AAA you're probably going to be lucky to scrap together a midrange salary, and if you do land in AAA you're going to be working for that money, generally much harder than a coder or whatever other profession in different lines of work.

Labor of love.

mobile app stores are flooded to the brim with games, and income per sale is much lower. On the PC side you have to find your niche, use the Indie / Boutique game craze going on at the moment, and find the right outlet (Steam, if you can make it).... still, you could ask 5-10$ for a game that you might not get 1$ for on mobile, and still some people would pay it, if the game is good enough.

Yes games are worth less on mobile but there is also a much bigger audience and people are, quite frankly, a lot less frugal with their money when they go around seeing a bunch of one dollar games. Some people buy a pretty ridiculous amount of them and almost never play them. A lot of mobile games are taking that pay to win swing as well, free app and then milking people out of money through paywalls.

Don't get me wrong I'm not saying like, MOBILE OR DEATH, I just personally think if all you want to do is churn out games and not worry about mastering coding or something you'll probably do better financially aiming for something like that, or maybe website games.

Well for the first point, its like I said, its all about the level of entry, in terms of difficulty of making a game and getting it infront of customers mobile has significant benefits over desktop, desktop you end up with a lot of stuff like appealing to steam greenlight or trying to advertise in other ways. Steam is probably one of the best selling platforms out there, as evidenced by a lot of small developers saying sometimes 80-90% of their sales come from steam.

Unless you're targeting the casual audience most people looking for "desktop quality" games are going to look for more substance than the average phone game, 3d is usually a big draw, and people tend to be more suckered in by a promising concept than a finished game, as evidenced by how many early access games are topping the best sellers list on steam.

Flappy bird, although an extreme example of simplicity, demonstrates how simple a game can make money on mobile, the problem these days is that the market is getting flooded so that is much harder to do. The barrier for entry hasn't really changed at all, just the level of competition.

Well that's why I would never suggest becoming a game developer if you want to get rich, unless you aim for AAA you're probably going to be lucky to scrap together a midrange salary, and if you do land in AAA you're going to be working for that money, generally much harder than a coder or whatever other profession in different lines of work.

Labor of love.

Yes games are worth less on mobile but there is also a much bigger audience and people are, quite frankly, a lot less frugal with their money when they go around seeing a bunch of one dollar games. Some people buy a pretty ridiculous amount of them and almost never play them. A lot of mobile games are taking that pay to win swing as well, free app and then milking people out of money through paywalls.

Don't get me wrong I'm not saying like, MOBILE OR DEATH, I just personally think if all you want to do is churn out games and not worry about mastering coding or something you'll probably do better financially aiming for something like that, or maybe website games.

I see where your coming from, altough I am not 100% on board with your conclusions.

Yes, the barrier for what is seen as a "Goodlooking mainstream game" is still a little bit lower on mobile than on PC... yet still, the quality of the AAA mobile games is increasing, the top 3D titles are already out of the reach of a single individual to complete in a sensible timeframe, so again people will need to start target niche and Indie / Casual markets on mobile if they push out non-AAA games.

The casual market might be bigger, and true, you get more "whales" on mobile than on the PC most probably... yet to cash in on the whales, you need a very well thought out free to play strategy that might again need more resources to come up with an execute, and the masses of spenders might just make up (or not) the lower pricetag you can put on your product.

I see it this way: if you are a single dev, you have no chance competing with AAA, or even high-end Indies. You need to come up with something original, something different, and embrace the compromises you have to make along the way. Your graphics will be scrappy compared to AAA, make it a feature. Your game will be rather short, or have less features. Make every feature and level you can put in count.

In the end, you will only attract a niche audience. That niche audience might be bigger on mobile, but in the end they will most probably be spending less on your game, besides the Whales.... and harpooning the whales is an art in itself.

There are more than enough successfull 2D Indie games on PC (Fez, Thomas was alone, ...) that use graphics and gameplay that could also run on mobile devices... yet still they found an audience, could sell it for 10x as much as they could have on mobile, and made good money with it.

True about the low barrier of entry to the app stores... yet, if this is a good idea and really good for game devs IDK... read stories about devs complaining their games (that were not too shabby looking at all) getting zero attention and being flushed out from the new releases page in houts or worse, just because of the MASSIVE influx of new games being released every hour to the particular app store.

You might need to do more to get unto Steam.... but AT LEAST you get less noise distracting potential buyers from your game this way (and I am aware that even so, lot of crap makes it to Steam).

The marketing need differs little between mobile and PC. No App store will do the marketing for you, you will have to come up with a good strategy yourself. AFAIK this is the point where most new devs will fail.

So I don't really see much difference between PC and mobile when it comes to publishing and marketing. Mobile app stores set up less roadblocks, but your game will more likely be drowned in the flood of noise apps and games that plague those app stores.

That I do agree though: If you first and foremost target is to Publish something and getting it to a storefront, mobile is your best bet. Maybe you will make less than if you put the same thing on Steam (If you get the game on Steam and its at least half decent), and most probably your game will not sell many units until you have a marketing genious behind it. But at least you get the street creds for having a released game, which is worth alot in itself.

True about the "labour of love" thing... don't rely on Indie game dev to pay the bills until you had at least one big hit.

Thanks for the answer Gian!

I'm going to take a look at devmaster for sure never seen that site before and it looks really useful.

I'm not really saying that Unity isn't a good fit.

It is a great engine and made many things with it but I was just thinking that there might be other ways.

The only downside is that things can get quite messy with big projects and with that I mean the way scripts work etc.

I love OOP and I'm just missing that feeling in Unity but it's not a big issue.

I looked at the asset store before and proton seems to be a good solution any thoughts on that?

And do you know the big difference between the framework from onedayitwillmake and most other regular and networking solutions?

I know there are many but the concept of all is pretty much the same and the concept of onedayitwillmake seems completely different.

The big advantage I see with this is that the game can just fully run on servers and clients just get a snapshot of it pretty much.

Only player input would have to be send from the client to the server but about the data send from server to client I don't really get it.

Like is it sending all pixels to the client?

I haven't dived very deep in to networking so I should probably first just continue learning more about networking and then I can probably figure it out.

I have the time for this project and I do it to learn things and that's also the reason I want to add multiplayer as I don't know much about it yet.

Look, I am not the networking guru, and I have constrained myself to only using local multiplayer until now to avoid any unneeded complications until my game prototype is ready for it, so I am not the right guy to give you real advice on the topic.

the weird name you mentioned (onedayitwillmake) gives me a hompage of someone as the first google hit. Are you talking about this page (http://onedayitwillmake.com/)? Besides the rather ugly web design (though that means the guy must be a good programmer if I go by empirical evidence, programmer homepages where ugly since the dawn of the internet :) ) I see lots of links to coding algos and solutions there (that I cannot open at work)...

EDIT: And by not just taking the first google entry I see now what you are talking about on github...

Well, this is a rather hard question to answer. Somebody needs to have expieirence with existing solutions (Photon, Smartfox, whatever else is on the market), AND take the time to analyze the solution from this guy.

What I do feel competent enough to give some advice on is your doubt about scaling Unity to larger projects: Yes, I see where you are coming from. And I do share your concerns, to some extent.

Nobody is stopping you though from mixing Unitys approach with a more standard OO approach. This is what I do. I use Unitys component approach for all the Editor facing scripts.

Behind the scenes I use a normal OO approach, as this is what I am most comfortable with. I also feel mixing and matching can add something to the standart Unity approach.

For example, only classes that get used as a behaviour script in the Editor are setup as a MonoBehaviour object. All classes that are used for other purposes are normal Objects. The MonoBehaviour classes can be seen as your hook-ins for Unitys game loop, and from there you can communicate through normal OO means between objects.

Is it a cleaner way to work than in a strictly OO based Engine? No, not really.... but it gives you options, as does the fact you can use behaviour scripts and drag and drop them in the editor to setup your scene... or you can ignore the editor for the most part and do things in code if that is more your thing.

Thanks for those 2 reactions.

Even though they are kinda off topic it's a interesting read and will help towards deciding which platform.

I would rather create a game that can be played on desktop then phone but I don't think my game will fit on steam.

It's more a game for kids and teenagers to play from time to time.

You can compare it like transformice I suppose which is a flash browser game but it's also available for download.

My game will be free as I don't really have to earn a lot money with it as that's not my goal for this game.

I just want to make it, learn from it, and publish it.

Both for my own experience and of course it will look good on my portfolio having a quite big game released on the market.

If it goes well though I might add in a store in game to purchase cosmetics and stuff skill boosters for example.

But I don't expect it to happen as I have no experience with marketing and publishing games but we will see at the time of release which is gonna be a while from now on :p

I think I'm just going with Unity and focus on desktop and browser.

I'm not sure if I should try get it on steam though as I want it to be easy to install and play even for young people.

The benefit of using steam would be having a little bit marketing because if I just put it on a website I have no clue how to get people to download it and find it.

I might at some point also try get it on mobile through unity but I think the game fits more for desktop platforms especially because there are a lot controls.

I did plan out all controls for mobile devices and it should work fine but I think using mouse and keyboard would be preferred by almost all people.

And I can always just add touch support anyway also for desktop pc's with touch screens and when the game is on browser people could still play it on mobile I suppose.

Thanks for those 2 reactions.

Even though they are kinda off topic it's a interesting read and will help towards deciding which platform.

I would rather create a game that can be played on desktop then phone but I don't think my game will fit on steam.

It's more a game for kids and teenagers to play from time to time.

You can compare it like transformice I suppose which is a flash browser game but it's also available for download.

My game will be free as I don't really have to earn a lot money with it as that's not my goal for this game.

I just want to make it, learn from it, and publish it.

Both for my own experience and of course it will look good on my portfolio having a quite big game released on the market.

If it goes well though I might add in a store in game to purchase cosmetics and stuff skill boosters for example.

But I don't expect it to happen as I have no experience with marketing and publishing games but we will see at the time of release which is gonna be a while from now on tongue.png

I think I'm just going with Unity and focus on desktop and browser.

I'm not sure if I should try get it on steam though as I want it to be easy to install and play even for young people.

The benefit of using steam would be having a little bit marketing because if I just put it on a website I have no clue how to get people to download it and find it.

I might at some point also try get it on mobile through unity but I think the game fits more for desktop platforms especially because there are a lot controls.

I did plan out all controls for mobile devices and it should work fine but I think using mouse and keyboard would be preferred by almost all people.

And I can always just add touch support anyway also for desktop pc's with touch screens and when the game is on browser people could still play it on mobile I suppose.

The good thing if you use an engine like unity is: develop your game, analyze the outcome, and you can still decide to go with a different platform. With mobile being just as free as PC/Mac/Linux/Web if you don't need Unity pro features, you could get your game unto a different platform with some tweaks even though you targetted a different one in the beginning.

In regards to multiplayer, I would advice you that you set up the structure of the engine in such a way that a singleplayer game from the engines perspective is a multiplayer game that only has one local client attached.

Yeah I'm not planning to create a client and a server both separate.

Thats not what I am saying in my comment and all games have a server and a client thing in MP play, traditionally this is a peer2peer connection in which one client is acting as host.

What I am saying is that the single player game should be treated in the same way as if you were playing a multiplayer round without any other players connected to you.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, theHunter, theHunter: Primal, Mad Max, Watch Dogs: Legion

Check out phaser for a good javascript game API to create great 2D HTML5 games.

As far as multiplayer support, I'm not real sure, but google has tons of examples of making multiplayer games using html5 and javascript.

Thanks, but Phaser doesn't seem to support other platforms like android etc.
I would like to make the game for (all) platforms.


Of course phaser works with Android. As long as it has an HMTML5 compatible browser (which Android has), then you can use phaser.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)

Check out phaser for a good javascript game API to create great 2D HTML5 games.

As far as multiplayer support, I'm not real sure, but google has tons of examples of making multiplayer games using html5 and javascript.

Thanks, but Phaser doesn't seem to support other platforms like android etc.

I would like to make the game for (all) platforms.

Define "doesn't seem to support all platforms." Do you mean that it doesn't run natively on those said devices and needs to use HTML 5? If that is what you want, then your engine/framework list just became incredibly small.

But other than that Phaser supports mobile browsers just fine. Matter of fact their website even advertises this as a main feature as they said they designed Phaser from the ground up to deal with Mobile first! So as long as their browser can run HTML 5 then they should be good to go.

With support I mean running on it natively yes. So the option make an APK with it for example and publishing it on google play market.

But I changed up my plans completely last days and switched to a 3D game and work together with a friend.

So we will be making it in Unity for sure and most likely going to use proton for networking or I might create my own system if that doesn't work out I haven't tested it yet.

I'm also going for desktop only just to make things easier.

Thanks for all useful comments guys smile.png

This topic is closed to new replies.

Advertisement