Category: Talks

sessão 1 – Trabalhar com caracteres UNICODE na consola, Criar processos utilizando a Windows API e esperar pelo seu término.

Bibliografia de apoio:
Capítulos 2 e 6 do Livro Windows System Programming (da Bibliografia) (pgs. 34-37, 181-187, 192-195)
MSDN: Strings & Unicode e Processes

Como começar:

#include <stdio.h>

int main()
{
	printf("Até amanhã\n");
	getchar();
	return 0;
}

ou Use Unicdoe Character Set
ou Use Multi-Byte Character Set

apesar de estar em Use Unicdoe Character Set não é suficiente para escrever os caracteres especiais, vai ser necessário

#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include <stdlib.h>
#include <time.h>
#include <fcntl.h>
#include <io.h>

#define MAX 256

int _tmain(int argc, TCHAR* argv[]) {
	//argc -> numero de argumentos
	//argv -> argumentos
	////TCHAR vou aceitar argumentos com caracteres especiais

	TCHAR result[MAX] = TEXT("Olá! Este programa ainda não representa UNICODE\n");

#ifdef UNICODE 
	_setmode(_fileno(stdin), _O_WTEXT); //#include <fcntl.h> #include <io.h>
	_setmode(_fileno(stdout), _O_WTEXT); //#include <fcntl.h> #include <io.h>
	_setmode(_fileno(stderr), _O_WTEXT); //#include <fcntl.h> #include <io.h>
#endif


	_tprintf(TEXT("Frase:%s Tamanho:%d (caractares) %d (bytes)\n"), result, _tcslen(result), _tcslen(result) * sizeof(TCHAR));

	//mas se fossem funções que não trabalhem com caracteres não é necessário
	srand(time(NULL));
	int aleatorio = rand();

	_gettchar();

	return 0;
}
//manipulação de strings:
//char -> 1 bytes (caracteres que estão na tabela ASCII)
//a alternativa é usar o -> wchar (tem o dobro da capacidade, 2 bytes) e já permite armazenar caracteres UNICODE
//ao invés de ter duas versões do progrma, apenas uso uma versão do código
//TCHAR, não é um tipo nativo
//#include <windows.h>
//#include <tchar.h>
//e desta forma não vou ter que fazer duas versões do programa: para sistemas mais antigos e mais modernos
//_tmain -> main ou wamin
//uma string fixa, cada letra ocupa 2 bytes -> L"Olá! Este programa ainda não representa UNICODE\n"
//ou uso a macro TEXT("") ou _T("") -> "" para resolver as strings fixas
//e vou usar também o _tprintf -> printf ou wprintf
//_tcslen -> strlen
//_gettchar -> getchar()
//preparar a consola para mostrar caracteres wide:
//  _setmode(stdin, constante);
// _setmode(stdout, constante);
//calcular o tamanho real:
// _tcslen(result)*sizeof(TCHAR) // não interessa se está ou não em unicode
#include <windows.h>
#include <tchar.h>
#include <fcntl.h>
#include <io.h>
#include <stdio.h>
#define MAX 256

//LPTSTR -> TCHAR *
//LPCTSTR -> const THACAR *


int _tmain(int argc, LPTSTR argv[]) {
	TCHAR str[MAX], result[MAX] = TEXT("Olá! Este programa é para aceitar UNICODE. Insira \'fim\' para sair\n"); 
		unsigned int i;
	//UNICODE: Por defeito, a consola Windows não processa caracteres wide. 
	//A maneira mais fácil para ter esta funcionalidade é chamar _setmode:
#ifdef UNICODE 
	_setmode(_fileno(stdin), _O_WTEXT);
	_setmode(_fileno(stdout), _O_WTEXT);
#endif
	do {
		_tprintf(result);
		fflush(stdin);
		_fgetts(str, MAX, stdin); //fgets msdn -> _fgetts
		//Retirar \n 
		str[_tcslen(str) - 1] = '\0';
		//Maiúsculas 
		for (i = 0; i < _tcslen(str); i++)
			str[i] = _totupper(str[i]);

		_stprintf_s(result, MAX, TEXT("Frase:%s, Tamanho:%d\n"), str, _tcslen(str));
	} while (_tcsicmp(TEXT("FIM"), str));
	return 0;
}
//setlocale -> para lidar com os caracteres especiais em maiúsculas 

Os processos em Windows (child processes) CreateProcess (em linux era fork)

#include <windows.h>
#include <tchar.h>
#include <fcntl.h>
#include <io.h>
#include <stdio.h>
#define MAX 256

int _tmain(int argc, LPTSTR argv[]) {
	TCHAR str[MAX], result[MAX] = TEXT("Olá! Este programa é para aceitar UNICODE. Insira \'fim\' para sair\n");
	unsigned int i;
#ifdef UNICODE 
	_setmode(_fileno(stdin), _O_WTEXT);
	_setmode(_fileno(stdout), _O_WTEXT);
#endif
	do {
		_tprintf(result);
		fflush(stdin);
		_fgetts(str, MAX, stdin); //fgets msdn -> _fgetts
		//Retirar \n 
		str[_tcslen(str) - 1] = '\0';
		//Maiúsculas 
		for (i = 0; i < _tcslen(str); i++)
			str[i] = _totupper(str[i]);

		_stprintf_s(result, MAX, TEXT("Frase:%s, Tamanho:%d\n"), str, _tcslen(str));
	} while (_tcsicmp(TEXT("FIM"), str));

	TCHAR texto[256] = TEXT("notepad");

	STARTUPINFO si; //
	PROCESS_INFORMATION pi; //

	//memset();
	ZeroMemory(&si, sizeof(si)); // mesmo que o memset mas com tudo a zero
	ZeroMemory(&pi, sizeof(pi)); // resultado da função: pid do processo, pid da threat principal do processo,
	//e handle (ponteiro para estrutura) do processo,  e handle para a thread principal
	//pid unico no sistema para cada processo, o handle podem ser vários, cada um com determinada permissão por exemplo
	
	si.cb = sizeof(STARTUPINFO); //tamanho da estrutura tem que estar preenchido, pelo menos esse!! .cb
		
	//criar um processo -> correr um programa que já foi compilado
	if (CreateProcess(NULL,   // No module name (use command line): se fosse o proprio -> argv[0] ou GetModuleFileName
		//argv[1],						       // Command line
		texto,
		NULL,				 // Process handle not inheritable
		NULL,					// Thread handle not inheritable
		FALSE,					// Set handle inheritance to FALSE
		0,						// No creation flags
		NULL,           // Use parent's environment block
		NULL,           // Use parent's starting directory 
		&si,            // Pointer to STARTUPINFO structure
		&pi)           // Pointer to PROCESS_INFORMATION structure
		)
	{
		_tprintf(TEXT("processo foi lançado PID: %d THREAD: %d"), pi.dwProcessId, pi.dwThreadId );
	}else
	{
		_tprintf("CreateProcess failed (%d).\n", GetLastError());
		return;
	}

	//esperar pelo processo terminar em linux: wait
	WaitForSingleObject(pi.hProcess, INFINITE); //ms >0 ou então quando terminar INFINITE
	//se for 0 só para consulta
	
	return 0;
}
Tags : , , ,

