You Should Make Video Games

Learn object-oriented programming, enroll in a free video game design class, register for virtual career fairs, and more...

In this edition of A Machine w/ Jace, I will teach you the importance of Object-Oriented Programming (OOP) and why making video games is actually a way to study 😁👾 

I created this lesson because I have spent the past week learning how to build games in the free engine Godot, which has reinforced my skills and appreciation for the ever-practical framework that is Object-Oriented Programming. My first game was a 2D platformer called Melon Run, I used Coco Code’s tutorial and it only took me 2 hours to make.

Not only was programming my game extraordinarily fun and educational but practicing OOP in Godot made me eager to make video games, and I think you should too.

Skip Ahead

Catch up on A.I. assistants, assistance, announcements, and amusement with A Machine. This weekly email will teach you about Automation & A.I. business tech.

NEWS
Bite-sized Automation & AI headlines.

When I die, upload me into Sword Art Online.

🧠 Elon Musk's Neuralink has conducted its first human brain implant trial, aiming to enable control of devices such as phones via thought for individuals with severe mobility impairments.

🐶 Amazon introduces "Rufus," an AI shopping assistant in its mobile app designed to enhance shopping by offering personalized product guidance and comparisons, initially available to select U.S. users in beta.

🎻 Google's Bard chatbot now supports over 40 languages globally with its new Gemini Pro update, enhancing user interaction and accessibility.

LESSON
Object-Oriented Programming (OOP) and Its Universal Importance

We are all humans, red or blue, according to OOP.

Object-oriented programming (OOP) is a paradigm that uses 'objects' and 'classes' to structure software, making it more modular, intuitive, and reusable. Java, a popular compiled language with over 8 million programmers to date, is one of a number of programming languages that leverages OOP.

Importance
OOP is a staple in software development and video game development, it’s crucial for managing complex systems and ensuring code scalability and maintainability.

  1. Classes and Objects:

    • Classes: Templates for creating objects, defining their state (properties) and behavior (methods). They are the blueprints from which individual objects are created.

    • Objects: Instances of classes, representing entities with specific attributes (state) and capabilities (behavior). Objects are the actual entities that are manipulated during the execution of a program.

  1. Inheritance: Allows classes to inherit attributes and methods from other classes. This promotes code reuse and establishes a hierarchical relationship between the parent (superclass) and the child (subclass). The subclass inherits all the non-private properties and methods of the superclass, and it can also have its own additional properties and methods.

  2. Polymorphism: Enables objects of different classes to be treated as objects of a common superclass. This is a core concept in OOP that allows for flexible and dynamic code. It lets us use a single interface to represent different types (classes) of entities. The actual method that gets called is determined at runtime based on the object's class.

  1. Encapsulation: Groups related properties (variables) and behaviors (methods) into a single unit called a class, and restricts the access to the inner workings of that class (encapsulation). It protects an object's internal state from unauthorized access and misuse by exposing only what is necessary to the outside world through well-defined interfaces. This is necessary for secure code.

Understanding these principles is key to writing solid, professional, code in any language or framework. This is particularly true given that AI can often fulfill the role of developer, leaving you with the responsibility of a senior engineer to guide the project's architecture and quality.

EXAMPLE
Life Mimics Video Games 🕹️ 

This game is currently under development…

The example above is a screenshot from the Godot engine of a new 3D video game I am building. In Object-Oriented Programming, you commonly start with a “root” node or class. This acts as a base for the rest of the code which inherits data and instructions.

Real World Application
To understand how OOP is used in the services we use and internally for company operations, we will take a side-by-side comparison of real OOP programming in video games and software development.

Video Games: Minecraft

  • Class: PlayerCharacter

  • Properties: health, hunger, inventory

  • Methods: move(), attack(target), useItem(item)

Software: Online Order Tracking

  • Class: Customer

  • Properties: firstName, lastName, phone, street, zipcode

  • Methods: login(), purchase(product), logout()

In my personal experience with game development, I’ve learned a great deal about programming in hierarchical languages like HTML, CSS, and more. I am going to continue using video game design as a fun and engaging way to hone my skills. If you are interested in my game-making adventure or what I have in store, reply to this email!

video games

web development

NETWORK & CERTIFICATIONS
Curated Virtual Opportunities 🌐 

'net'-work!

Virtual Networking

  • A game Jam is an opportunity for developers and gaming enthusiasts to make video games, open to beginners and pros alike, as an opportunity to showcase your creativity for prizes!

Feb 14 - Reserve free tickets to the Virtual Career Fair by Entre featuring Amazon, Roblox & more

Feb 15 - Reserve free tickets to the Diversity Premium Virtual Career Fair by nyblackmba.org

Virtual Course of the Week

Dive into game development with “Code Your First Game: Arcade Classic in JavaScript on Canvas”, a free course on Udemy ideal for absolute beginners eager to grasp the fundamentals of game development!

AI TOOL SPOTLIGHT
3 AI Tools to Boost Your Productivity

Epicface: Describe your scene, snap a headshot, and watch as AI swaps your grin into the limelight.

WizedCreate the perfect resume for your next job using AI.

VerbleAI speechwriting assistant that helps you master the art of verbal persuasion and storytelling.

QUIZ
Detecting AI: Choose The Real Image 🔎 

Results
Last week showed an even 50-50 split, with half of the answers correctly identifying the real image, and half being tricked.

Option 1  

Option 2  

Please Reply to these emails with feedback or any topics you are interested in.

The purpose of computing is insight, not numbers.

Richard Hamming

WRAP UP
See you scholars next week 🧑‍🎓 

I made some large changes to the newsletter this week, and I hope you liked them. I opted to lean more into projects that I personally am working on and use them as a teaching opportunity.

Thanks for reading,
See you Monday!