EGTwins - logo

ABOUT GAME DEVELOPMENT

Almost every gamer has, at some point, wished to create their own game — exactly the way they like it. That’s how we started as well. As enthusiastic players, we tried many different games, but with each one we found something missing or something that bothered us: weak visuals, strange sounds, dumb AI, or an uninteresting story even in an otherwise great-looking game. We first focused on simple 2D games (think classic platformers like Super Mario) and later moved on to 3D. Very quickly we realized that game development isn’t easy — especially if you want to create the models and scripts yourself. Of course, it wasn’t smooth from day one. We learned from mistakes, got familiar with the full workflow, and improved step by step.

Do you want to build your own project — or are you simply curious and asking the same questions we had at the start? Where do you begin? What should you avoid? What matters most to keep the project functional and optimized? Then this article is for you. We’ll go through the key things to think about when developing games.

A quick introduction

Game assets are created in 3D software (e.g., Blender, Cinema 4D, etc.), where you can model and animate objects. Then you import them into a game engine (e.g., Unity, CryEngine, Unreal Engine). In the engine you build the scene, implement AI using programming languages, add sounds and music, place objects, and more. During development, you should think about the following elements:

Story

Like in movies, a story matters. It can even help with AI design. If you’re not a strong programmer yet, you can make parts of AI easier by using triggers — event-based “switches” that start a predefined action.

For example, imagine an action scene where soldiers run to a helicopter, take cover, and shoot at the enemy. At first glance it can look incredibly realistic. But if it’s done purely with triggers, it may be just a scripted animation. So even if there are no enemies and nobody is shooting, the soldiers would still take cover and fire into nothing. A more advanced approach is to build reusable behaviors and react to the current situation. And at the highest level, some games even use learned neural networks.

A strong story can keep players engaged and motivate them to finish the game.

Models and textures

This is a broad topic, but here’s a practical overview. High-quality models and textures matter if you want realistic details — but size and complexity do not automatically mean quality. Heavy assets can easily hurt performance instead of improving the game.

Every 3D model is made of polygons (from Greek: “many angles”). Together with edges and vertices they form the shape. Polygons can have different numbers of points. For example, a cube can be made from six square polygons. The more polygons a model has, the more detail it can show — but at the cost of higher hardware requirements. The same trade-off applies to textures.

Ideally, many games use low-poly models. They don’t contain tiny geometric details, but you can compensate with textures: scratches, dirt, wear, etc. This “illusion” can look great while keeping performance reasonable.

Another option is to transfer details from a high-poly model into the textures of a simplified low-poly duplicate (simplification is often called decimation). This process is called texture baking. You can bake not only surface detail, but also lighting information (more on that below). The image below shows a basic example: high-poly detail baked into a normal map and used on a low-poly model.

Texture baking illustration | EGTwins

For textures, it’s smart to use compressed formats. If a texture doesn’t need transparency, JPG is often fine. Compared to PNG, the visual difference can be small, but the file size difference is usually significant.

Models can be created manually in 3D software — or scanned. 3D scanning can produce a very realistic look, but scanned assets can be heavy and may not reconstruct perfectly. Below is a quick scan we made: Honza wanted to be the main character in a game 😉. In a finished workflow, the hands would be re-scanned separately or re-modeled.

3D scan illustration | EGTwins

Lighting and shadows

From our experience, lighting and shadows are the most important visual factors if you want the best-looking results. Great lighting can make even a simple low-poly scene look solid. But lighting — and especially shadows — can be demanding on hardware. You can see this in many PC games: lowering shadow/lighting quality often boosts FPS significantly. Still, you can tune lighting and shadows so they don’t destroy performance. Shadows can be real-time, baked, or a combination.

Real-time

If you want dynamic visuals, real-time shadows are the obvious choice. They change continuously as characters move. They’re also more expensive to render, so you must manage them carefully: reduce softness/quality, limit shadow distance (render distance — same concept applies to models), etc.

Real-time lighting illustration | EGTwins

Baking

As mentioned above, baking can also be applied to lighting. Light and shadows can be “baked” into textures. These baked shadows are usually static: if the object that casts the shadow disappears, the shadow may remain. Despite that, baked lighting is widely used and can look very good. Most modern games combine real-time and baked solutions.

Baked lighting illustration | EGTwins

Animation

Animation defines how objects move in the game. You can animate by hand (keyframing objects or a rig/armature), or use motion capture.

Many modern games use motion capture because it can be both easier and more realistic than hand animation. The idea is simple: an actor (or an object) is tracked by sensors, typically via markers placed on the body. That motion is then transferred to the character skeleton in the game. Below is an example from one of our projects (this is just a test asset, so it’s not final quality). Honza acted as a soldier and the yellow markers allowed us to capture his movement and bring it into the virtual world.

Motion capture illustration | EGTwins

Play EGTwins games for free

Feel like playing something after reading? Try our games. We care about original work — the scripts and models in our games are made by us. Right now, it’s just the two of us building in our free time, so the games may contain bugs. We’ll keep improving them over time — visuals, AI, and overall polish. Because we aim for free-to-play games and we build them mostly in our spare time, we truly appreciate any voluntary donation that helps us create better games. Also, it helps a lot if you disable AdBlock. We hope you enjoy our games — and we’ll be grateful for any feedback (positive, negative, or suggestions). If you run a business, you can also promote it on our site (contact us via email or phone for details).

Interested in a more technical deep-dive? Want us to cover specific topics in more detail? We’d love your suggestions, feedback, and ideas for future articles.

If you enjoyed this article, we’d appreciate a share, a like on Facebook, or on any other social platform.

This article is based on the author’s experience.


Added 05-05-2020, Author: Milan Řehoř, Illustrations: Jan Řehoř