Since the release of “Beware Planet Earth!”, I’ve been asked several times a bunch of questions about the libraries, environments and the languages I used for the engine and the game. And so I decided to write a “short” article to explain all that.
First, the language with which both the engine and “Beware Planet Earth !” were written is C++. The reasons? First, C++ is a native language and can be easily ported to almost all platforms. It’s also a language that allows for a lot of control on various things; the memory management in particular. It offers better performance than JAVA, while offering better portability than C#, for example.
Of course, some of you might say “hey C# can be ported everywhere; there’s Mono, it’s great!”, and yes, it may be; but here you get the problem of depending on a middleware – which you can go without if you change languages. This can make your development impossible or at least very hard, should the middleware’s developer stop supporting it.
Indeed, the primary goal of our in-house engine is to last long, and for it to do so, we have rely as little as possible on external resources. When those become essential, it is vital that they are limited to independant modules, or even encapsulated. If we depend on a tool such as Mono, it is the whole engine (and the game with it), that will be tied to an external technology, and we take the risk of being forced to rewrite it entirely, should a big problem arise (for example in another language).
That being said, there’s a moment when relying on external software becomes nigh inevitable. In Black Hand (Lightmare’s in-house engine), three modules depend on external libraries: sound, graphics and scripts. When we chose to implement them, we have made it bearing in mind the possibility of porting the engine to various platforms.
For the graphics part…well, I’ll start by saying the exact opposite I’ve been saying so far! The first library which was implemented for the display engine was DirectX. “Yeah, talk about portability!” So, why on earth would I choose that, of all libraries? Primarily because it is quick to use and set up. We’re working on PC and starting with DirectX was a good “temporary” solution.
Indeed, DirectX is more than a mere display library; it also features various handy side routines. For example, it allows us to load various graphic file types to implement the texturing system, and spares us the use of multiple graphic file loading libraries.
This in turn allowed us to postpone the final choice as to what would be the unique file type we would be using for graphics. For example, while we were developing “Beware Planet Earth!”, we seamlessly went through two different graphic file types using this system. In the early stages of development, we also used the text font loader embedded in DirectX. Then, later in the development, those features were generalized in order not to rely on DirectX anymore, and being able to use other display libraries.
When the time for various ports of the display system arrived, we “simply” had to rewrite some of the display routines in OpenGL for Mac, OpenGL ES for iOS as well as some more in specific OpenGL for Windows, in order to be able to switch between OpenGL and DirectX on PC.
We’re pondering whether going with or without DirectX in the future, but we haven’t made up our mind yet. The reason is that this part of the code, as small as it is, requires specific maintenance. On the other hand, the one reason that prevented from dropping DirectX sooner is that it offers more powerful on (very) old graphic cards, which is still the average hardware our target audience is using.
As for the sound engine, we went for OpenAL pretty soon, because it’s a portable library, quite powerful regarding our needs, and it is free, which is not the worst part, especially considering the price of commercial use audio libraries!
Last but not least, for the script part of the game, we chose AngelScript after long researches. Initially, the game was meant to run a lot more script than it did eventually. The script code was to amount to up to 60-70% of the total game code (the enginz’s code is native and not taken into account here). The initial criteria of choice were based on this, but eventually, only the interface and levels’ introductions were scripted this way. Our criteria for this were:
the language had to be compiled/precompiled for good performance
it had to have strong typing to make debugging easy while preventing “dumb” mistakes…
…and ideally it had to be object oriented for the code reading/writing simplicity – which is admittedly a matter of personal taste.
and lastly the library had to be portable, and there had to be an active community that would use and maintain it.
Eventually, all those criteria were satisfied by AngelScript, its creator being incredibly reactive and easy to contact, and the community being quite impressive as well. Performance was never an issue with AngelScript because no functionality vital to performance was implemented using it. On the other hand, the language being object oriented and close to C++, its complex syntax didn’t allow for much intervention from the “non programmers” in the team. It’s one of the few negative points we’ll be working on during the upcoming projects, but we will still be using AngelScript in the medium term.
Now concerning the IDE (Integrated Development Environment), we used Microsoft Visual Studio 2008 for the PC and xCode 4 for Mac/iOS. The versions themselves were limited to what would be compatible with our target platforms (Windows 2000 was initially planned, then dropped).
I hope that this article has made Lightmare’s technological choices a bit clearer; please don’t hesitate to comment or ask questions about the article itself or other technical aspects!
From today, "Beware Planet Earth!" is available on the IndieGameStand website! You can buy the game for $10 or pay what you want!
This sale supports charity: “10% of the proceeds from each sale goes towards the charity of the game developerâ€™s choice.”
So we chose to support Amnesty International: you can visit their website here: http://www.amnesty.org/
This sale will run for 90 hours: don’t miss the opportunity to support us and Amnesty International! :)
Beware Planet Earth! is part of a brand new bundle: the “build a Greenlight bundle”. The idea is quite simple: in this bundle you’ll find 9 games, all waiting to be approved on Greenlight. Buy as many of them as you wish, for the price that you want, and enjoy! And a nice treat for everybody: there will be some free bonus for all contributors once enough units are sold.
Don’t forget to go on the Greenlight page of each game to vote for them (the link is in the description of each game)!
Lightmare Studio and Martians celebrate Halloween with brand new FREE DLC now available for download!
You’ll find 5 unique levels (complete with their Veteran mode), new Martians from beyond the grave, and 3 new achievements to unlock! You may access this content by clicking the new “BONUS LEVELS” on the Main Menu.
Long before we were done with “Beware Planet Earth!”‘s production, we had a common desire to offer, in the future, additional content for our games. Digital distribution indeed allows for easy corrective updates (patches), but also unique content such as the Veteran Mode that we released recently.
This may also take the form of levels or Martians that didn’t make it to the final version of the game -because we had a million ideas but not enough to implement them all- or, in the case of this very DLC, additional content to celebrate a specific occasion – which is Halloween, today.
A game development company must however make a choice in their DLC policy; they must decide whether the DLC will be a new product to purchase or will be available for free. It’s a thorny choice because, in the paid-DLC’s case, one must create content which is consistent with the price tag so that the players are attracted and happy, even though most of them are likely to feel that they bought an unifinished game at the release…whereas on the other hand, free DLC means developping unique content to enhance the game and make the players happy, without any financial retribution.
We decided to go for free DLC, because as players, we like to cash out once only, then get from time to time good surprises. Maybe this comes from a subjective perception that when we download paid content, we feel like it was “missing” all allong, whereas it’s “bonus” when it’s free. At any rate, we simply like the idea that people who love our games can all equally enjoy the same content and the best of all versions at any given time.
It’s our way of thanking you for buying “Beware Planet Earth!”, and if you haven’t done (yet), don’t forget to support us ;)
And now here’s a little glimpse at those new levels…we hope you’ll like it!
This article expresses Lightmare Studio’s stance – our opinion, on the thorny matter of software piracy.
Whenever one sets out to create entertainment or artistic and cultural work (no matter where you feel videogames should stand in this spectrum), one can right away expect to face a well-known phenomenon: piracy.
With the incredible development of the Internet during the last decade, the sky-rocketing download rates, the growing number of content sharing sites and the massive advent of dematerialization, access to pirated games is easier and quicker than ever.
A lot is being said and written about piracy. According to some, it may be a major cause for poor sales, and, more or less directly, for the increasing price, while justifying the presence of anti-copy protection system, often referred to as DRM (Digital Rights Management).
It is extremely hard to measure the actual damage caused by piracy to sales. An easy yet somewhat theoretic shortcut one could make would be to regard any illegally downloaded copy as a lost sale. But there is an issue here; just as any hasty and obvious conclusion, it is shaky at best, completely false at worst. In order for it to stand, one would need to be absolutely sure that “if any given copy couldn’t be downloaded illegally, then it would definitely be sold”. However, in practice, nothing is less certain.
First, nobody should go for the assumption that any copy downloaded illegally, but more importantly *for free*, could be compared with a purchase, because the latter implies a cost to the player; doing so would mean one regards the price as a perfectly negligible value…and that, of course, wouldn’t be reasonable.
Moreover, in order to actually know whether a person who “would not have been able to pirate the game, would have purchased it” – which might justify the presence of DRM -, one would need to read the mind and intentions of every single “pirate”.
In reality, the answer is by no way evident, even for pirates themselves. Some pirate just to test a bit before buying, others do so just to add a game to their personal culture, without being able or willing to afford it. Some pirate anything available just for the sake of it, regardless of the content’s quality. A good deal among them – most of them? – don’t even beat the games they download illegally. It is unfortunately impossible to quantify who pirates what and for what reason, and it is, therefore, impossible to know who would buy if they had no access to free yet illegal downloads.
Since it is impossible to know that, and since a pirated copy isn’t the same as a lost sale, then it seems obvious to us that one should accept that piracy is simply part of the creative ecosystem. Pirates are there, the game will be pirated, regardless of the actions taken to stop them. Games that sell little are little pirated, games that sell a lot are pirated a lot. That’s how things are.
â–² Suddenly…pirate box art! Note: we’re not actually G4W compliant!
Enter the DRM problem: should we really try to protect the game? Isn’t a lack of protection an invitation to pirate games? A way of saying: “hey guys, look, I left the door open, just come in and loot my fridge!”? We believe that pirates are not that stupid; they know perfectly well that they don’t pay when they should, and they don’t mix up “DRM-protected, so it’s pirated” and “unprotected, so it’s free”. DRM can’t be justified this way.
What really bothers us with DRM, even the lighter ones, is the risk, however slight it is, that they spoil the experience of an honest buyer, for example if the protection fails to recognize a rightful owner and blocks the game as if it were a “bad pirated copy”. Granted, the risk is more or less tangible depending on the protection systems, but it does exist; just think about the DRM requiring a permanent Internet connection to play…what if the player temporarily loses their connection?
In fact, the rationale behind DRM is deeply flawed in at least one obvious way: pirates systematically bypass those protections…it’s the very purpose of piracy! If anything, honest buyers are going to be annoyed by DRM…pirates less so! Of course, one could argue that even though DRM might sometimes annoy some honest buyers, it’s a small sacrifice if it stops pirates from playing.
Well…that’s quite not the way we see things. Even if it were true – which is yet to prove, it would amount to handcuff everyone “just in case” there might be, hidden among the crowd, an undefined number of potential criminals. This also means that there is a chance to “shoot down an innocent” while trying to fight an indistinguishable enemy in unknown numbers. And this somewhat amounts to criminalize all the players, because behind any of them a villainous pirate might be hiding. This is the very reason why “Beware Planet Earth!” is completely DRM-free. Speaking of which, if you ever pirate the game – and we do invite you to purchase it instead :p -, beware of the suspicious links mentioning “Beware Planet Earth!+crack”! No DRM also means no need for any crack!
â–² Seems legit.
Much in the same way, it actually feels wrong to us to criminalize systematically genuine pirates, because you can never tell the intentions behind the action. Don’t get us wrong: piracy IS a violation of law and this article is in no way an apology. But we can also imagine that, in a way, a pirate is also a customer. A customer who kind of “forgot” to pay, true. But a customer anyway.
It’s a simple matter of interpretation; the fact is, a pirate, out there, owns a copy of a given game, which they didn’t pay for. Of course we could regard them as a thief, hunt them down for being one, punish them, make them feel guilty or…on the contrary accept this fact and regard them as a potential customer instead, who hasn’t paid for the game yet, but is invited to do so. A pirate may also help the game get sold and known by talking about it if they liked it.
For the one true enemy for developers, be they independent or not, is the lack of fame. Lack of publicity. Oblivion. Explaining a commercial failure by piracy would be throwing the baby out with the bathwater. What follows in the way we see things may, we admit, be quite unexpected: we believe that piracy may have a definite positive effect. If oblivion is an enemy worse than piracy – and we strongly believe it is – then any content creator should wish for their work to be played and enjoyed by as many people as possible, refraining to hunt down and hate those who do without paying. They should rather look for solutions to convince pirates not to pirate, not through fear, but through giving them the desire not to do so.
The money we get from the purchased copies is mostly a way to keep on doing what we love most; we have no doubt that pirates are well aware of that. We are content creators, entertainment makers: sure we hope to make a living out of the games we make, but our primary goal is to provide something for the players to enjoy. If we must make a choice between a pirate and a paying customer, we will obviously go for the customer, if only for the moral investment behind the purchase. But if we must choose between a pirate who plays and enjoys our games, and a person who will never play them, then we will go for the pirate.
That is why we read user comments on torrent sites from which “Beware Planet Earth!” can be downloaded illegally, and that we do appreciate positive comments, even though they don’t come from paying customers. Much in the same way, we do not request these sites to remove illegal torrent links.
Maybe we are swimming against the tide and, someday, we may have to pay the price for this stance. But we are confident that pirates take responsibility for their actions when they download illegally, and that they will put some money in our work if they respect it and deem it good. Some comments on torrent sites we visited strengthen our belief; we could read more than once comments like “This game’s really good, I think I’m going to buy it to support the dev!”
Too long, didn’t read? To sum it up:
Damage done by piracy to sales can’t be quantified, because it would require knowing whether each pirate would buy the game if they couldn’t pirate it, and therefore, it would require to read minds.
If oblivion is a developer’s true enemy, they must fight it before (instead of?) fighting piracy.
Moreover, pirates may not be the enemies one may think they are. They can actively contribute to the game’s fame and, even as customers, they are not “permanently lost”. This is why Lightmare Studio doesn’t join the witch-hunt on torrent websites.
There is a chance for DRM to annoy rightful owners, while pirates will bypass them without thinking twice about it. This is why “Beware Planet Earth!” is completely DRM-free.
Here it is, all warm and fresh, right from the oven: the new Veteran mode! :)
This mode critically increase the overall difficulty of the game – the life and speed of the Martians have been raised, and the Zapper’s power has been lowered.
A short message will be prompted when you create a new profile, offering you to play in Veteran mode. You will also be able to activate it easily from the option menu, and switch from Normal to Veteran mode whenever you wish to: you can play in Veteran mode with your current save.
We’ve received a lot of comments regarding the overall easiness of “Beware Planet Earth!”, so we hope that this mode will fulfill the desires of the most experienced players wishing for a higher challenge!
(We’ve been through a lot to finish some levels, so we wish you good luck! :P ) !
The Veteran mode – and some new achievements – are all free and available in the last update, that you’ll be able to download from here.
The details of this update, which has a lot more to offer, can be found on our forum.
We’re also announcing another big update: the Demo has been rethinked, and now offers more levels! The players will have more time to get use to the game mechanics, the different Martians they will face, and the progression will be more consistent. The Veteran mode will also be available for the Demo.