Executando verificação de segurança...
5

Estudando elixir, meu projeto nem tão secreto

Apresentação

Salve rapaziada. KitsuneSemCalda aqui.

Cortando um pouco a enrolação e os Ziriguidum, ontem eu comecei um projeto em elixir chamado "The Seed" para quem não sabe é semente em esperanto (estou zoando não leve a sério).

Para quem assistiu sword art online deve saber que a The Seed é um conjunto de programas criado para facilitar o desenvolvimento de um vrmmo. Enfim meu primeiro projetinho com elixir para testar meus conhecimentos é criar um servidor de jogos para jogos mmo. Algo como a riot faz com Valorant, League of Legends ou alguns jogos como o CSGO utilizam em seu backend ... etc.

A ideia principal é que o servidor de jogos seja extensível usando um sistema de módulos dinamicamente carregável, que possa ser conectado a diversos clientes em várias linguagens. Meu objetivo com isso é tornar a criação de games estilo mmo mais fácil.

Porque Elixir

Qual foi os motivos de eu ter pego elixir se minha lang favorita é go, a mais usada em jogos é c++ e a que eu tenho mais conhecimento é python?

Primeiramente, uma linguagem de programação não é especial. Ela pode se tornar sua favorita, mas você não deveria dever nada a linguagem e sim a sua capacidade como programador.

De ]certo modo, eu já estava de olho na linguagem do elixir por ela rodar sobre uma VM igual a JVM so que chamada BEAM.

O BEAM garante melhor aproveitamento recursos do host em comparação a outras linguagens pelo OTP (Open Telecom Protocol) que faz um processo BEAM se comunicar com outro, além da capacidade de manter um serviço BEAM rodando sem se preocupar com erros (afinal sempre podemos dar um kill em um processo e subir outro) e os processos BEAM são montados em cima das threads da CPU host, ou seja temos um multithread simplificado

Processos BEAM

Outro motivo é que tanto a linguagem elixir quanto a linguagem erlang sobre a qual foi construída. Ambas são perfeitas para trabalhar com sistemas distribuidos, por isso softwares como:

  • Whatsapp
  • Discord
  • Pinterest
  • Heroku
    ...

Para quem deseja conhecer mais a linguagem elixir eu deixo aqui uma palestra sobre elixir feita pelo Fabio Akita explicando mais a linguagem: palestra

Carregando publicação patrocinada...
2

Muito interessante!

O Elixir é brasileiro sim, isso é incrível. Temos desenvolvedores brasileiros muito talentosos. Como você que dedicou tempo para compartilhar esse conhecimento incrível conosco. Muito obrigado!

Eu tenho atuado mais no desenvolvimento de sistemas WEB. Geralmente, PWA, SPA, etc..
Nesse mundo de desenvolvimento web, não chegamos a nos preocupar tanto com questões como threads, process etc... principalmente por estar desenvolvendo no Front End.

Elixir tem pontos interessantes. A linguagem tem seus méritos com toda certeza.

Em algum momento, Elixir vai acabar sendo ainda mais usada e assumir o papel ainda maior no desenvolvimento de software.

2
1

Vi a palestra do Akita, não conhecia sobre a linguagem, é incrivel oq ela pode fazer! Milhões de requisições num servidor é algo de tirar o chapéu. Eu sou front, mas já atuei como back php, e realmente fiquei impressionado. Como voce pretende usar o elixir pra fazer um mmorpg, tipo ele não seria mais indicado mais pra serviços de mensageria?

1

Sim, mas a ideia principal é ter um servidor tipo os da Riot, CS GO ... etc.

Eu deixo meu servidor trabalhando com a lógica do game de combate a login, spawn de npc//mobs e passo a tarefa de renderização para o cliente

1
2

Voltando aqui para mostrar alguns esquemas de servidores de jogos feitos em elixir que eu encontrei:

- https://github.com/oestrich/ex_venture/tree/main
- https://github.com/thecodeboss/minecraft
- https://github.com/pb82/Servus
- https://github.com/ImNotAVirus/elvengard_network
2