A empresa Cereal Games e o projeto Pecaminosa

Adolfo Soares, atual Director do espaço web www.eurogamer.pt fez uma entrevista a Lazaro Raposo, o CEO da Cereal Games, no dia 31 de março de 2021. Este é o relato (deve ser lido no local oficial, que foi o que eu fiz), e eu apenas gosto de manter aqui alguns dos conteudos numa espécie de formato de arquivo.

“Pecaminosa é um Pixel Noir Police Action RPG a ser produzido pela Cereal Games. A produtora está sediada no arquipélago dos Açores, mais exatamente na ilha de S. Miguel. O lançamento do jogo está previsto para o final do mês de maio de 2021 no PC através do Steam, Nintendo Switch, PlayStation 4 e Xbox One.

Pegando nas palavras do estúdio, “Pecaminosa é um Police Action RPG com uma atmosfera inspirada nos filmes noir e apresenta-se ao jogadores em pixel art. Na pele de um ex-detetive luso-descendente, o jogador poderá explorar livremente uma cidade norte-americana típica dos anos 40, usufruindo de uma palete sonora de jazz vintage que está a ser gravada por músicos açorianos ou a residirem no arquipélago. Entre outras particularidades, poderão também equipar o protagonista John Souza com roupas e armas diferentes, bem como entrar em casinos e apostar em mesas de Black Jack e Poker”.

Depois da oportunidade de jogar a demonstração de Pecaminosa no PC, temos agora a entrevista ao CEO da Cereal Games, Lazaro Raposo. Nesta entrevista procuramos saber mais sobre o projeto, como nasceu, as dificuldades durante o seu desenvolvimento, particularidades da jogabilidade, e sobretudo o porquê da escolha da temática abordada e a linha artística escolhida.

Adolfo Soares (EG.PT): Vamos começar pelo princípio. Como nasceu a Cereal Games e, consequentemente, Pecaminosa?

Lazaro Raposo (CEO Cereal Games): A Cereal Games surge após uma tese de mestrado. Após essa tese, surgiu o interesse e vontade de passar à prática, e com isso criou-se a Cereal games, que é uma empresa desde a sua génese com foco nos serious games (jogos sérios), jogos para a saúde, educação, marketing. Por causa dessa origem os nossos primeiros jogos são todos nessa linha, independentemente da tecnologia. Temos projetos muito diferentes entre si, com exceção de Pecaminosa. Na verdade quem se mete na área dos videojogos ambiciona por um jogo mais arrojado, mas não quer dizer que os outros não o sejam. Pecaminosa permitiu reunir uma equipa e fazer um investimento de quase dois anos para a sua criação.

Adolfo Soares (EG.PT): Para um estúdio português, e ainda por cima o facto de estar localizado no Arquipélago dos Açores, quais foram, ou são, as maiores dificuldades?

Lazaro Raposo (CEO Cereal Games): Apesar de a maioria das pessoas associarem esta área a um mundo digital e global, a verdade é que estar afastado de grandes centros tem os seus senãos. Por exemplo, a Cereal Games tem vindo a crescer, mas nem sempre temos facilidade em encontrar recursos humanos cá nos Açores. Mais, estando afastados da restante comunidade torna-se mais difícil a partilha de experiências. Existe o Discord, o email, mas não é a mesma coisa. No fim do dia, a relação pessoal ainda conta muito. Depois também temos a outra questão que é: mal acabámos de criar a Cereal ..pow..impostos! Nem dá tempo para produzir. Há países que têm ecossistemas bem mais apelativos para esta atividade. Portugal ainda está uns passos atrás.

Adolfo Soares (EG.PT): Há quanto tempo está Pecaminosa em desenvolvimento?

Lazaro Raposo (CEO Cereal Games): Começou a ser desenvolvido em janeiro de 2019 com apenas duas pessoas, mais tarde fomos adicionando mais colaboradores ao longo do processo de desenvolvimento. A Cereal Games em dezembro de 2018 era composta apenas duas pessoas, e a partir do inicio de 2019 começamos a ter pessoas apenas dedicadas ao desenvolvimento de Pecaminosa. Continuamos a ter outros jogos a serem feitos em paralelo, projetos que já vinham de trás. O planeamento de Pecaminosa tinha sido iniciado em 2018 com muito tempo já investido onde temos neste momento nove pessoas alocadas ao desenvolvimento do jogo.

Adolfo Soares (EG.PT): O conceito de jogo teve origem quando e como, a ideia esteve quanto tempo a ser maturada?

Lazaro Raposo (CEO Cereal Games): Se o desenvolvimento começasse na altura em que surgiu, a ideia tinha tudo para correr mal. Pecaminosa surge pela primeira vez em setembro de 2017, nem tinha esse nome. Nessa altura terminámos outro jogo no formato RPG numa linguagem bem mais simples e também no formato pixel art (Nonagon Quest), na linha dos serious games. Disse à minha equipa, “já imaginaram se em vez de ser dentro de um edifício fosse dentro de uma cidade inteira?” e foi aí a primeira vez. Nem o termo Pecaminosa existia, mas foi a primeira vontade em querer fazer um RPG mas num universo bem mais aberto do que num edifício.

