, чтобы выучить еще и новые техники, я начал создавать небольшую игру.Идея состоит в том, чтобы продолжать расширять его и добавлять новые вещи.Для меня это хороший способ экспериментировать и пробовать новые приемы, а также иметь что-то, с чем можно поиграть.
Сейчас у меня есть базовое положение, которое работает довольно хорошо.Полностью встроен в Vue.js.Однако сейчас все решается на стороне клиента.В будущем я хотел бы использовать веб-сокеты, чтобы превратить это в многопользовательскую игру.Я понимаю, что было бы не совсем идеально, когда клиенты справляются со всем, потому что обманывать было бы очень легко.Мне было интересно, каким будет лучший способ противостоять этому.Моя игра чем-то напоминает космических захватчиков.Появляется много врагов, и вы должны стрелять в них.
Изначально я думал о том, чтобы иметь всю игровую логику на сервере и просто заставить клиента отображать вещи так, как того требует сервер.Но как это получится с высокой нагрузкой?Если 10000 игроков играют одновременно, это будет означать огромное количество запросов в секунду к серверу.Я думаю, это сильно повлияет на производительность игры.
Каковы лучшие практики, когда дело доходит до этого?Я бы хотел, чтобы все было как можно более надежно, но при этом помнить о высокой нагрузке и хорошо функционирующей игре.Я читал, что некоторые игры просто используют некоторую форму запутывания в отношении того, как рассчитывается счет, но, поскольку моя игра довольно проста, кажется, что запутывание не будет работать.Я включил скриншот текущей игры, чтобы дать вам представление о том, о чем я говорю.
Вы - корабль, враги - желтые точки и появляются наверху.Когда они попадают в нижний ряд, вы теряете жизнь.Когда вы проигрываете 3, игра окончена.Моя проблема в том, что при одновременном запуске многих из этих игр отслеживать всех этих врагов будет чрезвычайно сложно, так как их будет много.
С уважением.