-
O que é coreCore
- coreCore é uma forma experimental de criar videogames no formato de uma ferramenta e engine de criação de jogos Action-RPG, com editor de propriedades
- Usa um sistema simples de componentes, e os componentes são vetores Clojure no formato
[keyword value]
- As várias entidades são compostas por mapas Clojure
- Os efeitos colaterais dentro do jogo são tratados como componentes como
[:tx/foo param], em uma estrutura semelhante à do Datomic
- Todo o estado do jogo é armazenado em um único atom chamado
app/state, e as entidades também existem como atoms dentro do atom principal
- Todo o conteúdo da aplicação é armazenado em
resources/properties.edn, validado com malli-schemas e pode ser editado por GUI
-
Capturas de tela
-
Como começar o desenvolvimento
- Digite o seguinte comando:
- A aplicação será iniciada e também fará o seguinte:
- Inicia o servidor NREPL
- Ao encerrar a aplicação (ESC no menu principal),
clojure.tools.namespace recarrega os arquivos alterados e reinicia o app
- Se ocorrer um erro, basta corrigir o erro e chamar
dev-loop/restart! sem precisar reiniciar a JVM
- No VIM, é possível usar vinculando o comando a seguir à tecla F5:
nmap <F5> :Eval (do (in-ns 'dev-loop)(restart!))
-
Licença do código
- Fornecido sob a licença MIT
-
Licença dos assets
- Os assets usados são proprietários e não são open source
Resumo do GN⁺
- coreCore é uma ferramenta para criar jogos Action-RPG com facilidade, usando um sistema simples de componentes para gerenciar o estado do jogo
- Todo o estado do jogo é armazenado em um único atom, e as propriedades podem ser editadas por GUI, o que é útil para desenvolvedores
- É fornecido sob a licença MIT, mas os assets usados são proprietários
- Ferramentas com funcionalidades semelhantes incluem RPG Maker e Unity
1 comentários
Comentários no Hacker News
É interessante ver diferentes abordagens de desenvolvimento de jogos
Este projeto no GitHub parece ridículo para desenvolvedores de jogos
Afirma que pode simplificar o desenvolvimento de jogos, mas usa muita terminologia
Este projeto parece ter fracassado
Este repositório, quase sem documentação, gerou muita conversa
Já vi muitos casos em que a ideia de "quero fazer um jogo" acaba virando a criação de um motor de jogo
Gosto de Clojure, mas fico em dúvida se uma linguagem funcional com estruturas de dados imutáveis é adequada para desenvolvimento de jogos
O estado do jogo é armazenado em um único átomo, e as entidades dentro dele são armazenadas novamente como átomos
Seria interessante analisar dados sobre "tempo/complexidade gastos no motor de jogo" vs. "complexidade/interesse do jogo produzido"
Já existe um Core, plataforma comercial para criação de jogos movida pela Unreal Engine 4