Adolfo Soares (EG.PT): Pixel Noir foi a arte escolhida para Pecaminosa. É pouco comum, melhor dizendo, não é uma abordagem para as massas. Porquê esta abordagem?

Lazaro Raposo (CEO Cereal Games): Cresci com a Mega Drive, sou dessa época, o que na altura era uma limitação tecnológica atualmente é uma opção artística. Nós tínhamos acabado fazer Nonagon Quest que era em pixel art fazia sentido que capitalizássemos o nosso investimento e conhecimento em manter o pixel art. O conceito noir surge porque sou apreciador do filme Noir. Houve algo que me atraiu logo desde o início que foi juntar o conceito noir ao pixel, tanto é que surgiu o termo Pixel Noir e durante muito tempo o jogo chamava-se Pixel Noir. Só depois surge o nome Pecaminosa, porque é o nome da cidade onde decorre o jogo e como é um nome forte e pixel noir funciona como uma etiqueta, Pecaminosa a Pixel Noir Game. Essa junção do noir com pixel não é uma mistura muito comum, e como o jogo é uma peça criativa, a arte tem de mostrar qualquer coisa de novo.

Adolfo Soares (EG.PT): Dando continuidade à pergunta anterior, ao escolher este visual para Pecaminosa não limita o público alvo?

Lazaro Raposo (CEO Cereal Games): Os jogadores que apenas jogam títulos mais conhecidos, não temos capacidade para competir contra esses jogos, somos logo excluídos da equação. Se fizermos mais do mesmo que todos vamos entrar num mercado de milhares de jogos bons que ninguém conhece. Fazendo a escolha de ir para um jogo que é de nicho, nós temos essa noção, pois em 2018 fizemos estudo de mercado, business plan, e analisamos os prós e contras, e apesar de ser um jogo de nicho, ainda existem pessoas suficientes que gostam deste tipo de jogo para termos o retorno. A grande dificuldade é chegar a todas essas as pessoas, temos que fazer que o nosso jogo seja conhecido. Mas acima de tudo foi basicamente pela vontade de criar algo e o conceito de pixel noir foi quase instantâneo.

Adolfo Soares (EG.PT): Então foi mais pelo projeto em si do que para agradar a um público muito mais vasto?

Lazaro Raposo (CEO Cereal Games): Essa pergunta é complicada. Do ponto de vista empresarial o jogo tem que vender o mínimo para se ter o retorno do investimento que se fez, nesse sentido claro que quero o jogo atinja quantas mais pessoas melhor. Não se pode querer “sol na eira e água nas couves”, não se pode ter as duas coisas e pelo menos no nosso estatuto de Indie focámo-nos numa coisa que seja possível, que nunca será de massas mas é o suficiente de se pagar a si próprio sem nunca desvirtuar a visão artística do primeiro momento. Se nós fossemos fazer um jogo pelo que as pessoas querem eu fazia uma espécie de Fortnite/PES 2021 e uns carros do Rocket League.

Adolfo Soares (EG.PT): O jogo teve crowdfunding no INDIEGOGO, financiamento coletivo, o qual foi um sucesso. Estavam à espera de tão boa aceitação por parte do público/jogadores?

Lazaro Raposo (CEO Cereal Games): Tenho de dizer que sim porque trabalhámos para esse sucesso. No dia antes de iniciar a campanha já estimávamos que tínhamos 66% da mesma garantida, trabalhámos com muita antecedência. Nas primeiras 12 horas atingimos até os 75% de financiamento, uma semana após estarmos com a campanha houve o confinamento devido à pandemia, e muitas pessoas voltaram atrás na sua contribuição porque não sabiam o que ia acontecer. Mas foi bem-sucedido, precisávamos de 10 mil euros e ultrapassamos os 12 mil. Foi um motivo de orgulho, foi a nossa primeira batalha ganha, pois poderíamos ter trabalhado e não conseguir. Mais do que os 12 mil euros foi atingir uma primeira meta que impusemos a nós próprios e essa meta implica que outras pessoas acreditassem e aceitassem esse projeto. Foi a primeira vez que nos disseram “podem continuar a fazer esse jogo”. Foi o marco mais importante de todos, tendo em conta que o jogo ainda não saiu, que será por definição o momento mais importante. A nossa editora só nos contactou meses depois e teve conhecimento do nosso jogo durante essa campanha.

Adolfo Soares (EG.PT): Voltando novamente ao jogo, John Souza é o personagem principal certo? É o único?

Lazaro Raposo (CEO Cereal Games): É o único personagem. Várias coisas foram colocadas sobre a mesa que acabamos por abdicar. Isso nunca foi colocado em cima da mesa, apesar de ser um RPG, Pecaminosa bebe um pouco dos RPGs clássicos, temos mecânicas que são clássicas como o level up, atribuição de pontos de experiencia por vários atributos, no nosso caso Sistema LIFE (Luck Intelligence Force Endurance), a gestão de inventário, equipamento, armas, podemos fazer várias coisas. Para todos os efeitos é um story-driven game, mas nós quisemos contar a história de uma personagem. O próprio nome John Souza é uma homenagem nossa ao movimento que é a diáspora açoriana. Existem mais açorianos nos Estados Unidos que nos Açores. Fazemos questão que seja esse o personagem e não haja opção de escolha ou de alterar o nome pelo jogador.

Adolfo Soares (EG.PT): Teremos oportunidade de configurar o aspeto físico de Souza? Como por exemplo a sua vestimenta.

Lazaro Raposo (CEO Cereal Games): A nível visual não. Apenas a vestimenta, não quero revelar muitos pormenores mais críticos. Mas posso dizer que um é de polícia, e esse reforça o atributo força, aquela gravata vermelha reforça a Sorte. Ter um conjunto de equipamento completo dá um bónus adicional, esses tais elementos clássicos de um RPG. Agora cabe ao jogador se quer o bónus do conjunto ou quer por exemplo a Força das calças de polícia, a Sorte da gravata. As peças são todas em separado, se quiser pode andar de roupa interior na rua. Existem quatro atributos LIFE, gosto desse termo porque o jogador controla a LIFE e logo controla a vida. O jogador sempre que evolui, sobe de nível, recebe dois pontos de experiência para distribuir num desses quatro atributos. Consoante a matriz que desenvolve pode desbloquear quatro perks, dois ativos e dois passivos, é impossível desbloquear todos. Existem aqui várias combinações possíveis, várias formas literalmente de jogar com várias builds, e sem falar dos caminhos narrativos não lineares. Há duas boss battles que são paralelas, ao acontecer uma mata o outro ramo, é uma das decisões que custou a tomar, fizemos dois caminhos narrativos em que cada uma termina com a sua boss battle.

