Month: November 2018

C&C Remastered

Nem sei o que dizer, mas um dos primeiros jogos que joguei e mais gostei na era dos RTS foram as várias sequelas de Command and Conquer (C&C).

Só parei de jogar porque entretanto não tive mais tempo para tal e porque a surgiram na altura outros jogos com outras histórias como foi o caso do Warcraft e depois o Starcraft. Mas para já as boas noticias. Parece que alguns dos elementos originais da série vão voltar a pegar e fazer um lift do jogo para que seja mais agradável de se ver e jogar nos tempos modernos.

Vamos então ver se vai tudo chegar a bom porto :) espero que sim!!!!

+infos(fonte): LINK

Os prémios (2018) do concurso IndieX

BEST OF THE SHOW
Sword Legacy: Omen

BEST PORTUGUESE GAME
Those Who Remain (trailer)

MOST INNOVATIVE GAME
Pixel Ripped 1989

BEST MULTIPLAYER EXPERIENCE
Pic-A-Boo

BEST ART DIRECTION
She and the Light Bearer

PEOPLE’S CHOICE
The Irrational World of Damien (Shine)

Tags : , ,

Mais um achado em português

Encontrei um blog que tem como tradição postar noticias acerca de videojogos do ZX Spectrum, em português! :)

Destaco também o arquivo que eles partilham acerca das noticias de jornais sobre videojogos e estas tecnologias .. e sem deixar de lado o jornal A Capital :) todas as sextas ;)

+infos(blog): https://planetasinclair.blogspot.com/

Tags : ,

História dos videojogos :) (mais um livro)

