Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Vino
Aug 11, 2010
You modeled your queue service after how a player would pick a server when browsing through the old 2000-style server browser, but I'm not sure that's the best route to go here. It causes a number of problems, like that some lobbies will never start if they don't have enough greedy clients selecting it. That doesn't seem like a problem you can easily solve in your model. You'll also have security problems with people hacking their client to join lower-skill games so they win more. I think you need to flip how it works - the matchmaking service and not the client does the heuristics on which players will go together, and when it has enough players to fill a game, finds an available server somewhere in their geographic median and tells them to connect, and the servers never refuse.

Adbot
ADBOT LOVES YOU

Vino
Aug 11, 2010
I'll add some thoughts to the game networking discussion. Read and learn from my mistakes. (Note that my experience is mainly based around first and third person realtime shooters and networking models for other types of games will necessarily be different, I don't know how eg MOBAs or MMOs should work.)

1. If you're going to make networking support for you game then do not do not do not do the simple obvious thing where you have a single binary that is sometimes a client, sometimes a server, and sometimes a listenserver depending on parameters. This is a great way to have client-authoritative features and bugs everywhere where the logic works differently in those three situations. Instead, make a .dll that is always the server, and a separate .dll that's always the client, and if you want a listenserver then load them both in the same memory space.

2. If you're going to develop an API to expose networking to gameplay engineers then don't allow them to serialize their own messages. If you listened to my approach above then you should be able to get away with exposing the following:

- Servers write to replicated variables that are automatically (using methods previously discussed in this thread) serialized and replicated to all clients. This is how the server communicates with clients.
- Movement, shooting, and abilities if the game has them should be sent from the client to the server as a stream of inputs. If you do this then you can add prediction on top of it by running the same input stream on the server. Predict as little as you can get away with.
- Everything else should be sent as a stream of commands out of band of the input stream.

Vino
Aug 11, 2010
Yes. You should be running the same code on the server and the client so that when the client says "I was at X,Y,Z and I pressed W" they can both do the same simulation and end up in the same place. This is what people mean when they say deterministic.

Vino
Aug 11, 2010
At a basic level risk is basically the probability given the data you know that you're going to make enough to have a viable business. There are a few parts of that to break down.

Right now, how sure are you you'll make money? Sounds like not sure at all. You may not know your probability, or you may know it's low. If you can raise that probability to 100% then you have no risk, and you should invest all of your money. If you discover probability is low or payoff is low then you should cut your losses. You can do things to increase how much you know about that probability, but exactly what you do and what results you get vary depending on what you're working on. But it'll probably look something like building a vertical slice and putting it in front of the players you're trying to sell to and collecting their feedback. You could write a series of books about how to do each part of that last sentence but that's your direction.