Adolfo Soares (EG.PT): Tive a oportunidade de jogar a demo, o que me fez recuar à minha juventude como jogador. Reparei logo no início que havia sempre indicador para onde prosseguir, será dessa forma na versão final ou teremos de descobrir por nossa conta?

Lazaro Raposo (CEO Cereal Games): Isso teve de se tudo muito bem doseado, há fases do nosso jogo em que aponta o quarteirão da cidade para onde o jogador tem de se dirigir, mas depois já não há mais nenhuma indicação .Existem momentos em que o jogador tem de fazer o seu trabalho. Para mim – não faço os jogos para mim – não havia setas nem nada, esta aqui o mapa e os personagens e explora o mapa. O paradigma atual não é esse, tentei arranjar o meio termo.

Adolfo Soares (EG.PT): Os diálogos são parte fundamental em Pecaminosa, a versão final do jogo terá voice acting? Se não, porquê essa escolha?

Lazaro Raposo (CEO Cereal Games): Porque somos ainda um estúdio indie com poucos recursos para gravar. No nosso caso o jogo sairia valorizado com o voice acting mas nunca seria total. Não é só a questão de recursos, é mais uma empreitada dentro da empreitada, as gravações dos personagens, a quantidade de textos e personagens que temos e toda essa gravação seria mais um trabalho herculano. O que nós queríamos fazer seriam falas de circunstância, em alguns momentos, o personagem a dizer que tinha o inventário cheio, não possui determinado atributo, inclusive as falas foram escritas, mas a verdade é que não atingimos o stretch goal necessário no crowdfunding, haveria sempre a gravação das falas e sua implementação e a partir de determinado momento temos de tomar aquela decisão de que o nosso jogo está pronto, se não cairíamos naquela espiral onde caem uma percentagem dos produtores indies que ficam o resto da vida a fazer o jogo.

Adolfo Soares (EG.PT): Se John Souza tivesse algumas falas, seria com pronuncia açoriana?

Lazaro Raposo (CEO Cereal Games): Não, por acaso até não. O backstory de John é que ele é lusodescendente, mas vive na américa e já é de terceira geração, o avô é que emigrou. Consta no backstory que ele nunca visitou os Açores.

Adolfo Soares (EG.PT): Os elementos RPG serão muito complexos ou a abordagem é mais “ligeira”? E quais as formas de se ganhar XP?

Lazaro Raposo (CEO Cereal Games): Basicamente tudo o que se faz no jogo, umas dão mais pontos de experiência do que outras. Ganhas experiência por entrar em áreas novas, por jogar nos casinos, por combater, passar capítulos da história, por várias ações. Efetivamente é um Action RPG mas nunca poderia ser muito complexo porque, como disse antes, não deixa de ser um story rich game, e se nós entrássemos num sistema RPG muito complexo/hardcore aí é que o nicho de pessoas restrito ia ficar ainda mais restrito. É uma abordagem mais ligeira nesse sentido. É engraçado porque isso aconteceu mesmo, quando apresentava o jogo as pessoas que viam Pecaminosa pela primeira vez diziam que era um RPG e que pensavam que era um jogo point and click, uma aventura gráfica. As mecânicas que nós usamos aqui, além da junção pixel art e o noir ser uma coisa nova, o facto de estarmos a contar uma história policial com mecânicas RPG também não é muito comum, se fossemos ao fundo das mecânicas rpg, sou um grande fã de RPGs, mas foi preciso também pôr aqui um pouco o pé no travão, e se fossemos muito hardcore iria perder muito a essência do jogo.

Adolfo Soares (EG.PT): Quantas boss fights temos? Serão muito diferentes da que mostraram na demo?

Lazaro Raposo (CEO Cereal Games): São sete boss fights e mais três pequenos eventos que não são consideradas como boss fights. O jogo já está concluído, está numa fase de port para consolas. Todas (boss fights) tem uma personalidade muito própria, aquela (a da demo) poderá ser a segunda, é um exemplo de um dos caminhos narrativos do jogo. Se for por outro ramo nunca chego a entrar naquele edifício. Aí temos muito do esquema old school de boss fights com várias fases do boss.

Adolfo Soares (EG.PT): A longevidade é sempre um dos pontos importantes, não sendo sempre sinónimo de qualidade. O que podemos esperar de Pecaminosa nesse campo?

Lazaro Raposo (CEO Cereal Games): A média que esperamos para o nosso jogo são de 10 horas. Fazendo o cálculo do tempo do produtor, o tempo que levamos até chegar ao fim multiplicando por 3 – nós que fizemos o jogo e sabemos todos os truques – correndo o jogo de uma ponta à outra sem ser em speedrun levamos à volta de 3 horas. Existem muitos cenários, casinos onde se pode ficar horas a jogar blackjack, nós estimamos que haja 10 horas de jogo.

Adolfo Soares (EG.PT): Haverá um modo mais difícil depois de se terminar o jogo, tipo New Game +?

Lazaro Raposo (CEO Cereal Games): Não, não preparamos dessa forma. O que posso dizer, é que estamos a preparar algo que neste momento não posso dizer. Mas haverá mais Pecaminosa.

Adolfo Soares (EG.PT): Está pensada uma versão mobile de Pecaminosa?

Lazaro Raposo (CEO Cereal Games): Não, não tem muito interesse. Já fizemos no passado para mobile no passado e até temos mais experiência, mas o mobile é ingrato apesar de ter muita gente. Prefiro de estar num ecossistema onde o jogador goste mesmo de jogos e compre os jogos. No mobile a maioria das pessoas joga o que consegue gratuitamente e depois ainda dá reviews negativas porque tem muita publicidade. Não ganharia muito no mobile.

Adolfo Soares (EG.PT): Existem microtransações?

Lazaro Raposo (CEO Cereal Games): Não é uma microtransação, mas temos um subproduto que a banda sonora original. Vamos efetivamente vender no Steam. A banda sonora é toda Jazz Noir composta e gravada por músicos de S. Miguel. O resultado da banda sonora composta pelo Cristóvão Ferreira ficou interessante, ficou uma coisa engraçada, temos recolhido muito bom feedback em relação à banda sonora do nosso jogo. Uma das coisas que nós fizemos foi à medida que o jogador vai avançando no jogo e ouve as músicas pela primeira vez, consegue depois ouvir no menu de entrada através da grafonola. As pessoas podem perguntar se tenho a opção grafonola porque irei comprar a banda sonora do jogo? No jogo podes ouvir as músicas que vais desbloqueando à medida que as ouve no jogo. A banda sonora são efetivamente as mesmas músicas, mas gravadas em live act a tocar num estúdio em tempo real. Mas voltando à pergunta, não tem microtransações.

Adolfo Soares (EG.PT): Para terminar, quais os vossos cereais (Cereals) favoritos? 😊

Lazaro Raposo (CEO Cereal Games): Quando criamos a Cereal Games já tínhamos um jogo em desenvolvimento, que era um jogo sobre sensibilização ambiental. À falta de nomes para a empresa fizemos o mesmo exercício que a Valve fez com aquelas válvulas vermelhas, e nós fomos ver o que tínhamos e ver se o jogo vai-nos dar o nome, e um dos personagens do jogo A Liga do Ambiente era o caixote de cereais, foi quase instantâneo, foneticamente é parecido com o nome que pretendemos, e o logotipo vai ser uma caixa de cereais com um Game Boy, surgiu tudo de sequência, está relacionado com cereais mas não com os cereais preferidos. Mas fiz a sondagem à minha equipa, tive respostas desde crunch, cheerios, golden grahams, chocapic, aqueles quadrados recheados de chocolate e avelã, choco, fruit nuts, aqui não há consenso. Há mais consenso em que primeiro são os cerais e só depois o leite.

+infos(oficial): LINK

Tags : , , ,

Humble book bundle: game dev, design & graphics by mercury (uma campanha)


Não que seja uma campanha exclusiva para o desenvolvimento de videojogos mas tem lá algumas coisas, e dessa lista consta (os que achei mais interessantes):
Game Development Using Processing
Classic Game Design With Unity
Game Testing
Game Development Using Python
Make Amazing Games Using Fusion 2.5

+infos(campanha): LINK

Tags : , , , , , , ,

Proposta de trabalho (para Lisboa)

Tarefas:
“Working with Live Ops Designers, Artists and Marketing teams to eliminate issues of Live game events and to validate that these events have reached the targeted quality level;
Compile trackers and reports for regression, checklists and coverage;
Proactively pick up testing requests from Live Ops, and Marketing teams;
Find and enter high-quality issues based on department standards and perform edge case scenario tests to ensure fixes have no knock-on effects;
Verify In-game events and Monetisation implementation for issue fixing, changes or tuning before Live engagement;
Responsibility for a some specific areas of the game which includes:
Point of contact for testing areas of Live Ops based projects for other teams
Initiate conversations with Live Ops Designers, Artists and Marketing teams involved in in the specific areas of the game;
Interface with other in-house QA, the Outsourced QA Team & development, art and management team members involved in the specific area of the game on a daily basis;
Organise and review testing by other in-house and/or outsourced testers;
Support for the Content Team on testing Live Operations events and dynamic changes in a live game environment.”

Requisitos:
“At least one year experience in a QA position on either Mobile or Console;
Interest and knowledge of mobile platforms (Amazon, Google Play, Apple);
Strong ability to work under pressure and to meet given deadlines;
Good communication skills and able to work as part of a team;
Keen eye for detail;
Previous experience with black-box testing;
Experience in Live Service based gameplay, Desirably on mobile devices;
Previous experience working in the games industry;
Understanding the usage monetisation on either Mobile or Console;
Previous Quality Assurance experience with Freemium mobile games;
Passionate and experienced social mobile games player;
Has the testing knowledge to provide constructive feedback to address challenges that come up within the project;”

(é uma excelente oportunidade para quem quer entrar nesta industria.. )

+infos(oficial): LINK

Tags : ,

Proposta de trabalho (para Lisboa)

“A Fun Punch Games está à procura de membros para reforçar a equipa nas vertentes de:
Gameplay Programmer
Experiência com implementação de mecânicas de gameplay, noções de “game feel” e sentido crítico.
Artista Generalista
Com foco em 3D, noções de UI e familiarizado com implementação no Unity.
Procuram pessoas que tenham experiência em Unity, gostem e valorizem o trabalho em equipa e entendam a importância de cada uma das áreas de gamedev. Valorizamos experiência com Shader Graph.
São uma equipa focada em explorar jogos com mecânicas divertidas e inovadoras e incentivamos a partilha e exploração em conjunto. Podem conhecer o nosso trabalho aqui https://www.funpunchgames.com/
Estamos localizados em Lisboa mas neste momento as posições são para trabalho remoto.
Para mais detalhes, dúvidas ou candidaturas enviem um email com o vosso Portfolio + CV para jobs@funpunchgames.com com o título “Gameplay Programmer” ou “Art Generalist”, dependendo da posição a que se querem candidatar. “
+infos(oficial): https://www.funpunchgames.com/
Tags : ,

Proposta de trabalho (para Londres)

O estúdio/empresa First Light Games está à procura de “um senior developer com bastante experiencia(tinha preferência com Lead/Director experience)” para ir para Londres.

Requisitos:
“5+ years professional experience as a software engineer working in a game development team (+7 for technical Director).
Knowledge of scalable software architectures and distributed services
Experience in OOP with Unity3D in C#
Experience shipping a game on mobile
A passion for making games!”

+infos(oficial): https://firstlight.games/job-page-01

+infos(rede social): LINK

Tags : ,

Game Production Studies (um livro)

Mais um daqueles livros que é para ler, sendo que neste caso os trabalhos de investigação que constam no livro são as seguintes:
Introduction: Why Game Production Matters?
Hobbyist Game Making Between Self-Exploitation and SelfEmancipation
Self-Making and Game Making in the Future of Work
Should I Stay or Should I Go? The Circulations and Biographies of French Game Workers in a ‘Global Games’ Era
Intermediating the Everyday : Indie Game Development and the Labour of Co-Working Spaces
Game Developers Playing Games : Instrumental Play, Game Talk, and Preserving the Joy of Play
Game Development Live on Twitch : Observations of Practice and Educational Synergies
Unity Production: Capturing the Everyday Game Maker Market
More Than One Flop from Bankruptcy : Rethinking Sustainable Independent Game Development
How to Study Game Publishers: Activision Blizzard’s Corporate History
Who Creates Microtransactions : The Production Context of Video Game Monetization
Regulating In-Game Monetization : Implications of Regulation on Games Production
Promises of the Periphery : Producing Games in the Communist and Transformation-Era Czechoslovakia
Construction and Negotiation of Entrepreneurial Subjectivities in the Polish Video Game Industry
The Development of Greater China’s Games Industry : From Copying to Imitation to Innovation
Before and After: Towards Inclusive Production Studies, Theories, and Methods

Este livro foi editado por Olli Sotamaa, Jan Svelch.

Existem outros deste grupo de trabalho que parecem ser também interessantes e que são:
Persuasive Gaming in Context (free)
Minor Platforms in Videogame History
Digital Gaming and the Advertising Landscape
Transnational Play Piracy, Urban Art, and Mobile Games

+infos(oficial): https://www.aup.nl/en/series/games-and-play

Tags : , , ,

Civilization VI – New Frontier Pass

Não que tenha tido muito tempo para jogar videojogos nos últimos tempos, e devia, mas vou estando atento ao que vai saindo para o mercado, mais concretamente os jogos que eu sei que vou gostar, os tais RTS. Um desses casos é o Civilization, que pela primeira vez vai dar um grande destaque a Portugal :) na sua versão mais recente o Civilization VI – New Frontier Pass.

e ainda

Vou querer jogar.. vou mesmo!

+infos(oficial): https://www.civilization.com/

Proposta de trabalho (em Lisboa)

O centro de investigação Hei-Lab da Universidade Lusófona tem disponíveis três vagas para alunos licenciados na área de videojogos ou similares (candidaturas até 26 de Março).

2 Vagas – Bolsa para licenciado em áreas de jogos ou afins, para desenvolvimento de aplicações de serious games em VR
+infos: http://www.eracareers.pt/opportunities/index.aspx?task=global&jobId=132239

1 Vaga – Bolsa para licenciado em áreas de jogos ou afins, para desenvolvimento de aplicações de serious games, incluindo-se ambientes imersivos.
+infos: http://www.eracareers.pt/opportunities/index.aspx?task=global&jobId=131929

+infos(Hei-Lab): https://hei-lab.ulusofona.pt/

Tags : ,

“Strategy Game Development Academy” o curso de RTS

A empresa Zenva enviou-me um email a indicar que está com uma promoção num curso que eu gostava de passar os olhos. Aliás não é um curso é um conjunto de vários cursos que depois estão associados a um perfil. Com o nome de “Strategy Game Development Academy” e do curriculum faz parte:
Level 1: Game Development Basics
Coding in Unity with C#
Building your first game
Simple game mechanics
Level 2: Strategy Game Basics
Strategy design principles
Basic resource management
Building your first strategy game
2D procedural maps
Level 3: Real-Time Strategy Games
Selecting, moving, & coordinating units
Resource-gathering
Unit combat with state machines
Enemy AI
Level 4: Popular Features
City-builder mechanics
Multiplayer games with Photon
Turn-based games
Technology trees

Mas depois com uma análise mais detalhada surge a seguinte lista do curriculum (e que eu acho que é o percurso mais natural):
Course 1: Intro to Game Development with Unity
Course 2: Create Your First 3D Game in Unity
Course 3: Build a Micro-Strategy Game
Course 4: 2D Procedural Maps for Beginners
Course 5: Develop a City-Building Game with Unity
Course 6: Real-time Strategy Project – Unit Movement
Course 7: Real-time Strategy Project – Resource Gathering
Course 8: Real-time Strategy Project – Unit Combat
Course 9: Real-time Strategy Project – Enemy AI
Course 10: Develop a Technology Tree for Strategy Games
Course 11: Discover AI and State Machines in Unity
Course 12: Intro to Multiplayer Game Development
Course 13: Turn-Based Game – Multiplayer Projects

O motor de jogo é o Unity e existem duas modalidades de aceder (pagando): 168 dólares por ano, ou 20 dólares por mês!

+infos(oficial): LINK

Tags : , ,

Humble Software Bundle: Fresh Start Game Dev Assets Bundle (uma campanha)

Mais uma campanha da malta da Humble.. e desta vez com assets para o desenvolvimento de videojogos. Da lista de prendas desta campanha consta:
Graphics
Cyber City Autoshop Interior Tileset
Isometric Dungeon Designer Expansion
Gothic Castle Asset Pack
Cursed Kingdoms Battlebacks
Medieval High Seas
Medieval Townsfolk
Tiny Tales Worldmap Tileset Pack
RPG Battlers – 9th 50 – 50 more Shades
Horror City – Hospital Tiles
Horror City – Retail Tiles Add-on
Visustella Modern City Vol 1
Visustella Modern City Vol 1
Isometric Dungeon Designer
RPG Battlers – 7th 50 Time Fantasy Tribute
Tyler Warren RPG Battlers – Lost Levels
Isometric Dungeon Designer Outdoor Edition
Visustella Modern City Vol 2
Cursed Kingdoms Monster Pack
Crystal Cavern Asset Pack
Overworld Battlebacks
Tiny Tales Dungeon Tileset Pack
RPG Battlers – 8th 50 More Time Fantasy Tribute
Visustella School Horror Vol 1
Cursed Kingdom Dungeon Tileset
Downtown Dungeon
Isometric Dungeon Designer, Cyberpunk Edition
Rogue Encampment Game Assets
2.5D Character Pieces – World War II
Medieval Warfare Knights Templar Bundle
Tiny Tales Overworld Tileset Pack
Medieval: Bosses
2.5D Scorching Sands
RPG Battlers – Pixel Style 1
Slasher Forest Tile Pack
2.5D Snow and Ice
2.5D World War II Tiles

