Tag: video game
A common mistake people learning programming with an eye towards game development make is the idea that they require a game engine. It just seems natural, a car needs an engine to move so surely a game needs an engine. If only life were so simple.
Look at the history of most of the successful game engines in history, let’s use the Unreal Engine and the id Engine for my examples here, and you’ll find they started off with the game and the engine came afterwards. The Doom Engine (precursor/father to/first version of the id Engine) was not written to be a powerful game engine (for the time), it was written to run Doom. It just so happened a lot of the code got reused in other projects and thus the id Engine was born.
The Unreal engine began, oddly enough, with the game Unreal. Then a lot of the code for Unreal got used in lots of games that followed, being changed, refined and completely rebuilt along the way.
Game engines are not so much invented as they are accidentally created. You write a game, and then you refactor a lot of the code you used so it can be used in a later game. This alone is often enough for the developers/publishers/marketing department to say that both games run on a modified version of the same engine. And I guess technically it’s true.
The idea of a game engine is inherently ill-defined, it can mean a whole lot of things. At the end of the day, seeking to create a “Video Game Engine” is a foolish endeavour, as trying to create something ill-defined often is. Without a lot of luck and skill, you’ll get distracted by the shiny things you can do and at best you’ll wind up with a fantastic technical demo, but not something wholly individual you can use to make a game.
In fact, one could easily argue that the creation of a technical demo, getting someone to run around the screen, is one of the simplest aspects of game development. It is often the unique aspects of a game, the unique code which doesn’t quite always fit efficiently into the average generic “engine”, that provide the real challenges in coding and in developing.
The reason the Unreal Engine, the id Engine and the Source engine are at their current state of awesome is because they have been used to create so many games that the code-base has been refactored, modified and reused countless times in a long, iterative process. This is how a true game engine is made: iteratively.
The best way to make a ‘game engine’ is, at the end of the day, almost always going to be to make a game. The old adage, “Make games, not engines”, is as true today as it was in the days of Doom.
Quote of the Day
“My advice to you, if you’re trying to write an engine, is: Don’t. No matter what your reasons are — it doesn’t matter if you’re writing an engine so you can write your dream game, or if you’re writing an engine because you think it will be a good learning experience, or any number of similar reasons. They’re all wastes of time.”
I’ve recently played Alpha Protocol and I have to say I was impressed.
I like Obsidian Entertainment, I won’t deny it. Who can’t love the zombie remnants of the creators of the original Fallout games? Sure, they’ve make mistakes…and seem to be rather poor at bug finding and fixing, but they are very skilled at creating entertaining stories which are good enough to forgive the occasional glitch or unresolved plot point. In fact, I sometimes like unresolved plot points, they make the story feel more a part of a larger world.
Why did Alpha Protocol impress me? It was a game with a morality system, and no karma meter. It brought you into the world of espionage and it completely indulged itself in the grey nature of the business. The game never judged your decisions, never told you that you were a monster. No floating messages foretelling karmic retribution. The characters in the game may, but the game itself passed no judgement. Instead, the characters reacted to your actions minor and major.
The game did get accused of poor AI and bugs, but the thing is I never encountered them when playing it! The AI was no worse than I’ve seen in other stealth games, and the game had no more bugs than any other RPG I’ve played. In fact, I only experienced one glitch in my entire…oh, four or five plays from start to finish.
The problem people had with this game, it seems, was they were playing it wrong. They were most likely trying to play it as a standard cover shooter like Mass Effect, which gets you shot to death.
The thing is, Alpha Protocol was a stealth-based RPG, and therefore needed to be approached with both in-game cunning and meta-game stat-building. You had to play thinking as an agent, and you had to play thinking as an RPG.
Alpha Protocol to me seemed a spiritual successor of Vampire: The Masquerade – Bloodlines, another game I thoroughly enjoyed, and it certainly delivered as such. It provided a complex world of interactions and personalities, where your decisions mattered and the products or costs of those decisions would appear after time instead of with an instant ding of the karma meter. And it was glorious.
Quote of the Day
“I just don’t like shooting bell boys. They look like sad little clowns.”
Mike – Alpha Protocol