Ir para conteúdo
View in the app

A better way to browse. Learn more.

priston.pro

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Source Clean DX11 x64 + Nova Engine Gráfica + IOCP/ASIO

Postado

Salve pessoal.

Faz um tempinho que venho trabalhando em cima da Source Clean 2012 que o DRZ publicou. A ideia inicial era simplesmente ter uma source realmente limpa para desenvolver, sem aquele monte de remendo, código reaproveitado de outras versões e adaptações que foram passando de mão em mão durante anos por devs.

Com o tempo o projeto acabou crescendo bastante.

Um dos exemplos é a nova Engine DX11 que estou desenvolvendo, com os executáveis rodando 100% em x64. Para chegar nesse ponto foi necessário reescrever muita coisa, tanto do lado do cliente quanto da comunicação com o servidor.

O foco principal sempre foi desempenho.

Queria uma engine capaz de trabalhar com Shadow Maps de qualidade sem criar gargalos absurdos de CPU e GPU, principalmente por estar partindo de uma source totalmente clean e antiga. O resultado ficou muito além do que eu esperava inicialmente.

As sombras ficaram mais bonitas, sem aqueles serrilhados, com melhor definição e principalmente com muito mais desempenho. Não foi copiado nada do Delta3D nem adaptado de outras engines que circulam por aí. Todo o sistema foi desenvolvido do zero.

Além da parte gráfica, praticamente todo o backend também vem sendo modernizado.

Grande parte do server-side foi migrado para SQL, incluindo gravação de personagens, rotinas da GameServer, DataServer e diversos outros sistemas internos. Isso facilita manutenção, futuras implementações e melhora bastante a estabilidade da estrutura.

Se você sempre quis ter uma source realmente limpa para desenvolver e abrir seu servidor, sem depender de bases que já passaram por dezenas de servidores diferentes, talvez seja a hora.

Ainda tem muito desenvolvimento pela frente, afinal a proposta nunca foi apenas deixar o jogo mais bonito. A ideia é construir uma base moderna, organizada, otimizada e preparada para receber qualquer tipo de sistema novo sem virar uma bagunça daqui alguns meses.

Vou deixar alguns previews abaixo mostrando um pouco do andamento do projeto.

No momento estou procurando alguém comprometido e que queira investir em uma source nova, não é uma "parceria" e sim quem realmente tem interesse de comprar e ter seu servidor modernizado e escrito por um único dev.

SOCKET IOCP/ASIO

Também refiz a camada de rede utilizando Boost.Asio sobre IOCP, eliminando várias limitações da implementação antiga. Hoje o processamento de rede é totalmente assíncrono, com melhor distribuição de carga entre threads, menor consumo de CPU e muito mais estabilidade em situações com muitos jogadores PvP/PvE conectados simultaneamente. Isso abriu espaço para futuras implementações sem ficar esbarrando em gargalos da rede.

A engine tá muito mais bonita que nos prints, meu PC não colabora muito =D

Quem tiver interesse pode me chamar, abraços.

5.png

4.png

3.png

2.png

1.png

Editado por Hermes

Featured Replies

Postado

não entendi, me parece que field of view é a brisa? ângulo de câmera? outline glow?

quantos fps pega com 200 personagens com equipamentos aleatórios sendo renderizados na mesma cena?

Se eu sumonar 100 Figons em jardim o fps cai pra quanto?

Postado
  • Autor
23 horas atrás, Shark disse:

Hm...🦈🦈🦈

image.pngimage.pngimage.pngimage.png

Bacana, se for projeto clean é sucesso!

Postado
10 horas atrás, sheen disse:

não entendi, me parece que field of view é a brisa? ângulo de câmera? outline glow?

quantos fps pega com 200 personagens com equipamentos aleatórios sendo renderizados na mesma cena?

Se eu sumonar 100 Figons em jardim o fps cai pra quanto?

Melhor dq Figons... Vamos de Atalantas / Mecânicos das Cinzas...

image.pngimage.png

Postado
4 minutos atrás, Shark disse:

Melhor dq Figons... Vamos de Atalantas / Mecânicos das Cinzas...

image.pngimage.png

image.pngimage.png

Postado

Ah entendi, ta bem limitado ainda o FPS. Segue o trampo ai, quem sabe da uma melhorada.

Eu só acho estranho que, como ficou claramente evidenciado aqui, apenas mudar o backend não traz nenhuma melhoria grafica no quesito qualidade/desempenho. Puramente trocar DX9 por DX11 ou qlqr merda do tipo, OpenGL não vai mudar muita coisa. Claro exemplo disso são os 100 fps de máximo que deu pra pegar.

