Um jogo não roda no meu PC, então fiz um OpenSource!
O jogo em questão é o The Executive - Movie Industry Tycoon, eu gostei bastante dele. Comprei pois achei que meu computador aguentaria o tranco.... E convenhamos, não é um jogo pesado! Mas meu computador rodou ele de forma tão lenta que tive dores de cabeça por algumas horas. Ele é um jogo onde você gerencia um estúdio de cinema, contratando diretores e atores, melhorando sua equipe e criando filmes para dominar a indústria cinematográfica.
Mas, ao jogar, percebi uma coisa muito interessante. É essencialmente um jogo baseado em texto! Você:
- Cria filmes
- Contrata e gerencia talentos (diretores, atores)
- Melhora seus funcionários para aprimorar pesquisa e análise
- Constrói seus filmes arrastando elementos como roteiro e atuação (similar ao Game Dev Tycoon)
Então comecei a fazer o meu próprio projeto para suprir a necessidade de jogar esse game. Resolvi como uma API REST em Java/Spring (o que sei fazer melhor atualmente). A ideia é implementar toda a lógica do jogo original e melhorias propostas pela comunidade.
Penso que, para um projeto desses, não exista a necessidade de imagens ou vídeo. E sim de gráficos e informações detalhadas. No mais, todo tipo de outra informação seria textual.
Já finalizei a estrutura de usuários e agora estou trabalhando no modelo de Estúdios
Classe UserModel
Representa o jogador/usuário do sistema:
public class UserModel {
private UUID id; // Identificador único
private String username; // Nome de usuário
private String email; // Email para login
private String password; // Senha (criptografada)
private UserRoleEnum role; // Papel no sistema (ADMIN, MODERATOR USER)
private Boolean isActive = true; // Se a conta está ativa
// Datas de controle
private LocalDate createdAt; // Data de criação da conta
private LocalDate updatedAt; // Última atualização da conta
// Relacionamento
private Studio studio; // Estúdio que o usuário gerencia
}
Classe Studio
Esta representa o estúdio de cinema do jogador com suas propriedades principais:
public class Studio {
// Dados básicos
private Long id;
private String name;
private String description;
private Integer reputation;
private BigDecimal budget;
private Integer studioSize;
private Integer studioLevel = 1;
private Integer experiencePoints = 0;
private Integer requiredXpForNextLevel = 1000;
private Integer equipmentQuality = 1;
private Integer staffQuality = 1;
private Integer marketingCapability = 1;
private Integer distributionNetwork = 1;
private BigDecimal totalRevenue = BigDecimal.ZERO;
private BigDecimal totalExpenses = BigDecimal.ZERO;
private BigDecimal weeklyOperationalCosts = BigDecimal.ZERO;
private BigDecimal marketValue = BigDecimal.ZERO;
private Set<Production> productions;
private UserModel owner;
Próximos passos
Pretendo expandir o modelo para incluir:
- Sistema de Produção de filmes
- Contratação de talentos (atores, diretores)
- Pesquisa de mercado e gêneros
- Sistema de críticas e bilheteria
- Economia dinâmica do mercado
O código, como está no título, é OpenSource. Pretendo continuar compartilhando o progresso com vocês!
Essa foi mais uma introdução, no próximo tento trazer mais pensamentos!
Caramba!! Ótima ideia, nos mantenha informado sobre seu projeto.
Obs: estou doido para ingressar em projetos open-source e super te ajudaria, mas domino apenas JS. T---T
Incrivel ideia, tem meu apoio total. Amo tycoon games
Corajoso, tem um grande caminho pela frente. Games são os projetos mais demorados de todo ecossistema de programação, mas também são os mais satisfatórios de se fazer.
Muito massa, cara! Segui teu projeto. Eu até pensei em fazer algo nesse sentido um tempo atrás com um jogo chamado "Gear City", mas fiquei pensando na simulação em si. Não é muito complexo de se fazer?