Encontrei mais uma referência a um livro acerca de videojogos para “consolas” de 8 bits, onde se inclui o meu favorito, ZX Spectrum. Ainda não é desta que vou comprar já que o preço ronda perto dos 50 euros :(

+infos(oficial): LINK

 

Tags : , ,

Um pouco de história..

Um post interessante acerca da história no desenvolvimento gráfico dos videojogos que foram desenvolvidos no Japão por VGDensetsu.

+infos(post): LINK

Tags : , ,

RPG Maker, (HUMBLE RPG GAME DEV BUNDLE)

A malta da Humble tem até dia 26 de novembro um pack de vários objectos (imagens e sons) para serem usados no desenvolvimento de jogos do tipo RPG. Da lista consta:

7Soul’s RPG Graphics – Sprites
Weapon and Armor Icon Pack
GUI Icons
2D Hand Painted – Grassland Tileset
2D Hand Painted – Town Tileset
2D Hand Painted – Interior Tileset
Animals RPG Sprites
Orcs and Beast SFX Pack
7Soul’s RPG Graphics – UI Pack
2D Top-Down Tile Set
RPG Overworld Tileset
Tiny, Tiny Heroes – Armies
RPG Inventory Icons Pack Vol 1
RPG Items – Retro Pack
Monsters Time Fantasy RPG Sprite Pack
RPG Dungeon Tileset Plus 2 Bonus Characters
Skill Icon Pack
2D Hand Painted – Dungeon Tileset
Medieval Fantasy SFX Pack
Inventory SFX Bundle
2D Game Art Bundle
Cartoon RPG Characters 1
2D Heroes Characters Bundle
7Soul’s RPG Graphics – Icon Pack
Pixel Characters Collection Vol 1
Over 80 characters with animations!
2D Isometric Tile Pack
Pixel Hero Base
Fantasy RPG Tileset Pack
Pixel Effects Collection Vol 1
Pro Sound Collection
Battle RPG Music Pack
Game Music Stingers and UI SFX Pack Pack 2
Magic Spells SFX Bundle

+infos(oficial): LINK 

Tags :

Design e Criação de Jogos em Portugal (por Paulo Gomes)

Amanhã dia 21 de novembro, vai decorrer nas instalações do Instituo Politécnico de Bragança  uma palestra acerca do Design e Criação de Jogos em Portugal

Tags : , ,

Visutal Studio.. para qualquer versão.

Tive a necessidade de instalar o Visual Studio e dei por mim a necessitar de uma ligação à internet suficientemente rápida para não desanimar.

Assim procurei uma alternativa e encontrei uma possivel solução, para uma instalação offline (sem a necessidade de uma ligação à internet)

Para isso precisei de fazer o seguinte:
(1) fazer o download do “push” (web installer) dos ficheiros relativo à versão que preciso:

Visual Studio Community 2017 LINK
Visual Studio Enterprise 2017 LINK
Visual Studio Professional 2017 LINK
Visual Studio Test Professional 2017 LINK
Visual Studio Community 2017 for macOS LINK
Visual Studio Professional 2017 for macOS LINK
Visual Studio Enterprise 2017 for macOS LINK

(2) criar uma pasta com o nome (por exemplo) tempVB

(3) colar lá o ficheiro do web installer, abrir uma janela de CMD para escrever o seguinte comando nessa pasta:
vs_enterprise.exe –layout C:\tempVS –lang en-US

o que vai ser feito é o descarregar os ficheiros para depois se fazer uma instalação local e sem a necessidade da internet.

Tags : , ,

02_Introdução (pweb)

A arquitectura típica:

Tecnologias e frameworks:

O ASP.NET:
é uma framework da microsoft para o desenvolvimento de aplicações web e web services;
possibilidade de utilizar várias linguagens: C#, VB.NET, C++;
code-behind: separação do código HTML;
arquitectura de controlos do lado do servidor;
uso do padrão Model-View-Controller (MVC);
a usar o ASP.NET MVC 5.. embora já exista a evolução com o Core 2.0;

Com o ASP.NET surgem vários modelos para a criação de aplicações web:
web forms (é uma transição do desenvolvimento de aplicações de desktop windows para aplicações web),
ASP.NET MVC (em que o MVC é um padrão de arquitectura de desenvolvimento que separa a aplicação em três componentes: Model (manipula regras de negócio, lógica de entradas), Controller (interação com o utilizador e lógica de entrada) e a View (apresentação). Nesta metodologia o Controller é uma classe separada, o que permite a automatização de testes, e os Controllers não estão limitados a uma view especifica. Esta arquitectura apresenta também como vantagens o desempenho e a escalabilidade.


ASP.NET Web pages, semelhante ao PHP, faz uso de modelos de single pages, e do razor view engine (criação dinâmica de páginas)

ASP.NET Web API, framework que permite desenvolver serviços HTTP

ASP.NET SignalIR, permite desenvolver aplicações em tempo real (exemplo: jogos)

 

Tags : ,

01_projeto: a começar (pweb)

O objectivo é começar um projeto de um web site usando a metodologia MVC e fazendo uso do ASP.Net com a Entity Framework, através do méotodo Code First.

Para começar é necessário instalar no Visual Studio 2017:
1) nuget packages
2) entity framework

Depois de instalados é começar o projeto sabendo por onde começar (isto é, conhecer que tipo de dados queremos e como os queremos usar no web site)

Para começar o projecto temos que:

De seguida é necessário ter em conta os dados que achamos nesta altura fundamentais para o que queremos construir.

e transformar isso no nosso modelo de dados

em que surge:

 

Tags : , , ,

POO, conceitos (Cap-05, Memoria dinâmica)

#arrays de objetos
os arrays de objetos

#include "pch.h"
#include <iostream>
#include <string>

using namespace std;

class Ponto {
	int x, y;
public:
	Ponto(int x0 = 0, int y0 = 0);
	~Ponto();
};

int main()
{
	//ou indicamos o construtor que queremos usar
	Ponto a[] = { Ponto(1,3), Ponto(2,4), Ponto(5,7) }; 
	Ponto b[] = { {1,3}, {2,4},{5,7} };

	//ou usamos o construtor por omissão
	Ponto c[3];
	Ponto d[3] = { Ponto(1,3) };

	system("pause");
}
//main
#include "Relogio.h"

int main()
{
	{
	Relogio a[10]; //criar um array de 10 objetos
	}
	system("pause");
}
//Relogio.cpp
#include "Relogio.h"