Animated FX
Animations Select – Dark
Animations Select – Earth
Animations Select – Water
Animation Pack: Indirect
Medieval Heroes I
Animations Collection 2 – Quantum
Animations Select – Thunder
Animations Collection III: Thaumaturgy

Comic Book
Galefire – The Legendary Captain Slayde

Animated FX, Exclusive to Humble Bundle
Animation Pack: Support
Animation Pack: Weapon
Animation Pack: Elemental

Graphics, Exclusive to Humble Bundle
Rural Japan Asset Pack

Music, Exclusive to Humble Bundle
Nightmares Vol. 2
Madness Vol. 2
Inspirational Music Vol. 5

Music
8-Bit Music & SFX
Retro Fantasy Music Pack Vol. 01
Cyber City Music Pack
Storyteller’s Music Pack

Audio
Sci-Fi SFX

+infos(campanha): https://www.humblebundle.com/software/fresh-start-game-dev-assets-software

Tags : , , , ,

Os melhores jogos de RTS (para a PC Gamer)

Os editores da revista PC Gamer, decidiram apresentar de forma algo complexa uma série de nomes de jogos de RTS que eles classificam como sendo os melhores de sempre.. bem, de sempre é algo limitado já que pelo que percebi eles olham muito para os tempos modernos esquecendo algumas das relíquias que saíram e que tiveram o seu tempo e espaço, bem como glória (por exemplo onde é que está o Settlers?)

Da tal lista constam os seguintes jogos:
Crusader Kings 3
Total War: Three Kingdoms
Total War: Warhammer 2
Europa Universalis 4
Civilization 6
Sins of a Solar Empire
Stellaris
Endless Legend
Alpha Centauri
Age of Wonders: Planetfall
Iron Harvest
Battlefleet Gothic: Armada 2
Northgard
Homeworld
Command & Conquer: Red Alert 2
Homeworld: Deserts of Kharak
Supreme Commander
StarCraft 2
Warcraft 3
Company of Heroes
Rise of Nations
Warhammer 40,000: Dawn of War 2
Battletech
Into the Breach
XCOM 2
Invisible Inc.
DEFCON
Unity of Command 2
Hearts of Iron 4
Steel Division: Normandy 44
Total War: Warhammer 3
Homeworld 3
Humankind
Third Age: Total War
XCOM: Long War
Crusader Kings 2: A Game of Thrones

Não concordo com ela.. faltam aqui coisas e não sei quais é que foram os critérios para a elaboração da mesma, mas acho que um deles foi o de serem jogos que ainda se jogam!

+infos(oficial): LINK

Tags : ,

LDtk , 2D level editor

Encontrei uma ferramenta gratuita que permite editar níveis no formato de 2D. Parece ser bastante simples e intuitiva, e tem como formato de saída diversas linguagens.

De acordo com o autor: “My goal is to provide a level editor that has all the important core features and to do them right, with a modern user interface/experience.”

+infos(oficial): https://ldtk.io/

Novos talentos Fnac videojogos 2020

Da lista inicial de candidatos:
Chama, ST Studios,
Lyto, Trochi Studio,
Samshcart ultra, Game Dev Técnico
Vacuuman, Rogério Silva
Dynasty Rush, Pedro Teixeira
Dumo, RAWEGG
Estudasses, oh filho, Daniel Pinto
Tetrascape, Mieicrawler & FEUP Archives
Endeless Sunset, Y2m Studio
Little Girl, Arboresis Studio
Maia: unhappily ever after, Perpétuos Games
Overtime, Laindback Strart
Steamchain, Wild lynx Studios
Circuit Slimes, SomethingFell
RPS. José Fonseca
Manage my Kingdom. ETIC
The Infamous, João Moreira
Subject 5, Tiago Fino e João Martins
Pulcar Vermis: Re, Vitaly Davydovych
Blade Rift, Gonçalo Lopes
The ship, Francisco Silva e Inácio Maio
The thing, S-Designs
i11, Paulo Arinto

Da lista resultaram seis finalistas:
Escape, de Pedro Viegas, +infos: LINK
Careto, MA Studios, +infos: LINK
Nur, BebBed Games, +infos: LINK
Evil Below, Barbosa and Ortega, +infos: LINK
Tattoo Burner, Ricardo Nunes, +infos: LINK
NJINGA: the democratic warrior, Team NJINGA, +infos: LINK

+infos(video): LINK

Tags :

Opiniões

A opinião de cada um vale o que vale, mas é sempre interessante ouvir e ler algumas daquelas que vale a pena. Já tinha em tempos passado os olhos pelo portal goodreads.com onde podemos encontrar opiniões de pessoas que leram livros .

E foi neste portal que encontrei o livro “Sid Meier’s Memoir!: A Life in Computer Games” e que foi escrito pelo próprio Sid Meier!!! Este senhor é um dos game designers que eu mais admiro, foi pelas mãos dele que eu tive conhecimento do jogo de RTS Colonization (um dos melhores que joguei) e posteriormente o jogo e sequela Civilization. Nesta altura ainda não sei muito bem do que se trata o livro mas já está na lista de aquisições para muito breve!!

Também encontrei neste portal uma lista mais ou menos extensa (50 visiveis), e quase que organizada, acerca de “Books on Video Game History”. É sempre um tema que me interessa, principalmente se forem jogos indie e se foram jogos pelos quais eu passei várias horas. E neste caso também encontrei uma lista acerc do tema

+infos(Sid Meier): https://www.goodreads.com/book/show/50489373-sid-meier-s-memoir

+infos(a lista dos históricos): LINK

+infos(a lista do game designer): LINK

Tags : , , ,

Proposta de trabalho (em Lisboa)

A malta do OnTop anda à procura de AR game designer… interessante!

+infos(página oficial): https://www.ontopstudios.com/

Tags : ,

Livros a ler/comprar.. prenda?

