Pop!Live Stream Code It yourself-First person shooter on MSX-TR (Quick and simple Turbo Pascal 3.3F)

4 years ago
48

Nessa live vamos apresentar o resultado da adaptação demonstrada na Live anterior https://www.youtube.com/watch?v=JRZdeVfrrPI , onde portamos o código original feito poe Javidx9 do canal One Lone Coder).
Várias otimizações importantes foram feitas para se ter uma performance aceitável e razoável no MSX Turbo R (R800).
No modo Z80 (~3.7Mhz) ainda está com tempos muito altos, entretanto com as otimizações, mesmo no Z80 a performance melhorou 3 vezes mais (com um pouco mais de trabalho também ficará bom como no R800).
Abaixo algumas das otimizações implementadas foram sugeridas na ultima Live e já estão operacionais dentre elas.
1) Acesso direto ao VDP (Modo texto);
2) Substituição de todos os floating points da engine, por fixed points;
3) Inserção de lookup table para os calculos de Sen e Cosseno necessário para as rotações feitas pela engine.
Nesse caso faço uma menção honrosa ao amigo Israel F. Araújo da comunidade MSX Brasil Oficial do FaceBook, que compartilhou a sua implementação em C (SDCC) com a implementação de sua lookups tables para o mesmo código que ele está implementando em C para o MSX).
4) Implementação de lookup tables diversas com multiplicadores repetitivos e complexos, uma vez que multiplicação é algo caro nesse tipo de engine, se a equação for complexa, fica mais caro ainda.

Projeto no GitHub (cmdlnpas)

https://github.com/popolony2k/pascal-mini-projects

Livros sugeridos

(DSP Without math)
https://www.amazon.com.br/DSP-without-math-introduction-English-ebook/dp/B00O10JCV8

(Game Engine Black Book)
https://www.amazon.com.br/Game-Engine-Black-Book-Wolfenstein-ebook/dp/B0768B3PWV/ref=sr_1_1?__mk_pt_BR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=GLCU6N4NJAPL&keywords=game+engine+black+book&qid=1590173959&s=digital-text&sprefix=game+engine+%2Cdigital-text%2C275&sr=1-1

Canais sugeridos

(One Lone Coder Channel)
https://www.youtube.com/channel/UC-yuWVUplUJZvieEligKBkA

Loading comments...