Relogio::Relogio(int hora, int minuto, int segundo)
{
	cout << "Relogio criado" << endl;
}
Relogio::~Relogio()
{
	cout << "Relogio destruido" << endl;
}
//Relogio.h
#pragma once
#include "pch.h"
#include <iostream>
#include <string>

using namespace std;

class Relogio
{
public:
	Relogio(int hora = 0, int minuto = 0, int segundo = 0);
	~Relogio();
};

#variaveis em memoria dinâmica
o uso do operador new permite criar um objecto até ser explicitamente destruido com o operador delete
pVar = new tipo; //ponteiro para um endereço
delete pVar;

ou podemos usar da seguinte forma
int *v1 = new int(4); //valor inicial a 4
delete v1;

#objectos em memoria dinâmica
ou aplicar a uma classe

#include "pch.h"
#include <iostream>
#include <string>

using namespace std;

class Ponto {
	int x, y;
public:
	Ponto() {
		x = 0; y = 0;
		cout << "construindo" << endl;
	};
	~Ponto() { cout << "destruindo" << endl; };

	void imprimir() { cout << "valor x=" << x << " valor de y=" << y << endl; }
};

int main()
{
	{
		//usar memoria dinamica
		Ponto *p = new Ponto;
		p->imprimir();
		delete p;
	}

	system("pause");
}

#arrays dinamicos de objetos
para criar um é necessário fazer:
pVar = new tipo[dim];
para libertar a memoria:
delete [] pVar;

#include "pch.h"
#include <iostream>
#include <string>

using namespace std;

class Ponto {
	int x, y;
public:
	Ponto() {
		x = 0; y = 0;
		cout << "construindo" << endl;
	};
	~Ponto() { cout << "destruindo" << endl; };

	void imprimir() { cout << "valor x=" << x << " valor de y=" << y << endl; }
};

int main()
{
	{
	//usar arrays dinamico de objectos, com construtor e destrutir para cada elemento
	Ponto *p = new Ponto[4];
	for (int i = 0; i < 4; i++) {
		p[i].imprimir();
	}
	delete [] p;
	}
	system("pause");
}
Tags : , , ,

POO, conceitos (cap 4)

as Classes:

#estruturas com funções membros
as funções que são declaradas como membros de uma estrutura são as funções membro
uma função membro sabe sempre para que objecto foi invocada
os membros privados só podem ser “trancados” se estes forem declarados como private, e desta forma apenas as funções membro conseguem aceder a eles
por omissão os membros de uma classe são privados, já se fosse os membros de uma estrutura são públicos.
qualquer função membro (nao estática) consegue aceder aos membros da classe sem referência explicita do objecto

acessibilidade:
se as funções membros forem as únicas a ter acesso directo à informação, então essas informações são membros privados
mantendo as funções membros como publicas, dentro da estrutura ou classe
as funções membros podem aceder a membros públicos ou privados, dentro da estrutura ou classe

para a aceder a um método de uma classe faz-se uso do operador ::

#construtores
serve para inicializar os objectos de uma classe
um construtor de uma classe pode ter parâmetros que podem representar os valores iniciais

#construtores overloaded
podemos ter vários construtores para especificar várias maneiras de inicializar objetos.
a escolha do construtor depende do dos argumentos que forem especificados
pode existir o construtor por omissão, será aquele que não tem especificado qualquer argumento

#construtores com parâmetros com valores por omissão
este tipo de construtor é também um construtor por omissão , pois pode ser chamado sem a especificação de argumentos

#destrutor
quando o objeto deixa de existir, os recursos devem ser libertados, usando destrutores, que são automaticamente invocados
a destruição dos objectos é feita da seguinte forma:
_objectos locais não estáticos são destruídos quando a execução do programa sai do bloco onde foram declarados
_objectos globais, são destruídos quando o programa termina
_objectos dinâmicos são destruídos recorrendo ao operador delete

#funções inline
são todas as funções que são funções membro de uma classe e que estejam definidas na classe
normalmente são funções pequenas e que são muitas vezes utilizadas