Encontrei mais uma referência de um livro que gostava de ler.. “How to create your first board game, 5º edição” por Aaron Frias .. está em campanha no kickstart.

conteudos : 
Introduction
My First Board Game
Building on Your Game Idea
Common Board Game Trends
Popular Game Mechanisms
Game Journaling
Importance of Playing Modern Games
Translating Your Game Into a Spreadsheet
Your First, Hand-drawn Prototype
Solo Playtesting
Rough Prototypes
Graphic Design Tools
Design Basics
Rapid Prototyping Using the Component.Studio online tool
Printing your Prototypes
How to 3D print components for your game
Using Tabletopia and Tabletop Simulator to Upload, Pitch and Test Your Game
Group Playtesting
Pitching to Publishers
Blind Playtesting
Self-Publishing Basics
Kickstarter Basics
Kickstarter Video Basics
Rules Guide Recommendations
Shipping Basics
Mass Manufacturing Options
Lessons Learned

e  o livro.. “The Board Game Designer’s Guide: The Easy 4 Step Process to Create Amazing Games That People Can’t Stop Playing” por Joe Slack

+infos(a campanha) LINK

Tags : , ,

Fun fun..

humor…
+infos(fonte): https://www.gamepressure.com/

Tags :

Game Jam Online pela MAD

Mais uma edição da MAD Game Jam… desta vez online!

+infos(oficial): https://eventos.esmad.ipp.pt/mad-gamejam/

Tags : ,

Jogos desenvolvidos por portugueses..

Lista que encontrei acerca de videojogos desenvolvidos por portugueses com com a colaboração de portugueses :)

 

Tags : ,

Proposta de trabalho (em Lisboa)

“Programadores de Unity por esse Portugal e não só estamos a contratar para o estúdio de Lisboa.”

Description
We’re looking for an awesome Unity developer to join our Client team in Lisbon and help push Avakin to the next level.

Responsibilities:
Writing clear, efficient and robust code using C# and Unity;
Collaborate with other departments to design, develop and maintain features;
for a live title with an active player base;
Ensure reliability and performance of the title through bug fixing and optimising;
Work with Leads and Producers to plan and schedule tasks;
Helping the team highlight and solve potential issues when delivering a release;
Writing and maintaining technical documentation where appropriate.

Requirements
Minimum of 2 years experience in the video game industry or equivalent;
At least one shipped title, preferably on a mobile platform (multiplayer is a plus);
A clear understanding of C# as well as the Unity game engine and its nuances;
Experience with RESTful API services;
Good understanding of distributed systems and multiplayer games’ tech stack;
Working knowledge of version control systems (e.g. Git, Perforce);
Excellent English verbal and written communication skills;

Desirable: 
Good understanding of scripting languages (Lua, TypeScript, Shell), Understanding of how implemented features are perceived and used by players, Experience working in networked game development, Experience developing on mobile platforms.

Benefits
Profit share bonus scheme, Share Scheme
Life Insurance, Healthcare Cash Plan, Income Protection
Flexible working hours
Public transportation support
Food allowance
Flexible 23 days holiday (plus bank holidays)

Lockwood Publishing is one of the leading independent UK mobile games companies. Our most successful product to date is a 3D virtual world on mobile called Avakin Life.

+infos(): https://apply.workable.com/lockwood/j/37D25DFCD5/

Tags : ,

off-topic.. GameMaker Studio 2

“Web-browser maker Opera acquired YoYo Games for $10 million. The firm’s GameMaker Studio 2 game engine has been downloaded 10 million times since 2012, which doesn’t exactly make it the biggest fish in the pond but I am curious to see whether Opera can offer something novel and accessible. ”

será que o GameMaker Studio 2 vai ser um software grátis?

Tags : ,

Humble Software Bundle: Maps Extravaganza Encore (uma campanha)

Até parece que sou comercial, mas esta é outra campanha da Humble mas o caso não é tanto para GameDev mas para videojogos digitais. Tratam-se de um asset e cursos que permitem desenvolver jogos digitais. São vários os cursos online para usar o Unity e outros temas paralelos. Da lista de prendas desta campanha consta:
Finish It! Motivation & Processes For Game Devs
Math For Video Games
Complete Unity Developer 2D
How To Get A Job In The Video Game Industry
Git Smart: Learn Git in Unity, SourceTree & GitHub
POLYGON City Pack by Synty Studios
Complete Unity Developer 3D
Unity Multiplayer Coding & Networking
RPG Core Combat Creator
Unity Dialogue & Quests Creator
RPG Inventory Systems Creator

custo mínimo total: 20.72 euros

+infos(a campanha): LINK

Tags : , , ,

Novos talentos Fnac

“Está aberta mais uma edição dos NTF este ano com mais uma categoria – Videojogos! Tens três meses para nos enviares o teu projeto!
Quando te fazem esquecer o mundo lá fora, mostra-nos a paixão dentro de ti. Liberta o que te faz viajar no lugar, sentir borboletas no estomago e te põe os olhos a brilhar. O planeta está num turbilhão, sim, mas não se conhecem limites para a criatividade. Deixa a emoção falar e o teu talento explodir.”

O júri:

“Partilha connosco(1) a Build do jogo jogável para PC/MAC, o trailer do jogo e ainda 3 minutos de vídeo de gameplay do jogo e deixa o teu talento explodir.
Serão distinguidos 1 vencedor e 2 menções honrosas que serão conhecidas na entrega de prémios em Junho. A decisão dos 3 premiados fica a cargo de um júri especializado composto por Ricardo Flores (Diretor da Lockwood Publishing Lisboa), Isaque Sanches (Coletivo A Ludoteca), André Santos (Jornalista FutureBehind) e Alexandre Barbosa (Jornalista e Diretor Assistente);

Os três projetos vencedores verão os seus jogos integrados nas plataformas de comunicação da FNAC, com possibilidade de download do videojogo. O vencedor recebe ainda um cheque de 1.500€ da REPSOL, a criação do seu jogo exposto nos fóruns FNAC, uma licença de 1 ano Unity (Lockwood) e um monitor OMEN X25 (HP).”

+infos(oficial): https://www.fnac.pt/novostalentos

+infos(regulamento): LINK

Tags : ,