A primary way you can ensure you invest in your own company responsibly is to expand your investment as you decrease your risk. You stairstep your investments with your risk reductions, each risk reduction unlocking another investment. When you start out your risk is high (you have no data) then you invest a small amount into decreasing your risk (collecting data on the market you're trying to enter, talking to customers in it.) Once your risk is lower (you did the previous) then you can invest a modest amount into decreasing your risk some more (build a prototype and collect further data based on it, try to attract an initial following.) Finally your risk is very low (you have a growing Twitter following/active users/good retention rates/etc) and you can invest a lot (finish the game and go crazy on promotion.)

Book recommendations: Running Lean by Maurya and Crossing the Chasm by Moore.

Vino
Aug 11, 2010

TooMuchAbstraction posted:

I'm aware that something like 5% of indie games are profitable. I feel like I ought to have at least somewhat better odds than that since I have more experience and resources to throw around than your average fresh-out-of-college startup

Those 5% that are profitable aren't evenly distributed by experience, they're the ones that already have experience. Nobody makes a profitable game with no experience. So you can't improve your odds on that basis.

TooMuchAbstraction posted:

And of course, to some extent the more I spend on the game, the more likely the game is to sell

You seem to think that how much your game sells is 100% a function of how many features are in the game. Untrue. Features matter, but the marketing work you do is a larger factor. You as a business owner need to be putting more thought and effort into the marketing than you are putting into the game.

Another problem here is that you're working on features with (I assume because it sounds like) no idea of what features your customers want. It sounds like you may have assumed your players want some set of features, that without those features the game won't sell as much, and that if you build those features the game will sell more. You'd be wrong to assume any of those three things.


This game looks cool. One promotion model for you could be something like Skate Story or Untitled Duck Game where you use Twitter as a video dev log to grow an audience.

TooMuchAbstraction posted:

What I don't have though is data on if the game is fun.

That's not the data you need. You can tell whether the game is fun by playing it yourself. You're a game designer, it's your job to make fun games. The watching-over-the-shoulder playtests you're talking about are for testing the first-time user experience and you can do them by streaming over Discord, but they won't get you the business data you need, which is not whether your game is fun but whether it will sell. Think about what conditions need to be in place for your game to sell a lot at launch and work backwards from there.

TooMuchAbstraction posted:

Oh, absolutely -- you can bet that when I'm ready to start marketing

You're ready now. If you don't start now, you will fail.

Reaching out to media like streamers and game journalist sites is an important step that won't work for you unless you complete a dozen other steps first. Without you having earned media people's trust, you'll reach out to them and they'll ignore you. You need to gain their trust - ie their confidence that if they stream/report on your game then people will watch/read the reports, because you've already shown somehow that the game has an audience. Media aren't audience attractors for game developers. Sometimes a popular streamer will play your game and bring you users but that's lightning in a bottle that you can't count on. Rather, media deal with games that are already popular. Your game needs to demonstrate an existing audience before you can get media attention.

Marketing isn't selling, it's earning trust. You have to start now if you want to be ready by launch day. You don't need a complete game to start.

Question: When is your game ready to be sold? You probably think the answer is "when it's done". This is false. The answer is "when people buy it".

One way you could collect data that would reduce your risk is to sell preorders. What if you make a preorder button and people start pressing it a lot? Then you have some data. If not, then your goal is to make people press it and you've lowered risk (therefore justifying increased investment) when a lot of people have.

Vino
Aug 11, 2010

TooMuchAbstraction posted:

Thanks for your detailed and blunt advice, Vino! I really appreciate it. It's hard to find communities that don't sugarcoat their advice these days.

You're welcome!

TooMuchAbstraction posted:

I will freely admit that I haven't actually tested those assumptions

Well OK then, you know what to do ;)

TooMuchAbstraction posted:

Thank you! And yes, I've been posting on Twitter quite a bit. Unfortunately I had zero Twitter presence before I started development, and gathering followers is a slow grind; despite regular posts, participating in Screenshot Saturday, and some other miscellaneous "get the word out" activities (including writing an article about the game for a zine) I'm up to all of 280 followers after a year on the platform.

This is great. Looks like you're already doing some of the right things.

TooMuchAbstraction posted:

Thinking in terms of the conditions I need to have in place for the game to sell on launch:
- People need to know about it. This implies a lot of getting the word out, through word-of-mouth, articles, streams, Twitter, what have you.
- People need to want it. That implies making the game look good in all or most of the above.
- People need to be able to buy it. That implies good storefront presence and a price point that's in-line with their expectations.

This is good. You've built a model that you can test. If you can make each more concrete then you have something to work on. How specific can you get? I find it helps me to pretend my boss or an investor is asking for a report and write everything down in a document somewhere. "People need to know about it" - How will you do that, in particular? Twitter is a good start. If people will be streaming it, what streamer? Pick a specific one as an example. How will that streamer decide to stream it? How will they know about it? "People need to want it" - You can do art tests for this. Find some players who like this kind of game and show them art of other games in the genre and ask them for their opinions. Cross-reference that with what games they've bought. Ask your artist to art one or two pieces and then throw those into the other examples and ask for more opinions. Maybe you'll discover you can get away with simpler and cheaper art. "People need to be able to buy it" - That ones easy for game devs, there are already a lot of solutions out there.

TooMuchAbstraction posted:

There's something of a circular dependency / snowball effect in what you say that I'm not sure how to resolve. You need to demonstrate an audience before the big names will care enough to give you spotlight time, but in order to get an audience you need people to be able to find out about the game.

Yes. It's hard, and that's why your primary attention should be focused there. You're already an expert in technical development, so you don't have risks there. You should put your time where your risks are, answering the questions about how to start that snowball.

It's probably not as simple as "Hey streamer look at my data!" because as an oversimplification the data they look at to determine what to play is this page. If your strategy is to use streams to gain an audience then you need to make it onto that page. Your streamer strategy might be more like finding streamers who are already playing similar games and inviting them to play your game, asking for their feedback, and using it to direct development. If you can get them bought in to your game then you may be able to get them to stream you on release day. I would say all this only works if your game is multiplayer, if not then you're probably best off abandoning the idea that streamers can help you.

The entire previous paragraph is subjective and depends heavily on the type of game you're making, it's your job as a businessperson to try to find the answers there.

TooMuchAbstraction posted:

One of the many tasks on my plate is to set up a Steam page for the game, not for Early Access necessarily, but just so people could wishlist. That had been blocked on me getting the aesthetics nailed down, which has finally happened in the relatively recent past.

Why is it blocked on aesthetics? Is your game the type that people will judge based on the aesthetics and then never look at again if they don't pass the visual bar? If your game is like a first-party playstation singleplayer experience then that might be true, but maybe it's not? Have you tested that assumption? If you can invalidate it then you can put up a Steam page and get wishlists sooner.

TooMuchAbstraction posted:

I'm not really sure I want to be in the position of directly taking preorders on a self-run site...aside from Steam and Itch

Why not? Set up Stripe and send anyone who pre-orders Steam codes on launch day. (Again I'm not saying this should be your strategy, just that it's a possible strategy you can consider. You've got to figure out what your best strategy is.)

Vino
Aug 11, 2010

TooMuchAbstraction posted:

I don't know what I'd do beyond cold-calling them.

Cold-call them.

TooMuchAbstraction posted:

That said, I have wanted to add some "crowd-control" features (where Twitch chat can cause things to happen in-game by voting or sending specially-formatted chat messages), which might make it more appealing to streamers.

Just to beat the horse dead: Make sure you talk to streamers about this before you go through the effort of building it.

TooMuchAbstraction posted:

I guess I've been tacitly avoiding techniques that involve collecting data from my playerbase, due to not wanting to deal with a privacy policy. But the telemetry discussion reminds me that metrics on player interactions would be really useful, so I may need to just bite the bullet on that and add a privacy policy to the game.

Collecting data doesn't have to mean through analytics. Data doesn't have to be rows in a database, it can be a half dozen conversations with players who are likely to buy your game because they've bought similar games.

Vino
Aug 11, 2010
Survey people who have read the description of your game to see what interests them the most about it. Make 5 different minimum prototype trailers that show different sets of those features. Show them to different people and get qualitative and quantitative responses. Have people rate on a scale of 1 to 10 and count the ones with the most 8-10 ratings, in other words, the most of your customers. (Not average, you don't care about anyone who rates 7 or below.) Make the final polished trailer from the winner.

Vino
Aug 11, 2010

TooMuchAbstraction posted:

Is this something you'd say to do while the game is still in development, with the goal of using the trailer to help build that marketing snowball? Or are you talking more about the leadup to launch (or Early Access or a Kickstarter)?

I made a trailer half a year ago mostly to get some familiarity with the tools. Of course the game is extremely different now, and I've been contemplating making a new trailer to go on the Steam page so it isn't just screenshots. But it is a lot of effort. I certainly wouldn't put that trailer up on Steam; I had no real idea what I was doing, there's no story/throughline in the trailer, no focus, and of course the music is a little odd.

Since I put out that demo on Monday, I've accumulated over 80 new issues. They're mostly polish and "the way this works isn't super obvious", fortunately. The overall impression I'm getting from feedback is that the game is mostly in a pretty good place!

Yeeeep absolutely. You need to know how your game will sell and the more you talk to your customers the more you'll learn about what appeals to them. I find that the major ways in which I describe the things I'm making often come from hearing my customers describe the thing. A long time ago I made a game called Digitanks and I used to describe it as "you know that old game scorched earth? or worms? it's like that but in 3d but not like worms 3d but also there's like a command and conquer aspect to it but turn-based" and then one day I read an article that described my game as an "artillery strategy game" and I smacked my head wondering why I hadn't been calling it that all along. There are lots of benefits to talking to customers (aka marketing) as soon as possible.

Case in point you're in the same post saying both, "Is it useful to do early marketing and create demos and videos?" and also "Look how much I learned from creating this demo and video"

Vino
Aug 11, 2010
I moved to a new team a few weeks ago and I haven't met anyone in person and I only talk to four people daily and I have no concept of the size or culture of the team, it feels weird. I feed off that social energy and it's been hard for me to connect with the new team as a result. It all makes me rethink the whole "we're all going to be WFH after the pandemic" idea because humans are social animals and like in-person work.

Adbot
ADBOT LOVES YOU

Vino
Aug 11, 2010
Oh yea I'm not going to argue that everyone wants to be in an office building. Obviously untrue. I'm very enjoying working from home in many respects. Still, do you really think that when the pandemic is over everyone is going to say, "Now I have to find another excuse not to go see people?" A lot of people will say that but not enough that we all work from home forever now.

Though judging from this thread I guess game developers are maybe mostly that type lol

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply