@pikuma@mastodon.gamedev.place
@pikuma@mastodon.gamedev.place avatar

pikuma

@pikuma@mastodon.gamedev.place

An education platform teaching the fundamentals of #ComputerScience, #RetroProgramming, and #Mathematics.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

If you're programming a game where a boat moves through water, you might be tempted (as I would) to change the V-shape angle of the waves behind the boat based on how fast the boat was moving!

What if I told you that that V-shaped angle is always 19.47°, regardless of how fast the boat is travelling? 😱

This pattern even holds true for a duck traversing a pond. 🦆

The envelope of these waves stands at a fixed angle, and the wake has a characteristic feathered pattern.

pikuma, (edited ) to vim
@pikuma@mastodon.gamedev.place avatar

Last week, after meeting with @AlanZucconi, I read the news that Bram Moolenaar (the creator of #Vim) had passed.

I was very close to my wife's alma mater, Queen Mary University, and I remember it was an important institution in the history of #vi and #Vim editors.

Let's go back to the 70s, in East London...

(a thread)🧵

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

The NEW COURSE is finally out!!! 🕹️🙀

This is my love letter to the OG PlayStation!!!

We'll learn about:

• PS1 Hardware
• MIPS assembler
• C & PsyQ SDK
• GPU & 3D polygon graphics
• Fixed-point physics
• PS1-specific quirks
• RISC architecture & pipeline
• BIOS Functions
• GTE instruction set
• and much (much!) more...

At the end, we'll have a full-feature PS1 project and all the skills you need to grow and create your own PS1 games.

Enroll now:
🔗https://pikuma.com/courses/ps1-programming-mips-assembly-language

See you inside! 🙂

New PlayStation course is out

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

I remember when I was a kid and I read that Java 5 was codenamed "Tiger" and I thought that was so cool!

Now I'm dead inside.

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

Who remembers the Precambrian era when programmers wore ties? 😬

pikuma, (edited ) to random
@pikuma@mastodon.gamedev.place avatar
pikuma, to random
@pikuma@mastodon.gamedev.place avatar

Beautiful images of the Eclipse earlier today.

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

When we start learning how to code, we learn that some programming languages perform something called "Lazy Evaluation".

For example, when our code evaluates a condition using the && operator, there's no real need to check the second condition if the first one is already false.

Let's take a quick look into how this works... 🧵

pikuma, to random
@pikuma@mastodon.gamedev.place avatar
pikuma, to random
@pikuma@mastodon.gamedev.place avatar

This is what peak 3D rendering looks like.

4D boxing MS-DOS game

pikuma, (edited ) to random
@pikuma@mastodon.gamedev.place avatar

How 6502 Illegal Opcodes Really Work

The 6502 is known for its illegal opcodes. Out of 256 possible instructions, only 151 are defined by the architecture.

This article explains where the remaining 105 undefined 6502 opcodes come from:

🔗 https://www.pagetable.com/?p=39

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

Today is the official birthday of Lua. 💙🇧🇷

Our beloved language is now 30 years young!

🔗 https://www.lua.org/history.html

What about you?...

Have you ever coded in Lua? 🙂

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

In our #NES dev course, we learn that the APU has 5 audio channels:

• Pulse1
• Pulse2
• Triangle
• Noise
• DMC

The two Pulse channels generate square waves with options of volume & envelope.

But the Triangle channel has no volume/envelope control.

Why is that? 🤔

🧵...

pikuma, to Playstation
@pikuma@mastodon.gamedev.place avatar

I have added a new chapter on Extrinsic vs. Intrinsic rotations to our module.

Since the yaw, pitch, and roll sequence of rotations of our ship is always based on the last rotation (respecting the pilot's view), it was important to explain the math for both cases.

Intrinsic rotation

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

Last week, we posted a small exercise inspired by an episode of Woody Woodpecker.

"One for you, one for me. Two for you, one-two for me. Three for you, one-two-three for me. Four for you, one-two-three-four for me..."

You were asked to write two functions. One to return the number of items the Fox has (given we know the number of items Woody has), and another one with how many items Woody has (given that we know how many items the Fox has).

Here is one possible solution... 🧵

video/mp4

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

With all the tech layoffs happening lately, it's extremely important to keep your 6502 chops up to date.

For example, the 6502 CPU does not have a bitwise NOT opcode, but we can still invert/flip all the bits of the accumulator register using another instruction.

Do you remember how? 🤔

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

Happy new year, everyone! ❤️

2023 started off a bit bumpy with my NES lectures not getting the visibility I was hoping for. It's now one of the least enrolled courses of the school and it made me question all the other retro-programming ideas I have in mind. Bummer. 😔

But the arrival of a perfect baby boy put everything into perspective and that alone turned the entire year around! 🍼👶

Yay! 🥂😁

Super Mario Happy New Year

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

A breakdown of the % of number of enrollments per course in 2023.

pikuma, to random
@pikuma@mastodon.gamedev.place avatar
pikuma, to random
@pikuma@mastodon.gamedev.place avatar

Our school still receives a bunch of emails, DMs, and Youtube comments asking us why we teach such "old programming languages" instead of teaching something more "industry-relevant".

I'm once again asking you to read our about page:

🔗https://pikuma.com/about

It's all there! 😉

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

38 years ago, on this date, the was released in North America.

Happy birthday, old friend! 🙂

Join us, and let's learn to code NES games together.

View course:
🔗https://pikuma.com/courses/nes-game-programming-tutorial

I mean... 38 years. It's about time!

NES programming course

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

ㅤㅤLDX #192
LOOP:
ㅤㅤSTX COLUBK
ㅤㅤSTA WSYNC
ㅤㅤDEX
ㅤㅤBNE LOOP

pikuma, to Playstation
@pikuma@mastodon.gamedev.place avatar

I am adding Cheat Sheets to all the courses that are based on assembler. That means MIPS for the and 6502 for both & .

The ISA I'm including is simplified, but it's enough to help with the exercises.

Fingers crossed that one day we can add the 68000 to this list. 🤞

pikuma, to random
@pikuma@mastodon.gamedev.place avatar

The state in Brazil where I grew up is now under water. Everything I knew, the friends I had, the houses I lived, the animals I loved, the bridges I crossed, even the waterfall I used to hike by... all gone.

Everything you know, love, and work hard for can all crumble down in a matter of seconds.

It's been a tough week. 😔

Cachoeira da Mulada, Caxias do Sul.

pikuma, to random
@pikuma@mastodon.gamedev.place avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines