[In this reprinted #altdevblogaday-opinion piece, freelance programmer Fabrice Lete shares why you should be learning and experimenting with platform API-level programming even when you're not working on the middleware itself.] Looking back at my professional experience so far, over the course of eight years, I have worked on 12 games (of which seven shipped) using eight different engines on five different platforms. But all these engines were hiding the platform specificities, so having worked on Wii or PlayStation 3 means little; I have just been using "engine X". Of course, hardware limitations kept on showing up left and right, but it always boiled down to using the engine in a different way to take care of those. And when you work on games that do not push the hardware, you hardly ever have to dig deeper than the engine layer anyway. So, if we are not working on the middleware itself, should we still bother learning and experimenting with platform API-level programming? I think we should, and for various reasons. The first is that properly using a platform means understanding its strengths and limitations, and the low-level API gives a lot of clues about what is going on. You can really feel the hardware right under it, and get a good understanding on why things behave the way they do. Second, engines are often cross-platform, and as they abstract the hardware, they also remove its unique features. How many games are really going beyond the two sticks, four buttons, two triggers, and a D-pad approach? What about pressure sensitive buttons, motion detection, remote play, and keypads? The point goes well beyond input controls, but that was the example I had in mind. Finally, the argument for using engines usually goes like this: you would not be re-inventing the wheel every time you need one, so learn an engine once and use it everywhere. That's true, but notice how I learned more engines than I shipped games. If you are working with a popular engine that lots of companies are using, that makes sense, but if you aim at smaller scale development, chances are the ground will move a lot under your feet. At this point, I should probably stress that I am not advocating against engines. Attempting to start a professional project from scratch would be madness. I am only suggesting to go out of the engine comfort zone as much as possible, and always question the usefulness of the abstraction layers you are presented with and/or might be tempted to introduce. But now the question is how can one get their hands dirty? First-hand knowledge is important, but the core principle being "don't touch it unless it's really necessary", how should you exactly proceed? That's a good question, and unfortunately I don't have a practical answer. I would say "jump on every opportunity to work on the engine itself", but that's pretty generic. I could also suggest to play around with the devkits during breaks, but after having tried it myself, you can hardly make any progress this way (although if you manage to squeeze enough time it might be worth it, I would advise against sacrificing lunch), and it also defeats the purpose of breaks. Having access to the hardware outside of work hours is fantastic, but I am not aware of many places allowing that. So the closest you might get maybe involves retro-computing or even soldering your own devkit, like Craig Bishop suggested in his console development post. But although that will teach you valuable stuff, it remains remote from current-gen consoles. So this post ends with a request for suggestions. How would you do it? (My way of doing it involves teaching at a school with unrestricted access to several devkits, and that's totally awesome, but that situation is rather exceptional) [This piece was reprinted from #AltDevBlogADay, a shared blog initiative started by @mike_acton devoted to giving game developers of all disciplines a place to motivate each other to write regularly about their personal game development passions.]
Opinion: A Thirst For Low-Level Programming
July 22, 2011

Tags:
2011
Subscribe to our newsletter
About JikGuard.com
JikGuard.com, a high-tech security service provider focusing on game protection and anti-cheat, is committed to helping game companies solve the problem of cheats and hacks, and providing deeply integrated encryption protection solutions for games.
Top

I put the Galaxy Ring to the test - and it's better than my Apple Watch in one critical area
Aug. 2, 2025

Finally, an ultraportable Windows laptop I'd use at the office (even though it's for gamers)
Aug. 2, 2025

Samsung is giving new Galaxy Z Fold and Flip customers a rare $120 bonus - how to redeem it
Aug. 2, 2025

Anthropic beats OpenAI as the top LLM provider for business - and it's not even close
Aug. 2, 2025

Is your Roku TV spying on you? It's possible, but here's how to put a stop to it
Aug. 2, 2025
Recent

I put the Galaxy Ring to the test - and it's better than my Apple Watch in one critical area
Aug. 2, 2025

Finally, an ultraportable Windows laptop I'd use at the office (even though it's for gamers)
Aug. 2, 2025

Samsung is giving new Galaxy Z Fold and Flip customers a rare $120 bonus - how to redeem it
Aug. 2, 2025

Anthropic beats OpenAI as the top LLM provider for business - and it's not even close
Aug. 2, 2025

Is your Roku TV spying on you? It's possible, but here's how to put a stop to it
Aug. 2, 2025

I bought Samsung's Galaxy Watch Ultra 2025 - here's why I have buyer's remorse
Aug. 2, 2025

Gulf states reframe AI as the ‘new oil' in post‑petroleum push
Aug. 2, 2025

Physicists remain split on what quantum theory really means
Aug. 2, 2025

From concept to cornerstone, Ethereum turns ten
Aug. 2, 2025

Delta's personalised flight costs under scrutiny
Aug. 2, 2025
Blog

JikGuard game protection supports Google Play's 16 KB page-size compatibility requirement
Aug. 1, 2025

JikGuard game protection supports Steam Deck
July 30, 2025

Security Risk Analysis for Racing Games
July 28, 2025

Are there hacks that increase gacha pull rates?
July 24, 2025

VMOS Open-Source: New Threat to Game Security
July 18, 2025

How Games Detect Black and Gray Studio
July 15, 2025

How Games Detect iOS Jailbreaks
July 11, 2025

FPS Game Anti-Cheat Solution
July 9, 2025

Black and Gray Industry Insights: HappyMod
July 7, 2025

Online Game Anti-Cheat Solution
July 4, 2025
Random

9 things you shouldn't use AI for at work
Aug. 1, 2025

I tested the viral Sigma BF camera, and its radical redesign has me hooked
Aug. 1, 2025

I put the Galaxy Ring to the test - and it's better than my Apple Watch in one critical area
Aug. 2, 2025

The best Amazon deals right now: August 2025
Aug. 1, 2025

The best smartwatch and fitness tracker deals to shop now
Aug. 1, 2025

Stop ignoring your car's USB port: 5 features you're not taking advantage of
Aug. 1, 2025

5 ways to successfully integrate AI agents into your workplace
Aug. 1, 2025

Xreal wants you to split with your Meta Ray-Ban specs - here's how with this trade-in deal
Aug. 1, 2025

Verizon will give you up to four free iPhone 15 Plus phones - here's how to get yours
Aug. 1, 2025

DJI's first 360-degree camera captures nearly two hours of 8K video
Aug. 1, 2025
Most Views

How Games Detect GameGuardian
March 17, 2025

Explanation of Game Anti-Cheat Solutions
March 17, 2025

Cheat Engine Modifier Detection Solutions
March 18, 2025

Explanation of Unity Engine Encryption Solutions
March 17, 2025

How to Anti Hack in Client-Side Games
May 21, 2025

Cocos Engine Encryption Solution
April 8, 2025

How Games Anti-Debugging
April 15, 2025

Cloud Phone Detection Solution for Gaming
May 21, 2025

How Games Detect Frida
March 25, 2025

How Games Detect PlayCover
March 26, 2025