Sunday, 19 April 2015

Review of three development platforms

Windows 7. This is my main development platform and it's also the OS I'm using most of the time. I think people have strong opinions about Microsoft, but as a developer platform Windows is nice, because there are flexible options for releasing as closed source or open source, or whatever you want. Windows has good tools for development, some of them even derived from Linux world. Microsoft itself has a free version of Visual IDE family which in my opinion is one of the best there is available. Windows has been also surprisingly compatible in both backwards and forwards ways. Problems in Windows are often related to security and viruses. What I also find a bit annoying are frequent updates in the OS, yet the impression you get from Windows is that it's bloated and has a over-complicated structure.

Microsoft made a (GUI) mistake with version 8 which they now are trying to fix for 10. Both 8 and 10 should be less bloated, but I have no deeper experience from 8 so I can't tell for sure. I think we are all waiting for 10 to be at least in level of 7 with possibly better security and tweaking options for power users.

Linux. The main problem with Linux is open source ideology which in practice forces everyone to release open source projects with strong ties to GPL license. Linux is like communism where communists think their way is the only way of freedom, but in reality it's extremely restricted way of thinking. I don't actually have experience using Linux, but I think it's not possible to release your program as .exe (without the source code) that will work in all (or even most) Linux versions. The impression I have from linux is that most releases are open source and people are compiling programs all the time with recurring issues of libraries not being compatible for that specific version or brand of Linux.

The migration from a Linux program to commercial world is often difficult and a way to get around it are donations. However no matter how much some projects get donations they seem to remain only half-professional as Linux developers often have strong opinions about what kind of features their programs should have.

I would possible use Linux if it were possible to avoid GPL and release as a binary program for all Linux versions. I believe those two reasons are the main issues for some developers like myself.

MacOS. OSX is also quite restrictive, but in different way than Linux. The biggest problem is that OSX has a poor selection of development tools and there are also big difficulties to use technology outside OSX world (such as L/GPL libraries etc.) Development in OSX forces you to join Apple's development program which has 100USD annual subscription cost. For commercial developers it's fine, but for people who just want to write freeware programs it kind of sucks. The commercial aspect in OSX is strong and I believe it's something that has been a part of Apple's plan. They don't want freeware programs in OSX, they want to get their share.

As a regular user of OSX I don't have a lot to complain. The OS is based on some kind of Unix/Linux version. It's like a commercial version of Linux with a nice GUI and one standard for each version of the OS. The nice thing about OSX is that it's not updating all the time like Windows, except for occasional popup of Flash Player updater, but that's just good old Flash. Sometimes OSX freezes right after startup, but other than that it's very stable OS and it's easy to concentrate on working. I'm using a Mac Mini in my music studio which is something many people do, because it's such a stable system and almost completely free of viruses and pesky updates. But as a development platform it's quite awful and you are giving Apple that 100 dollars each year for the fun of writing computer programs.

Friday, 17 April 2015

A short history of gaming

When home computers and video games appeared in 1980's things were bit different. Most players and also developers were young male nerds. Girls didn't play games back then and gaming was certainly not a mainstream hobby it is now. Game development industry was created then from zero, when people started to realize that you could make lots of money from it.

1990's was a transition from nerd hobby to big commercial companies. Best selling games were still mainly good, because the players were still kind of nerdy and wanted different kind of games from variety of genres. The reasons why some games sucked were different in 90's than before, because in hope of getting rich quick companies started to pay attention to advertising and not the game itself.

Things started to change rapidly with new more advanced consoles like Xbox and PS2-3, because it was easy to play games with them (no nerdy programming or computer handling needed) and playing itself became more accepted for mainstream people. It stopped being nerdy and started to be cool. Game development was concentrated to big game titles so much that some game genres disappeared, because they were not selling as many games as were required to cover the ever-growing expenses of development.

Today mobile games cover a big portion of the gaming and the internet has also a big role in it. Indie game development has revived some genres, but the resources to create good games are often limited. The way people think about games is completely changed. The game is no longer required to be good, it can be anything that the big mass of people are interested, and often self-advertised in social medias. Games like Flappy Bird can become an instant hit and give the developer crazy amounts of money. A similar example is Minecraft, a "game" where you place blocks or remove them. It made the developer Markus "Notch" Persson a multi-millionaire.

There was no happy ending to all gamers. Some nerds grew up and started to think why they spent so much money in games and why they made a small group of developers so rich. What they got from it? Some good games and entertainment maybe, but at older age it all felt somehow empty. Not all developers were successful either. No matter how much they programmed and worked on their projects there were failures as well. Games that were quickly forgotten. Difficult hobby projects that made the developer swear he would never play any games or even think about them. Even good games that could have been much better with some minor tweaking before the release.

So in negative way today's games are developed to make money. Every trick or style that makes more money is in the gameplay. The press and reviews have long since been sold to advertising, but it has no point since there are no good games anymore. It doesn't matter how much they lie in their reviews, because casual people play games no matter how much they suck. Money is made and that's all there is. As if it wasn't bad enough there are people who create social media storms called GamerGate or something else, which can actually make the content of games suck even more with gender equality and other kinds of bullshit that restrict artistic freedom.

Game development may become more diverse in the future, because the technology to create games has became more accessible to game designers without strong technical skills. Game engines are getting better and easier to use. Money transaction over internet may become easier and hopefully doesn't require the developer to sign up as a slave for mega corporations like Steam or Apple. How things turn out depends a lot from what kind of future the gamers want to support.