Casa > Q > Qual É O Melhor Motor Js Para Usar Se Eu Quiser Construir Um Jogo De Estratégia Baseado Em Turnos?

Qual é o melhor motor js para usar se eu quiser construir um jogo de estratégia baseado em turnos?

Pergunta de excelência !

Peter J. mencionou o Phaser, que é um excelente framework, e é particularmente adequado para construir platformers. Vale a pena conferir.

Se você for por aí, passe algum tempo aprendendo pixi-js, que é a renderização lib usada por baixo do Phaser. Pixi fornece ao Phaser uma boa parte de suas impressionantes imagens, graças a um mapeamento realmente limpo do JS em um contexto OpenGL no navegador. (ou seja - Pixi esconde tudo isso e torna tudo muito fácil)

Pixi.js - renderizador webGL 2D com fallback canvas

A API para construção de front-ends chamativos é muito similar à programação Flash da velha escola... Eu acho que ? (não posso dizer com certeza, porque eu meio que ignorei a coisa toda do Flash, mesmo quando ele era popular)

Aqui estão alguns exemplos legais ...

Pixi.js Exemplos

Pixi.js Exemplos

Pixi.Exemplos js

Pixi.js Exemplos

Como você pode ver, a performance é o máximo !

Dependente do tipo de jogo que você está visando, você pode descobrir que apenas escrever direto para pixi é uma escolha melhor ? Depende - se a sua aplicação se encaixa bem com um loop de animação apertado, então o Phaser é o caminho a seguir, mas se os turnos baseados em turnos são muito puxados e requerem muita reflexão do jogador - então talvez não.

Esta coisa vai ser multi-jogador ?

Se assim for, então você está dentro para um deleite escrevendo o backend. Descobri que por uma série de razões, Go (como em Golang) o esmaga absolutamente por escrever backends de jogos, especialmente com websockets. Os aspectos concorrenciais do Go se encaixam muito bem com backends multiplayer, e os websockets lhe dão 2 formas de comms em tempo real com todos os front ends.

I menciono isso, simplesmente porque você também pode usar a mesma linguagem Go para escrever o front end com Pixi, e isso pode ser compilado para Javascript, carregado em uma página web, e depois executado no navegador.

Here is an example from the library that does that .. this is a complete program, that compiles to a blob of JS that renders an animated bunny in OpenGL

  1. package main 
  2. import ( 
  3. "ajhager/raf"  
  4. "pixi.v20 - gopkg.in/ajhager/pixi.v20"  
  5. "http://github.com/gopherjs/gopherjs/js"  
  6. var ( 
  7. stage = pixi.NewStage(0x66FF99) 
  8. renderer = pixi.AutoDetectRenderer(400, 300) 
  9. texture = pixi.TextureFromImage("bunny.png", true, pixi.ScaleModes.Default) 
  10. bunny = pixi.NewSprite(texture) 
  11. func animate(t float32) { 
  12. raf.RequestAnimationFrame(animate) 
  13. bunny.Rotation += 0.1 
  14. renderer.Render(stage) 
  15. func main() { 
  16. js.Global.Get("document").Get("body").Call("appendChild", renderer.View) 
  17. bunny.Anchor.SetTo(0.5) 
  18. bunny.Position.Set(200, 150) 
  19. stage.AddChild(bunny) 
  20. raf.RequestAnimationFrame(animate) 

More to see here : ajhager/pixi

And while you are at it, check this demo out too : (compiled Go -> that writes straight to the DOM)

http://tidwall.github.io/digitalrain/

De Linker

O que é melhor, o Samsung S7 Edge ou o iPhone X em 2021...? :: Como vais decidir se vais comprar a PS5 ou a Xbox Series X quando esta for lançada em 2020 e quais as funcionalidades que mais desejas?