When I started game development for Android, I had to learn a lot of things. The information out there was rather sparse and I often found it not easy for a person who has never done this before to compile them into a knowledge base. I have really wished to be able to help my fellow programmers. I thought of writing a book to teach what I have learned in this area. But I am no good writer and I am still learning myself. So I decided to start this page to share what I’ve learned with you.
I have released three game titles so far. This has taken me three years, most of which has been spent on learning and trying things. That’s why I want this to be much faster and easier for those who are starting from scratch. I share the knowledge I have gained during these three years with you. I will organize this page so that it does not look like a mere blog, but a useful resource base for developers like myself who want a one-stop website to start their journey.
In these pages we will create a simple 2-dimensional game engine for Android from scratch. During the development of this engine I try to provide useful information regarding design decisions, and you will understand how each component works in a game engine.
If you feel these tutorials are helpful, you might consider making a small donation.
Part 1: Preliminaries
- Day 1: What Is OpenGLES?
- Day 2: What Is a Game Engine?
- Day 3: Our Engine’s Requirements
- Day 4: Stage, Scenes, and Sprites
- Day 5: First OpenGL ES Project
- Day 6: Drawing Primitives
Part 2: Textures and Sprites
- Day 7: Textures
- Day 8: The Texture Class
- Day 9: Creating a Library Module
- Day 10: Centralized Texture Manager
- Day 11: Abstract Sprite
- Day 12: Image Sprites – Part 1
- Day 13: Image Sprites – Part 2
- Day 14: Animation Handling
Part 3: Graphics and UI
- Day 15: Scene Layers
- Day 16: Scene
- Day 17: Bringing It on Stage – Part 1
- Day 18: Bringing It on Stage – Part 2
- Day 19: Our First Animation
- Day 20: Scalable Vector Graphics
- Day 21: Fonts and Text – Part 1
- Day 22: Fonts and Text – Part 2