MrValdez's Blog

Reviving my personal website

Posted on April 16, 2026

It's been 8 years since I last posted.

This blog took so long to return that when I first made it, Django 2.0 just came out. I've now upgraded to Django 6.0.4... but I'm hoping to get this blog recreated in Air.

I've been busy. Also, that pandemic basically demotivated me to write. Opening the admin, I can see 10 draft posts including Part 2 of my PyGame series. Maybe I can get back to writing again.

Things that happened over the years:

  1. Boardgames
  2. More Python Conferences including outside the country
  3. Top …
[read more]
Categories: Personal

Game Engine Development: Pygame - Part 1

Posted on Nov. 19, 2018

Introduction


Video version

I gave a talk on how to make a game using pygame. It's one hour and can serve as a general overview of this series. You can watch the above and read these articles, or you can read these articles and pretty much ignore the video.

Installation step

You need to install pygame via the pip command.

$ pip install pygame

Then we test that pygame is properly installed:

$ python >>> import pygame ModuleNotFoundError: No module named 'pygame'

If you received the error above, it …

[read more]
Categories: gamedev

Game Engine Development: Introduction

Posted on Nov. 18, 2018

In this series, I want to show students and traditional programmers how to make a game using Python. The simplicity and readability of the language lowers the barrier for learning how games engines work.

I am going to assume readers have fundamentals in Python. But you don't need an intermediate level in Python as this series will be beginners friendly.

We will learn how game engines work under the hood. We will use that knowledge to make our own game. You will learn concepts not taught in traditional programming schools.

So you want to make a game

[read more]
Categories: gamedev

Fighting EX Fighting Layer from the perspective of an Street Fighter EX noob

Posted on July 12, 2018

I didn't play Street Fighter EX when it first came out. I grew up in the province and have limited arcade selections. It doesn't help that I rather play Xmen vs Street Fighter, Marvel Super Heroes, or Metal Slug (going for the 1CC) whenever I'm at our local arcade.

After moving to Metro Manila, I hang out with friends to play Fighting Games at our weekly casuals. A new game was released: EX Fighting Layer, and we got to play it on day 1. I immediately told everyone that I have no experience with the series …

[read more]
Categories: Games

Reasons to use Python

Posted on May 12, 2018

I'm a polyglot computer programmer. I am proficient with C, C++, Visual Basic 6.0, C#, PHP, and Python. I have basic knowledge with Java, Go, and Pawn[1], but I am very confident I can code with these if I have the manual available.

I personally like Python the most. In this post, I'll point out the advantage of using Python.

Miss Kobayashi's Maid Dragon is an anime where the main character is surprisingly not a teenager but a young adult who have a job as a programmer. Her using Python is just a nice …

[read more]
Categories: Programming, Python

My anecdotes on why I think Python should be a beginner's first programming language

Posted on May 8, 2018

Disclaimer: I'm primarily a Python programmer, a board member of Python Philippines, and used Python before it became popular (I don't remember the exact version, but I encountered the language when it was introduced in Blender).

I started programming with Pascal, honed my skills on C and C++, and made commercial products with Visual Basic 6.0, PHP and Python.

Python is the programming language that I found the most fun to work with [1]. Over the years, I've written a lot of code. Based on pure experience, I can see the programming foundation a beginner will …

[read more]
Categories: Essays, Personal, Python, Teaching

My choice of Programming IDE: Notepad2

Posted on May 6, 2018

I've been programming since I was a kid. I've experienced saving my code in numerous ways: using the blue IDEs (Turbo C), "copy con <filename>", visual studio (Visual Basic and C++), emacs, vi, and notepad2.

For the last 7+ years, I've been using notepad2 almost exclusively for Python programming. There is a method to my madness.

Before I started teaching programming to college students, I was an emacs user. The idea of having an IDE that you can program appeals to me. I like the idea of an IDE that is custom made to my own intuition; …

[read more]
Categories: Programming

Projects for Python beginners

Posted on May 5, 2018

(updated May 6, 2018)

After going over some beginner-level programming projects, its time to level up and evolve out of being a beginner. Its time to take you out of your comfort zone and become a Python programmer [1].

These Python projects are selected with the following in mind:

  • You can use the skills you've learned from these projects as a foundation for other projects.
  • You will learn the basics of a specific IT subject. If you are going to college, you can use these as your basis.
  • These projects can …
[read more]
Categories: Programming, Python

Projects for Programming Beginners

Posted on May 4, 2018

As a teacher, beginners often ask me these project-related questions:

  • I've just learned the syntax of this new programming language. What do I do next?
  • I want to be a programmer. What software should I make next?
  • I am applying for a job. What projects should I build to get hired?
  • I want to be the very best. Like no one ever was. Tell me what to make.

Learning a new skill is relatively easy. You just need to study the basics, the mechanics, the terminologies, and your stance while doing that …

[read more]
Categories: Programming, Python

Programming learning tip: Stop copy-pasting

Posted on May 3, 2018

When I am learning a new library or programming language, I don't copy-paste. I type the code snippet manually.

In order of importance, the benefits of typing code are:

  • You are actively thinking what you are typing. You are unconsciously learning the code as you read the text.
  • You get extra time thinking how the copied code fits in your existing code.
  • You get typing practice

I strongly believe that copy-pasting inhibits learning, that when I teach programming, I intentionally write on the whiteboard to force the students to type.

[read more]
Categories: Programming, Teaching