Agora se vc pega o machina por exemplo (https://www.youtube.com/watch?v=Ni-W6LWbPGg) que não foi feito vibe codado e realmente foi REFEITO TUDO, da pra ver que aí sim realmente tem ganho. De resto, me parece um bom jogo de fov e nada mais. Mas os gordin fica maluco kkkk Mas é um bom trampo, só não acho que tava na hora certa da masturbação de ego, ta meio cru ainda pra postar aqui (simplesmente n tem nada de diff)

Editado por sheen

Postado
34 minutos atrás, sheen disse:

Ah entendi, ta bem limitado ainda o FPS. Segue o trampo ai, quem sabe da uma melhorada.

Eu só acho estranho que, como ficou claramente evidenciado aqui, apenas mudar o backend não traz nenhuma melhoria grafica no quesito qualidade/desempenho. Puramente trocar DX9 por DX11 ou qlqr merda do tipo, OpenGL não vai mudar muita coisa. Claro exemplo disso são os 100 fps de máximo que deu pra pegar.

Agora se vc pega o machina por exemplo (https://www.youtube.com/watch?v=Ni-W6LWbPGg) que não foi feito vibe codado e realmente foi REFEITO TUDO, da pra ver que aí sim realmente tem ganho. De resto, me parece um bom jogo de fov e nada mais. Mas os gordin fica maluco kkkk Mas é um bom trampo, só não acho que tava na hora certa da masturbação de ego, ta meio cru ainda pra postar aqui (simplesmente n tem nada de diff)

Definitivamente, é exatamente isso que está sendo feito. Progresso requer tempo, planejamento e execução correta. Mas deixa eu só te corrigir em alguns pontos:

Primeiro: ainda estou usando DirectX 9.

Segundo: não foi refeita nenhuma textura do jogo. Por exemplo, eu ainda não fiz um tratamento dedicado no D3DX9 para trabalhar com .dds diretamente no Loader. Isso só será feito quando eu realmente decidir migrar o projeto para DX11 nativo.

Terceiro: mesmo em DX9, como está hoje, eu já consigo subir texturas em 4K e 8K dentro do jogo sem problema de carregamento. Obviamente, consumo de memória é outra história.

Quarto: é claro que adianta refatorar o backend, principalmente removendo técnicas antigas, como o uso excessivo de Primitives. Só isso já dá um respiro enorme para o projeto. Mas também é óbvio que isso não resolve tudo; é apenas o começo.

Quinto e último: Sheen, o pessoal do fórum já está de saco cheio da sua “capacidade intelectual extremamente abundante”, afinal, todos nós aparentemente somos seres inferiores diante da sua beldade técnica. Então, antes de tentar ensinar todo mundo com essa superioridade imaginária e usando exemplos que não são seus, fica a pergunta mais importante:

Quem é você mesmo?


image.png

Postado
3 minutos atrás, sheen disse:

so li groselhas mas vai na fe irmaozinho!

É tipo tentar explicar matemática para alguém que ainda está brigando com a tabuada.

Eu te entendo, Sheen. Quando o assunto passa de duas linhas e exige interpretação técnica, realmente vira “groselha” para quem não acompanha.

Mas vai na fé também, irmãozinho.

Postado
17 minutos atrás, Shark disse:

É tipo tentar explicar matemática para alguém que ainda está brigando com a tabuada.

Eu te entendo, Sheen. Quando o assunto passa de duas linhas e exige interpretação técnica, realmente vira “groselha” para quem não acompanha.

Mas vai na fé também, irmãozinho.

Nem adianta perder tempo falando sobre esse cara ai... não sei o que esse cara soma aqui.

Postado
31 minutos atrás, Shark disse:

É tipo tentar explicar matemática para alguém que ainda está brigando com a tabuada.

Eu te entendo, Sheen. Quando o assunto passa de duas linhas e exige interpretação técnica, realmente vira “groselha” para quem não acompanha.

Mas vai na fé também, irmãozinho.

Em nenhum momento eu ataquei alguém pessoalmente aqui, diferente de vc que ficou com o ego feridinho =(
Quer aproveitar oq eu escrevi aproveita, não poderia me importar menos kkkk

Postado
  • Autor

@Shark teve um bom desempenho nas sombras dos objetos nos mapas? aqui percebi um pequeno gargalo, então decidi desativar enquanto otimizo.

image.png

image.png

image.png

Esse é um outro projetinho web que estou mexendo quando crio coragem rsrs

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.

Visitante
Responder

Account

Navigation

Pesquisar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.