LINUX.ORG.RU

Golang, или что выбрать для сервера RTS с перспективой на будущее

 , , ,


0

1

Здраствуйте софорумцы! Начну с сути темы, а дальше обьясню ситуацию. Во-первых, появилась возможность поучаствовать в разработке инди онлайн стратегии. В данный момент в команде 3-е людей: кодер на юнити, моделлер и я. Моя задача - это написание сервера для игры. Особой практики в написании производительных серверов нет, так что и любимого инструмента под это дело тоже нет. Но хочеться выбрать подходящий инструмент с помощью которого в адекватные сроки такой сервер можно написать. Работаю я не один, а потому подводить коллег не хочеться.

Во-вторых, у меня заканчиваеться сессия и я хочу этим летом устроиться на работу. Для этого решил написать какой-нибуть проект, который можно будет показать на собеседовании. Сначала думал писать на руби и рельсах, даже Матсумото почти до конца дочитал. Но так как проект требовал работы с вебсокетами, я отказался от затеи писать его на руби и попробовал в то время ненавистный мне js. Оказалось, что хоть язык он так себе (хотя es6 делает его поприятнее), его экосистема мне очень нравиться. Все новое, блистящее и модульное. Миллион библиотек и лепи проект как хочешь. Правда, эта самая модульность имеет и довольно большие минусы в плане того, что есть много вариантов как и что использовать и ты часто не знаешь conventional way. Чет меня в сторону уносит... Короче в результате есть почти дописанный маленький проект на feathers.js и react. Но вот поискав в гугле работу. Кстати интересует именно западный рынок, а не отечественный. Живу не в снг. Понял, что в основном работа на js - это фронтэнд. Да, я чуток освоил реакт, но верстать я ненавижу и получаеться у меня ужасно. Знаний по бэк-энду у меня больше и нравиться он больше. В общем ищу бэк-энд работу в вебе. Что посоветуете изучать? Вроде тут Go подходит и для того инди проекта Go хорош должен быть. Но работ по нему ещё меньше чем по бэк-энд ноде и, кроме того, после прочтения статьи появилась боязнь «профессиональной деградации», не хочу стать бездумной стэковерфлоу макакой. Или просто идти на любое собеседование по java/ruby/c++, не зная там ничего, но показывая какие-то готовые наработки на других языках и технологиях? Так не очень углублялся в какие-то конкретные технологии и языки, а скорее пробовал всякое разное: c/openGL и геймдев/java/android/clojure/scala+play2!/ruby+ROR/asm/elixir+phoenix/elm/react/js и так далее. Так, книгу прочел, поковырял и давай новое...

Или может вообще фриланс попробовать? Но хочеться в коллективе поработать... Короче слово вам, господа.

Haskell. Там даже из коробки RTS есть.

hateyoufeel ★★★★★ ()

Хочешь чтобы все быстро работало - бери Go

Хочешь чтобы все быстро было написано - бери python

Всякий шлак типа ноды руби и т.д. сразу лесом посылай.

В данный момент в команде 3-е людей: кодер на юнити, моделлер и я.

Вангую подобные сообщения на форумах юнитей и модельников где пишут «есть бэкэндщик, моделлер и я»

Siado ★★★★★ ()
Ответ на: комментарий от Siado

Как питон ведет себя с вебсокетами? Так же как и руби?

anonymous ()

Ну если уже есть Unity на клиенте, то бери смело .NET Core

anonymous ()
Ответ на: комментарий от anonymous

Здесь вопрос состоит больше в том, что взять такое чтобы в будущем пригодилось. А к .net у меня непереносимость. Использовать могу, но ставить на нее в будущем не хочу. Лучше уж джава.

enterix ()

Не с того начал. Сначала изучи архитектуру построения подобных серверов и вообще архитектуру сетевой коммуникации в играх реального времени, ты сильно удивишься насколько неправильно ты сейчас представляешь себе архитектуру.
А потом — на любом удобном языке, серьезно. Хоть на цацкелле, один хрен от прототипа до релиза вы все пару раз в нуля перепишете когда набьете собственных шишек и будете понимать как и на чем лучше писать.

mersinvald ★★★★ ()
Ответ на: комментарий от Siado

А на форумах веб-девелоперов начинают вопрос с показывания структуры директорий проекта. Традиции)

makoven ★★★★★ ()

первая твоя работа не может быть идеальной, я бы предложил не взрывать себе пока мозг выбором и продолжить делать проект на js, потом идти фулл стек жс разработчиком.

umren ★★★★★ ()
Ответ на: комментарий от Siado

Всякий шлак типа ноды

нет, а че собственно?

монга --- нода --- реакт, чем плохо? разве что типизации нет, зато и делается быстро и нативно все, json, летает, красота прям.

Rastafarra ★★★ ()

А изучить западный рынок труда и выбрать что-то из востребованных технологий нельзя?

Weres ★★★ ()

Scala. И пусть твой кодер на юнити посылает прямые REST-запросы. Тогда бекэнд может быть на Spray (староват) или на Akka HTTP (помоложе). За одно познакомишься с платформой Java и базовыми вещами из мира ООП и мира ФП. Познакомишься еще с асинхронными вычислениями. И тут же будет большой простор для использования самых разных баз данных.

dave ★★★★★ ()
Ответ на: комментарий от Rastafarra

монга

Ви таки утвегждаете, что у юнитов разных игроков продвинутой rts не возникнет продвинутых реляций??!!

Shadow ★★★★★ ()

В идеале - C++ или Rust. Но Golang, Python и Ruby тоже вполне пойдут для прототипа. Выше mersinvald всё верно написал.

ei-grad ★★★★★ ()
Ответ на: комментарий от anonymous

Как питон ведет себя с вебсокетами? Так же как и руби?

А как руби себя ведет с вебсокетами?

Siado ★★★★★ ()
Ответ на: комментарий от Rastafarra

монга --- нода --- реакт, чем плохо?

Кушает много компьютера.

А монга так вообще нагрузку не держит (а казалось бы).

Siado ★★★★★ ()
Последнее исправление: Siado (всего исправлений: 1)
Ответ на: комментарий от Siado

Слышал что херово. Толком ничего нет, что удобно все делает...

Что на счет прогнозов по популярности и востребованности Go? В интернете много воды об этом было год-два назад. Оправдались прогнозы?

enterix ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.