#membros variáveis estáticos (static)
é partilhado para todos os objectos de uma classe
existe apenas uma única existência de um e um só membro estático pelos objectos da classe
os não estáticos existe apenas uma existência por objectos
são definidos fora da classe, e pode ser inicializado

#funções estáticas (static)
têm acesso apenas aos membros estáticos (variáveis ou funções)
funções não estáticas tem acesso a todos os membros (estáticos ou não estáticos)
o acesso a um membro estático publico:
a.membro ou a.funçãoMembro()

o acesso a um membro estático publico sem referencia de objeto:
Disciplina::membro
Disciplina::funçãoMembro()

#funções membros constantes
o uso de const no fim do prototipo das funções indica que estas nao alteram os membros
se uma função membro tem const no final do prototipo também tem que aparecer const
as funções membros constantes podem ser invocadas para objectos constantes e nao constantes
as funções membros não constantes só podem ser invocadas para objectos não constantes

#funções friend
uma função friend relacionada com uma classe tem acesso aos seus membros privados não sendo mesmo membro dessa classe
a palavra friend surge antes do prototipo

#construtores com lista de inicialização
Disciplina():x(i), y(i){…
..
}

existem situações em que não é possivel inicializar membros variáveis dentro do construtor, tendo que se usar uma lista de inicialização
se forem membros constantes, têm que ser inicializados na lista de inicialização
se forem membros referencia, têm que ser inicializados na lista de inicialização

#Membros variáveis inicializados na declaração
é possivel inicializar os membros variáveis da classe aquando da declaração

#Membros default e delete
o uso da especificação default serve para indicar qual o construtor a ser utilizado (por omissão)
o uso da especificação delete serve para tornar indisponível a sua implementação


Tags : ,

“20 Essential Games to Study” por Joshua Bycer

Um livro a passar pelos olhos:
“20 Essential Games to Study” por Joshua Bycer

+infos(oficial): LINK

Tags : , ,

“Indie Games Are Getting Cloned Before They’re Even Out” por Cecilia D’Anastasio

Que história mais “macabra” … damms

“Earlier this month, a buddy sent game developer Ben Esposito a surprising screenshot: an Instagram ad for a game that looked a lot like the one he’d been working on for five years. Esposito is nearly finished toiling away on an indie game called Donut County, which will be released later this year by publisher Annapurna Interactive. At the tail end of this labor of love, now a copycat game called Hole.io is number one on the iOS store, and Esposito feels the need to say something.

“I went into this endeavor to make something meaningful to people and spent a long time trying to figure out what that looks like. I had to make all the little details myself. I wanted it to matter,” Esposito told me over Skype today. “They just took the elevator pitch, the unique selling point. . . It’s the message that content doesn’t matter. The message is, if you can find the content for free, take it.”

+infos(oficial): LINK

Tags :

“Introduction to Game Design”

Introduction to Game Design – Part 1
Tópicos:
“Definition of a Game”
“Game Genres”
“Game Team”
“Game Design Document (Plan)”

Introduction to Game Design – Part 2
Tópicos:
“Game Design Document”
“Cameras”
“Controls”
“HUD (heads up display)”
“Levels”
“Combat”
“Enemies”
“Mechanics”
“Power ups & Rewards”
Mini GDD (com respostas a..):
“Title of your game? Have an adequate, original, to the point title for your game.
Platform (console)? Is your game going to be on iOS, Android, windows, xbox,etc.?
Target age ? Is your game for kids or adults?
Rating? (ESRB) Choose your rating depending on what your game contains. If it contains violence and sexuality, it can’t be ESRB EVERYONE
Game summary? A short description of your game.
Unique selling points? What makes your game stand out and compete with other similar games?
Similar competitive products? What are the games that you consider similar to your game?”

+infos(part 1, fonte): LINK
+infos(part 2, fonte): LINK

Tags : ,

“There are too many video games. What now?” por Steven Wright (texto interessante)

There are too many video games. What now?

“in 2018, there have been over 6,000 games released on Steam; the majority of them have sold fewer than 500 copies” preocupante? .. uma chamada de atenção mas o sonho tem que continuar.

+infos(oficial): LINK

Tags :