- É uma biblioteca JavaScript leve projetada para permitir que até usuários com pouca experiência em programação criem videogames com facilidade
- É adequada para o desenvolvimento de jogos narrativos, ou seja, jogos centrados em storytelling
- Oferece uma experiência de criação de jogos sem programação complexa por meio de uma estrutura de código intuitiva e uma API concisa
- Como tudo (sprites, diálogos, sons e interações) é criado em código, o jogo inteiro pode ser armazenado em um único arquivo
Principais características e vantagens
- Até desenvolvedores iniciantes ou não desenvolvedores podem criar jogos narrativos apenas com código JavaScript simples
- Diferentemente de grandes frameworks, oferece tamanho extremamente pequeno e facilidade de uso
- Tem pontos fortes em história e interação, como jogos baseados em escolhas, conteúdo interativo e experiência de desenvolvimento visual
Para quem é
- Pode ser usado por startups, profissionais de TI, desenvolvedores e criadores que estão começando na criação de jogos ou querem criar protótipos rapidamente
- É uma ferramenta mais adequada para experimentação de ideias, conteúdo interativo e progressão de história do que para gráficos complexos ou jogos de grande escala
O desenvolvimento do jogo começa com createGame()
createGame({
player: {
sprite: 7,
position: [2, 5]
},
map: `
########
#......#
#..X...#
#......#
########
`,
templates: {
X: {
sprite: 4,
dialog: 'Hello, adventurer!'
}
}
})
1 comentários
Comentários no Hacker News
Fiquei me perguntando por que o título é ‘...for narrative games’
Percebi que a página oficial da biblioteca não menciona jogos ‘narrativos’
Há certa confusão sobre o significado de ‘narrative game’
Os jogos de exemplo não batem com a minha definição de ‘jogo narrativo’
Pelo que aparece no Google, a ligação entre ‘narrative game’ e os jogos de exemplo parece fraca
Se existe uma definição mais universal de ‘narrative game’, fica a dúvida sobre quais recursos esta biblioteca oferece especificamente para criar esse tipo de jogo em comparação com outros motores
Ontem à noite tive uma ideia para um jogo de aventura baseado em texto
O conceito seria cumprir missões cotidianas, tipo pagar impostos, ir ao trabalho e limpar a casa
Se você fizer menos dessas coisas, a vida fica mais difícil; se fizer mais, fica mais fácil
O objetivo final é morrer sem dívidas
Acho que a ideia desta ferramenta é permitir criar declarativamente jogos de aventura simples usando texto e diálogos
É diferente de um motor de jogo mais genérico como o Pico-8, que costuma ser usado para construir em torno de mecânicas
É fácil criar mapas, mover-se entre mapas, NPCs, diálogos e gatilhos de texto
Motores voltados a não programadores (como RPGMaker etc.) também são parecidos; mesmo lá, a maioria dos usuários faz jogos centrados em mapas e gatilhos, com texto e diálogos no centro, sem mecânicas complexas separadas
Acho que esta ferramenta destaca justamente a facilidade de criar esse tipo de jogo ‘narrativo’
Na documentação introdutória oficial:
‘Odyc.js é uma biblioteca JavaScript pequena e leve, projetada para permitir a criação de jogos narrativos combinando pixels, som, texto e um pouco de lógica’
Naturalmente, eu presumi que fosse um motor para aventuras em texto
Só na versão em francês do site há mais dois exemplos de ‘narrative’
Usei esse termo porque, pelo foco em estrutura por turnos e em mensagens, prompts e diálogos, me parece adequado para jogos ‘narrativos’ ou baseados em texto
Mas, se houver uma ideia melhor de rótulo, troco com prazer
O jogo The Magic Mushroom é incrível
link
Até agora, este é o meu favorito
link
O jogo do John Wick parece um resumo dos filmes recentes
link
Gostei muito dessa forma de composição
Já fiz vários experimentos criando muitos motores de jogo em JavaScript, e isto ocupa um ponto muito bom entre ‘preciso terminar algo rapidamente para crianças em 2 horas’ e ‘quero entender a estrutura em profundidade’
Espero fazer alguns jogos rapidamente para manter crianças entretidas em ambientes de baixa largura de banda
Tem cara de uma ferramenta bem charmosa
Especificamente, acho boa para ensino com crianças, algo como um pygame dos tempos atuais
Ferramentas como Scratch foram feitas para crianças de 5 anos e simplificam demais a programação
Esta aqui parece ideal para alunos por volta dos 10 anos
Dá para aprender manipulação simples de strings, alguns truques de sintaxe, implementar um side scroller básico e NPCs
Depois, quando estiverem prontos, também dá para ganhar experiência com controle de fluxo
Se você aprender isso para abrir aulas para crianças ou investir num espaço tipo playground, parece algo que dá até para vender de forma prática
Por outro lado, também parece interessante para experimentar geração procedural básica de assets de jogo
Exemplo de código compartilhado:
game.prompt(“Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?”, “Yes”, “No”);Exemplo de uso do código:
await game.openDialog(“Dude, you ran out of eggs!|Would you like to buy|an 80 pack of eggs?”) game.prompt( “Yes”, “No”)Mas era só um ovo; como isso virou quarenta? perguntou alguém
Considerado um projeto realmente inspirador
A pessoa confirmou que é open source, mas apontou que faltava a licença, o que dificulta para desenvolvedores saberem até onde podem fazer fork, modificar e redistribuir
Também gostaria de publicar um fork traduzido para a língua nativa dela (com os devidos créditos), e perguntou se tudo bem
No país dela, menos de 5% usa inglês
Perguntou qual é a língua nativa da pessoa
Explicou que, para idiomas escritos da esquerda para a direita, aplicar tradução é simples
Disse que forks, PRs ou qualquer contato para melhorar acessibilidade são sempre bem-vindos
Isto é incrível
Era exatamente o que eu precisava há 12 horas
Por coincidência, ontem à noite adormeci fazendo assets para um jogo narrativo romântico de 3 fases para uma única pessoa
É a minha primeira vez desenvolvendo um jogo
De manhã, vi no HN uma biblioteca JS para jogos narrativos subir ao primeiro lugar
Para constar, meu jogo é um jogo de gado, e estou usando para pedir oficialmente em namoro para alguém com quem venho saindo há um tempo
Parece uma ótima ideia
Tive uma experiência parecida: recentemente recriei toda a interface do chat do MSN de 2005 em HTML para dar nostalgia a alguém
Foi uma experiência muito calorosa
Boa ideia
Queria poder ajudar mais
Realmente acho que esta ferramenta é um caso perfeito para isso
Espero que dê tudo certo
Gostar de alguém e querer passar tempo com essa pessoa, ou demonstrar interesse, não é algo que deva ser chamado de ‘gado’
Parece um pedido muito carinhoso e atencioso
Passa uma impressão parecida com puzzlescript
Achei uma ferramenta muito legal
Não tem relação com esta biblioteca, mas fiquei curioso sobre como funciona o canvas video recorder aplicado no playground
Quero tentar implementar isso por conta própria
Código relacionado disponível
Recentemente dei uma olhada em canvas video recorder em outro projeto e fiquei surpreso de ver esse recurso embutido
referência a um tutorial no medium.com