terça-feira, 12 de novembro de 2019

Introdução



O design de jogos engloba muitos processos que eu pretendo discutir neste blogue.

Eu pretendo abordar tudo desde a música dos jogos, à criação das personagens e história, à programação e animação envolvida. Eu irei escrever sobre estes temas principalmente sozinhos mas, também pretendo falar da interligação dos mesmos temas e, se descobrir ou me lembrar de algo para dizer sobre um tema do qual já falei irei criar um novo post para acrescentar a informação. Eu irei começar com um pouco da história dos videojogos e da sua evolução nos últimos anos, depois pretendo falar sobre a influência da música nos jogos, depois a história e a criação da narração de um jogo e, depois disto logo se vê (posso nem por estes três primeiros se por alguma razão no dia em que for pôr um deles me apetecer falar de outra coisa.

O meu objetivo é ensinar vos sobre os processos da criação de um videojogo e aprender coisas novas pelo caminho.

segunda-feira, 11 de novembro de 2019

Carros autónomos serão uma realidade através da IoT!

Carros autónomos e inteligentes eram apenas ficção científica à poucos anos atrás. Porém, cada vez mais este conceito é uma realidade, sendo possível possuir veículos com capacidade de condução autónoma, um pouco limitada, como os Tesla. No futuro espera-se que estes veículos sejam capazes de até reabastecer sozinhos.

Mas vamos ao fundamental deste post, como a IoT torna tudo isto possível? Apesar de a tecnologia envolvida na fabricação destes automóveis depender de cada marca, a maioria usa uma série de radares detectores de laser e câmaras para mapear o ambiente envolvente ao automóvel. A informação é depois processada e analisada, sendo depois enviadas instruções para o carro tendo em conta os dados obtidos. 

No futuro (após a implementação do 5G) espera-se criar uma rede que conecte todos os carros que se encontrem próximos, e consequentemente os seus sensores, pois apenas quando todos os carros estiverem a funcionar em sincronia, partilhando informação com a qual todos acordam, será possível atingir a tão desejada, completa automação. Ora isto nada mais é do que conectar todos os sensores de diversos carros a uma só rede, através da internet, traduzindo, criar um sistema IoT!


blogue pessoal sobre tech:



fonte:



imagem:

  • URL
  • consultada 10/11/2019

C++ - Operadores lógicos

Assim como na matemática (e a vida real, no fundo), na programação existem os valores lógicos: verdadeiro e falso.

Como já devem saber, o tipo de dado boolean (bool) é o que guarda true ou false.
bool valor = false;

Então, também existem os operadores lógicos:

Negação (!):
A negação serve para "inverter" um valor lógico, assim como o til (~) da matemática:
Falso será verdadeiro, Verdadeiro será falso.

Escreve-se com um ponto de exclamação (!) antes da variável (ou valor lógico).
bool variable = true;
bool notvariable = !variable;

bool variable2 = false;
bool notvariable2 = !variable2;
notvariable vai ter o valor oposto a verdadeiro (falso).
notvariable2 vai ter valor oposto a falso (verdadeiro).

Conector E (&&):
O conector E, também chamado de AND, vai nos dar a combinação de dois valores lógicos, assim como o Λ da matemática (os dois têm de ser verdadeiros):

  • Verdadeiro e Verdadeiro - Verdadeiro
  • Verdadeiro e Falso - Falso
  • Falso e Falso - Falso
Escreve-se com "&&" entre duas variáveis (ou valores lógicos).
bool variable = true && true;
bool variable2 = true && false;
bool variable3 = false && false;
variable vai ser verdadeiro (verdadeiro e verdadeiro).
variable2 vai ser falso (verdadeiro e falso).
variable3 vai ser falso (falso e falso).

Conector Ou (||):
O conector OU, também chamado de OR, vai nos dizer se pelo menos um de dois valores lógicos é verdadeiro, assim como o da matemática:

  • Verdadeiro ou Verdadeiro - Verdadeiro
  • Verdadeiro ou Falso - Verdadeiro
  • Falso ou Falso - Falso

Escreve-se com "||" entre duas variáveis (ou valores lógicos).
bool variable = true || true;
bool variable2 = true || false;
bool variable3 = false || false;
variable vai ser verdadeiro (verdadeiro ou verdadeiro).
variable2 vai ser verdadeiro(verdadeiro ou falso).
variable3 vai ser falso (falso ou falso).


Se tentarmos fazer print da variável com valor lógico, vai ser 0 (falso) ou 1 (verdadeiro).
Em vez de false e true podemos usar 0 e 1 da mesma forma.

Estes operadores lógicos vão ser muito úteis nas condições, que falarei brevemente.

Python - Biblioteca "Math" (Parte 1)

UMA DAS COISAS MAIS IMPORTANTES EM TODA A PROGRAMAÇÃO, SÃO CÁLCULOS ARITMÉTICOS, FUNÇÕES, NÚMEROS ENTRE OUTROS CONCEITOS MATEMÁTICOS, ESTA BIBLIOTECA VAI NOS AJUDAR COM ISSO!

Nota: Como esta biblioteca é bastante vasta, terei de publicar duas partes sobre a mesma, sendo esta a parte 1 de 2.

Comecemos por importar a biblioteca, como demonstrei nas publicações "Python - Bibliotecas" e "Python - Biblioteca 'Random'", para podermos utilizar os seus comandos:

import math

Esta é a segunda biblioteca de que estou a explorar em Python, sendo uma das mais importantes e úteis.

Para mais informações sobre esta biblioteca, consultar: docs.python.org/3/library/math.html

Seleccionei alguns comandos mais interessantes desta biblioteca para demonstrar nesta primeira parte:
  • Arredondar para inteiro - para arredondarmos um valor real para o número inteiro mais próximo e acima, utilizamos o comando 'Ceil':
import math

print(math.ceil(6.012))

print(math.ceil(3.7))

print(math.ceil(0.0004))

Nestes exemplos, o que apareceria:

7
4
1

  • Remover o sinal - para removermos um sinal positivo ou negativo, aparecendo apenas o valor, usamos o comando 'Fabs':
import math

print(math.fabs(-6.333))

print(math.fabs(6.333))

em que o resultado seria:

6.333
6.333

  • Factorial - para calcular o factorial de um valor, usamos o comando 'Factorial':
import random

print(math.factorial(3))

print(math.factorial(5))

print(math.factorial(10))

e iria resultar:

6
120
3628800

  • Manter a 'parte inteira' - este comando permitenos remover todos os valores à direita da virgula, apresentando apenas o valor inteiro, através do comando 'Floor':
import math

print(math.floor(6.333))

print(math.floor(0.001))

print(math.floor(7.403))

e vamos obter:

6
0
7

  • Potenciação - para além do método que falei na publicação "Python - Operações Aritméticas", podemos criar potências com o comando 'Pow':
import math

print(int(math.pow(2, 3)))

print(int(math.pow(5, 1)))

print(int(math.pow(8, 0)))

assim sendo, apareceria:


8
5
1


Terminando assim a Parte 1 da biblioteca Math, com 5 comandos que nos irão ser úteis em diversos programas futuros. A Parte 2 será publicada dia 13 de Novembro (quarta-feira)!


Referências:




domingo, 10 de novembro de 2019

iOS 12


IOS 12 logo.svg


IOS 12 Homescreen iPhone X.png
  Este iOS foi lançado no dia 17 de setembro de 2018 e a sua ultima versão lançada foi a 12.4.3 no dia 28 de outubro de 2019, há menos de um mês e esteve disponível para as seguintes plataformas: iPhone 5S, 6, 6 Plus, 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus, X, XS, XS Max e XR, iPod Touch de 6ª e 7ª geração e iPad Air, Air 2, Air 3ª geração, iPad de 5ª e 6ª geração, Mini 2, 3, 4 e de 5ª geração e para todos os modelos do Pro lançados.

  As modificações efetuadas neste sistema operativo foram as seguintes:

 - As aplicações iniciam 40% mais rápido, o teclado do sistema ativa-se 50% mais rápido e a câmera ativa-se 70% mais rápido;

 - O Screen Time que é um novo recurso que regista a quantidade de tempo que o utilizador passou no dispositivo e em cada aplicação. Este novo recurso também fornece opções de bloqueio para limitar o uso de aplicativos com restrições de tempo;

 - o Teclado tem modo trackpad (que permite que o utilizador mova o cursor livremente) é ativado pressionando a barra de espaço em dispositivos sem o 3D Touch;

 - A app medidas serve para que o utilizador faça medições de objetos reais. Também funciona como um nível, um recurso que foi originalmente incorporado como parte da aplicação Compass;

 -A aplicação Mapas começou a ser reconstruída, contando com dados de mapas de terceiros em vez de usar dados de mapas fornecidos por terceiros. Isso permite instruções e previsões mais precisas nas rotas mais rápidas.

sábado, 9 de novembro de 2019

iOS 11


IOS 11 logo.svg

Tela inicial para iOS 11 iPhone 7 Plus.png
  Como já tenho vindo a falar sobre muitos iOS, hoje cá vem mais um deles, apesar de já estar quase no fim do geral de cada um deles. O iPhone OS de hoje é o nª11 que foi lançado no dia 19 de setembro de 2017 e a sua ultima versão foi lançada no dia 9 de julho de 2018 e foi a 11.4.1 . Este sistema operativo esteve disponível para as seguintes plataformas: iPhone 5S, 6, 6 Plus, 6S, 6S Plus, 7, 7 Plus, 8, 8 Plus e X, iPod Touch de 6ª geração, iPad Air, Air 2, iPad(2017) (2018), Mini 2, 3 e 4 e Pro.

  As modificações efetuadas neste sistema operativo foram as seguintes:

 - A tela de bloqueio e o Centro de Notificações passar a ser conjuntos, permitindo que os utilizadores vejam todas as notificações diretamente no ecrã de bloqueio;


 

O Control Center foi redesenhado e agora unifica suas páginas e permite aos usuários pressionar os botões 3D Touch (ou pressionar longamente os dispositivos sem 3D Touch) para obter mais opções. O Centro de Controlo pode ser personalizado;








 - Este iOS apresenta suporte nativo para a digitalização de código QR , por meio do aplicativo Câmera;



 - As apps Notes , Contactos , Lembretes , Maps e App Store foram redesenhadas em termos dos seus ícones;



 - Foi adicionado o recurso "Emergency SOS " que desativa o Touch ID depois de carregar no botão Dormir / Despertar cinco vezes em rápida sucessão. Impede que o Touch ID funcione até que a senha do iPhone seja inserida e liga para um contacto de emergência;



 - A aplicação Mensagens no iPhone X apresenta um emoji de rastreamento de rosto chamado "Animoji"  que usa o Face ID.

sexta-feira, 8 de novembro de 2019

Banda Sonora

Banda Sonora


No meu último artigo falei na construção de um bom ambiente num filme.

Hoje, dentro deste ambiente falo mais aprofundadamente na escolha de uma boa banda sonora que se adequa perfeitamente ao nosso vídeo.
Para ilustrar perfeitamente o que vou falar vou recorrer ao filme Bohemian Rhapsody (2018)

Queremos uma banda sonora variada, maioritariamente instrumental mas em algumas fases será melhor recorrermos a músicas não instrumentais por exemplo num momento do nosso vídeo em que passamos sequências de time lapses.
Temos de ter o cuidado da pertinência de cada música no decorrer do vídeo. Não seria apropriado pormos a musica "Party" dos Queen enquanto uma personagem chora...
No entanto, neste exemplo,


enquanto assistimos a Freddie Mercury (interpretado por Rami Malek) a arrepender-se do seu erro não há som absolutamente nenhum à exceção da chuva e das vozes das personagens mas quando admite mudar a sua vida para melhor a música "Under Pressure" chega-nos aos ouvidos a pouco e pouco. Este é um exemplo em que a mistura sonora foi bem executada (não é por nada que este filme ganhou o prémio da academia para o filme com melhor edição e mistura sonora).


O que é Domótica?

Domótica é uma tecnologia super recente, responsável pela gestão de todos os recursos habitacionais (smart home). Este termo nasceu da fusão de "Domus" que significa casa, com "Robótica". Estamos essencialmente a utilizar a internet para controlar dispositivos (IoT), sejam estores, forno, climatização, iluminação...

Este conceito beneficiou em muito da popularização de microcontroladores como Arduino ou Raspberry Pi, que são responsáveis pelo controlo dos diferentes dispositivos, estando tudo centralizado, normalmente num smart speaker com IA (Amazon Echo, Google Home, Home Pod) ou numa app para smarthpone. Claro que se tivermos equipamentos de melhor qualidade, pode nem ser necessário dár-lhes ordem, pois estes podem ter capacidade de ação autónoma, como, por exemplo: abrir os estores ao amanhecer; acender as luzes progressivamente antes de acordarmos; se está frio, o ar condicionado aumenta a temperatura sozinho; o aspirador apenas realiza a sua função quando não está ninguém em casa;...

Esta tecnologia surge como uma forma de nos facilitar o dia a dia, ajudando na poupança do tempo. Sendo uma grande impulsionadora do nosso conforto e melhoria de vida. Quem não quer? A resposta a esta pergunta é muito evidente. Porém, a domótica ainda não muito conhecida e ainda menos divulgado. Provavelmente devido aos preços que ainda são elevados ou devido ao medo de não "saber como mexer nessas coisas". No entanto, é uma tecnologia que tem muito espaço de crescimento e que no futuro estará certamente na casa de quase toda a gente. O que me faz crer isto? O crescente número de projetos com estas soluções de automatização. Mas só o tempo dirá, claro.


Blogue pessoal sobre tech:

Imagem:
  • URL
  • consultada no dia 03/11/2019
fontes:

Mensagem em destaque

Introdução

O design de jogos engloba muitos processos que eu pretendo discutir neste blogue. Eu pretendo abordar tudo desde a música dos jogos, à c...