a small follow up…

Quite a few people have read my post where i criticized an article about harassment in the gaming industry, now i’d like to follow up on that post.

There has been some discussion on my post on facebook and some people had problems understanding why I felt it necessary to criticize such an public stance against harassment – while i felt the article was portraying problems as a women-only problem, which i don’t think is correct.

Today i signed an open letter to the gaming community against harassment. This letter in my opinion shows a much better way of adressing the issues than the article that i criticized in my original post, and signing it should leave no doubts on what i think about certain ways of behaving.

Please read this open letter: https://medium.com/@andreaszecher/open-letter-to-the-gaming-community-df4511032e8a



a few hints for the PHP crowd..

hello, i thought its time again for a small PHP related post (haven’t done alot of those in ages).

Today, i want to link you a hand full of tools that can make your life a lot more simple (rember: simple is good). This is not going to be a very long post, as you can find enough information about those tools on the net anyways – the idea is more to just point you there in case you haven’t heard of ‘em yet.

Composer – I asume you already know and use composer. If you don’t, chances are that besides checking out composer you also might want to read PHP the right way, which gives you a lot of links on stuff you should look up.

other links usefull when working with composer are packagist.org – the public repository composer is using (also available opensource you can build your own repository based on it), Satis – a much more simple and smaller tool to build simple own repositories, and hosted private repositories at gemfury. Then, to have it mentioned there is also toran proxy a tool you can setup that will mirror packages you use a lot for you localy, to speed up your development process.

phar-composer – this is a very nifty tool if you have php based command line tools, basically what it does it can create a runable phar file from your composer project. So if you have a command line tool, and you want to install it in a way that you can simply run it – or you want to distribute your command line tool as a single executable, this will make things easy for you. Even better: if the composer project from which it is building the phar file is on packagist, you can even use phar-composer to get it installed. (“phar-composer install liip/rmt” for example). As a note on how it works / which script will be executed: the first bin in your composer.json is the one that becomes the executed script.

RMT – this is a little release management tool, what it does is that it will run several checks (defined by your config) like your unittests, a working copy check and a few others, and then generate a new version number, update version strings in your files (if you want), add your commit messages to a changelog file and tag the release in git or mercurial – which when working together with composer creates a new release package. It comes with a semantic versioning based versioner (but you can use other ways of creating versions too.. but why would you? ;)).

one last trick (i think the manual doesn’t mention it yet) is: you can install an RMT executable by running “sudo phar-composer install liip/rmt” (sudo as it will by default install it in /user/local/bin/rmt).

that post about harassment in the gaming industry…

For a long time i have tried to keep the gender discussion out of my blog, as this is a very sensitive subject, and people tend to be very strongly opinionated in either direction – so maybe to avoid some of the stuff that i’m mentioning here as well, and i didn’t want people to feel negatively about other stuff i’m writing here simply because they disagree with this subject. But I’ve commenting on other blogs, forums and commenting systems on this subject before.

In the last two days I’ve seen this article about harassment in the gaming industry linked a lot. The original Post does not allow comments (on purpose) which i personally feel is a bad thing todo when you want to discuss a subject. Don’t get me wrong, I’m not saying “everyone should be able to flame away” (the comments on my blog are moderated as well), but i feel that if you make such strong allegations against a huge group of people, you should at least give the opportunity to reply in a civilized manner.
I did comment a few times on Facebook, when friends of mine where discussing it, but seeing how far spread it is, i decided to copy my longest comment on that from Facebook to here.

To give a bit more of context, i wrote this in response to a friend who wrote about how angry it would make him that people are denying that there is a problem, but i think most of what i wrote stands quite well on its own:

Sorry, but i have a hard time agreeing there – simply because that article describes a (actually several) problem in ways that seem far off from what i personally see.
I’m not saying there is no problem. I just need to look at the study about salary in the business that was published yesterday, so there is a gender equality problem.

But the harassment in the industry, which the article was supposedly about? Yes if someone gets harassed that is a problem, but for that you need to define harassment, what is harassment, what isn’t? And looking at the cases made in that article, i’m having a problem with taking that as a basis for making a “the industry has a problem”-argument. In fact, seeing myself as part of the industry, i have to say that i feel unfairly attacked through that article.

Take Case 1, someone made a Tumblr post and through Reddit a lot of negative response came, some of which, well usually only 14 year olds with no sense of decency would make. How is that even related to the game industry?
And further more, it then makes the claim in that case that this is proof for men don’t have that problem?

Well, that is simply not true.

As soon as you put yourself, or your opinion in the public you are a target for others, especially if what you write might be polarizing or in disagreement with the public opinion. The internet has made it easy for people to respond in a lot of lets call it disturbing ways, and so they will.
In my own experience, and you know, i’m not a woman, i have had feedback on stuff that i wrote that ranged from rather harmless bashing including, but not limited to for example that i’m fat, over people who wrote they’d put me to hospital, up to people who wrote exactly stuff like “i will rape you and your family”, and further in the highest escalation a guy who waited at the door of my apartment for me telling me to take down an article about some right wing band i wrote or else.
Now as i said, i’m not a woman, but i think this is good examples for how I’ve very much gotten comparable responses, and by this in my opinion is not really a gender problem.

Also, it is not a game industry problem either – let me put up the theory that actually people in the games industry are a minority on Reddit, so why is this used as example to talk about how people in our industry allegedly behave? No, this is a society problem, and a problem with the internet, and how people think they can behave there. And yes, i have a strong dislike for parts of the internet subcultures, like Reddit, 4chan or something awful (and yes i know that not all users on those three examples are like this, but quite often i hear shit from that direction), where people spread the idea that its OK to use this kind of language, no matter if it is rape jokes, racism or just very strong insults “because its the internet”.

The next example is about videos from pax east (a consumer fair), and their YouTube comments (which i bet are mostly not from people in the industry either, i’d guess its fans-on-the-internet again). Also, negative comments about the looks? I’ve gotten that a lot, during school, when appearing on some videos.. not a gender problem either, that’s happening to men too.

Anyway, i don’t want to go through the complete article now, the rest is in a very similar tone, with the sugar of “men tell us how to feel about this while this never happens to them…” added. Sorry, but that’s just not fair.

I think it is a good thing to speak about the problems that are there in this net culture, and maybe even further (even before the net there where hurtful letters to the editor, stalkers etc), and i’d love to see an article about that. But i don’t like to get a share of blame just because i’m male and working in the gaming industry.

Composer global config & private repositories

I’m using composer for what feels ages now. Composer is a great tool, and in my opinion everyone should use it.

That said, there are quite a few things about it not that well documented, in some cases because it is not that well organised, in others because it doesn’t mention everything.

For example, did you know that composer has a global configuration? And, do you actually know what you can configure there?
I knew it was there for a while, but i had not ever looked into what can be done with it.

Today i was looking for a way for the company i work for to add our private repository in a way that we don’t have to add it to every single composer.json file, but can configure the repository once and then just use it.

Googling for a solution actually led to a lot of places, but most of them just mentioned you can add it to your composer.json – so i decided to have a look what is actually in the global config:

composer config -g -l

the list of options configured then gave me a hint on what to google for, and i ended up with the right page in the composer manual:


i’m not sure why i didn’t find it before, maybe because with assuming the configs being in ~/.composer/ i was looking for configuration, not for the cli documentation

you can edit the global config by doing

git config -g -e

or, if you want to solve the same problem as i wanted to solve, you can simply use this command and it will add it to your config yourself:

composer config -g repositories.myrepository composer http://myrepositoryhost/

I guess if you are using composer in a company/private environment this is a quite useful information.

I might or might not make another post with a few more hints on the other options.

The current “You might not need jQuery” Hype..

lately i’ve seen a lot of people Tweet of Facebook about http://youmightnotneedjquery.com/, infact, right now the github repository used to maintain that site is place three in the most trending repositories.

Now  i’m a bit surprised on how many people that i know are jumping on that train. I looked into what the website says, and i disagree with the basic idea of it.

First of all it asks you “What’s the oldest version of IE you need to support?”, and lets you chose between 8, 9 and 10. I was a bit surprised since it didn’t seem that long ago to me that people where requiring stuff to still run with IE6. Should that glorious implication be true, and the abominations named IE6 & IE7 have been purged from the net? Reality sais no. I went to Google Analytics and checked the stats for some sites i run, and while i have mostly users (Games, Coders and other  Nerds) on those sites that are prone to use a proper Browser (read: not IE), or at least have the latest version of it, i still found that more than 9% of the IE users on my site are using a pre-8 Version.

jQuery 1.* handles this fine for me, i don’t need to think about it. Now obviously i could say “i don’t care about those users” (and frankly, i don’t), but then i’m just running some small scale private sites there. If i was looking at it from a commercial aspect, especially with a target audience that is less tech-savvy than my users, i might not want to keep those customers out.

The other thing that this website is not talking about is maintainability. jQuery actually makes JavaScript code easier to read (just look at the examples that there are on the “you might not need jQuery” website),  and by that easier to maintain.

With literally thousands of extensions and plugins to jQuery you also have an amazing resource of Code, where you can save effort that you’d have to put into reinventing the wheel, and focus on those things that you need to get done. I personally don’t see a reason to build yet another solution for auto-complete, tooltips etc.

jQuery is less than 100kb in size which with modern broadband is nothing (not even on a mobile device), and you can load it through several CDN’s which make sure it will reach your user as fast as possible. You can use large browser-side cache times easy with it (in fact when you are using a CDN for it, chances are that your user is already having it in his cache), and if you use a gzip handler the size transfered shrinks to even less. So this can’t be the reason why the authors of that website don’t want us to us jQuery – which leads me to another thing the site doesn’t talk about:


Slingshot Menu

Global Game Jam 2014 / Slingshot


Game Jam, Fun, Exhausting. Download Game at bottom of post.

Global Game Jam 2014

If you follow my Blog, you probably already know that i love Game Jams, and that i enjoy attending those.

My Love for Game Jams started about one year ago when i attended the Global Game Jam 2013 – so when there was a date announced for this years Global Game Jam, there was nothing that could stop me for registering and attending.

For those who don’t know what a Game Jam is, a Game Jam is an Event that is held for a specific time frame (for example 48 hours on a specific weekend, like the GGJ), where at the start a theme will be announced, and all attendees will try to make a game within that time frame that is inspired by that theme. Some of those events yield prices and are more competative, some are just for fun (like the GGJ).

The Global Game Jam is the largest of those Game Jams, and is held once a year, on thousands and thousands of locations all over the World. Here in Karlsruhe the Hochschule für Gestaltung is offering a nice Location for participants, and with their location and connection to the ZKM  (Center for Art and Media) create a perfect environment for creativity. You can read more about what the Global Game Jam is at its Website.

Before the Game Jam

This year i arrived at the HfG about 1 1/2 hours before the Game Jam itself would start. After saying hello to those people that where already there (and that i knew), and talking to a few folks that i hadn’t met before, i took the chance to visit the ZKM_Gameplay exhibition and check out their exhibits.

The most interesting one (to me) was the PainStation, a two player pong variant that would punish the loser by inflicting pain to his hand. As much as  i was tempted to try it out, i decided that i rather not hurt my hands before a 48 hours of programming.

Back at the area that we could use for the Game Jam more people that i knew had arrived so i spent a bit of time talking to a few.

The Theme

at 17:00 we all sat down and watched the GGJ 2014 Keynote, then one of the local organizers went through a few rules and information with us, and finally we got the Theme.

“We don’t see things as they are, we see them as we are”

my first thought was “crap” my second one was “seriously?” To me this theme sucked, and in the one hour that we had to prepare pitches, to brainstorm for ideas, i felt that this was the worst theme i’ve had seen in a Game Jam yet.

I know a lot of people will disagree here with me, but to me that theme seems pretentious pseudo-intellectual bullshit. (I gave a lot of thought of if i would want to use those exact words, or just mention that i didn’t like it, but i felt it is the right way of expressing how if feel about the theme, so forgive me if it offends you). In comparison – i really liked last years theme, which was basically playing the sound of a heart beat to us. Instead of some inspiring word, sounds, impression i found myself facing a platitude about perception – not really inspiring to me. Sorry.

During the hour we had to brainstorm i took the time to talk to a few people, and mostly talked to my later partner – we both didn’t really have a good idea for the theme, but where both interested in doing something with the oculus rift.  After a while i came up with the idea of a physics based game, which would use parameters you put in (size, weight) (= as we are) within the gameplay, to give you a unique playing experience.

The Pitch & Group finding

Puring the Pitch, where we all where looking for people to build our ideas with, i waited quite a while, hoping that someone else would provide an idea that would sound like fun to build – while i had my own idea, i wasn’t to convinced of it yet. Well, it turned out that most ideas, while nice, where not really convincing to me either, so at some point is just pitched mine. Right after i pitched mine a great idea was pitched and i was like “damn, if i didn’t pitch mine before i’d join that group”. Well i had already pitched it, and since during the group finding phase the guy i talked to earlier came up and joined the team, ididn’t switch horse.

The rest of FridaySlingshot Menu

Now we where just two people, so we had to decide on technology and a few details for the Game. Since we where both experienced with Java, and i had used libgdx before, we decided to build the game as a 2d libgdx based game in java.  Wilhelm and me split the work by him doing the physics, while i’d do graphics, ui, sound, and whatever else was necessary, but first we joined some of my friends in one of the other groups to go for some dinner at an american diner nearby.

After dinner Wilhelm left to get his laptop, while i created the basic project and started to setup the basic application. By the time he was back i had customized the basic libgdx graddle template, added a splash screen (which would also load the game assets). So while he started setting up his development environment (trying to get it to build with Eclipse), i started on the menu.

By the time that i was tired enough to decide to leave, which was arround 2 in the morning, i had the menu done and also a credits screen working. Wilhelm was still trying to get the project to build from his Eclipse environment (Personally i think Eclipse is a pest, and in idea it worked perfectly fine).

When i arrived at home i actually got out the Laptop, and fixed some of the graphics for the credits / menu / splash screen  to work better in a proper solution (so far we had targeted a 800×600 one, which i bumped up to 1280 * 720).

SaturdaySlingshot Credits

Saturday morning, after about 4 hours of sleep  i went to the supermarket, got a few energy drinks, a few sausages and some sweets, and then made my way to the venue where i arrived at about 9:30 +- a few.

I had a bit of breakfast, and then started working on the graphic and sound assets (usually something that i prefer when others do it). So part of my Saturday was actually learning a few things about Photoshop that i didn’t know before, and another part was googling for music that we could use (copyright etc.).

I must confess that in the morning i wasn’t certain if Wilhelm would show up again, i mean i hadn’t gotten his environment to run, i didn’t know him well, and well, he slept quite long, so when he finally arrived it felt like a huge weight lifted from me. Sadly he still didn’t get the Game to build in his environment, and it took him till about 17:00, when he decided to kick out Eclipse and use the same IDE that i used (intellij idea). And all of a sudden stuff was working. Yay.

At the end of Saturday i had added a gamescreen, graphics for the starship, the 3 planets, the sun, added music, added an input manager that allowed to map different types of inputs (allowing to use Xbox 360 Controller as well as keyboard). Wilhelm had the basic physics working, the planets turning around the sun and managed to stop them from falling into each other. He also managed to get some basic real movement going for our ship, opposed to the faked movement i had put in to test the controllers.

When we called it a night we knew we would be able to get most of the things done, but we where also already certain that we would kick out the option to add own size /  weight etc to the game. Balancing that shit while still having it make a difference would have been hell and not possible within the time.

We took the same tram home, and in the tram we talked about making a guide system that allows the player to see in which direction he is really going.

SundaySlingshot Gameplay

Sunday morning i started by building the guidance graphics, and when Wilhelm arrived he started to implement the math that was required to have the guide system to make sense.

I had a bit of a “this can’t be true”-angry hour when i stumbled over some weird behavior of scene2d within libgdx, and the trolls on its IRC channel pointing me to non-existing classes and telling me not to use scene2d didn’t really improve my mood.

When all the guidance stuff was working we split up the rest of the tasks left – adding  a score system, adding a fuel system, adding the end-game conditions. We knew we could make the deadline, and knowing that my mood finally started to improve. Once we where almost done, we where told a few rules about submitting the game, which where different from last year, and required a lot more preparation, so the last hour i spend preparing the Release, while Wilhelm started to fine-tune some of the physics.



we managed to upload in time, just the upload of the youtube video seemed to take ages. once stuff was uploaded we enjoyed a moment that we could take to breathe, and then all of the groups demonstrated their games to each other. It turned out there where some interesting games build, a lot more than i would have expected with the Theme that we had.


Monday i spend the whole day in bed. i got up at around 17:00, went to buy some food, and went to bed again. Somehow game jams can be quite exhausting.

Now that i had some sleep, and some time to think about the impressions that this game jam made on me, i can say it was one of the most fun game jams i have taken part in (despite the theme), i’m really grateful for the folks who have organised & sponsored it, i’m glad i had a good partner for this game jam, maybe learned that i shouldn’t doubt strangers that fast. And believe that from all the game jams i’ve taken part in so far, this one was the one where the time management worked the best.

Can’t wait for the next.

Downloading the Game

you can find a working download here

on most systems, if you have Java installed, a doubleclick on the desktop.jar after extracting the zip file should work – if not (and you have Java installed) you have to go to your command line and run it by “java -jar desktop.jar” within the directory you extracted it to. If you don’t have a Java Runtime installed, well you better do.



What are you playing on the oculus rift…

So it has been a few month now that my Oculus Rift Dev Kit has arrived, and nowadays the most common question in context of the OR that i get is “What are you playing on the Oculus Rift?” I’m going to try to answer this in this Post.

First of all, i did not get the dev kit to spend playing stuff on it. I knew there wouldn’t be many games with support when i ordered it, and i’m not disappointed. And while i have actually played a few games & demos (more about those below) the main purpose of buying a Rift was to learn more about it. I’m a software developer, and even if building stuff for the Rift is not my Job, i wanted to learn more about this impressive technology. So about 70% of the time that i’ve spend with my Rift i did not play games.  That is why i bought a dev kit, and did not wait for a consumer device.

I find it funny when people come to me who have tried my (or someone else’s) oculus rift, try to explain to me that the oculus sucks because of its low resolution, or that the screen-door effect makes it unusable.
Guys, seriously, if you care about resolution, wait for the consumer version, that is the one build for you. The dev kit is so developers have something they can work with, while the consumer device is still in development. The idea is that the Oculus Ready Games will be there, and ready to play shortly before the consumer version is out.

Enough of the ranting, as i already mentioned, not all of the time i’ve spend with theOculus was learning, and i actually want to answer the original question as well.

A note on motion sickness: a lot of people have reported problems with motion sickness (or just feeling bad when under the Rift), some after a very short amount of time, others after an hour or so. Personally i got lucky, i’ve had the rift on for 3 hours and more consecutive, and did not have any problems. Some of the demos, when badly calibrated, feel a bit weird to me, but nothing made me feel sick. I tried a few things out with people who tried my Rift, and reactions where quite differently. One thing quite a few people agreed upon is that games in which you sit in a cockpit, while sitting in your chair in RL work the best and are the most harmless sickness wise, while the worst thing is if your screen is lagging and if the control direction is off a tiny bit. 

EVE: Valkyrie – I bought my Devkit after i had a chance to try out EVE: Valkyrie at the EVE Online Fanfest in Reykjavik. I blogged about that in April. So this was the first impression i got of the oculus rift (which back then was the same model as my dev kit model), and i must say, so far this was the best integrated, most fun game i’ve played on it. I’m hoping that CCP will invite EVE Players who own an Oculus to an Alpha at some point.

War Thunder: probably the game that i’ve played most on the oculus yet. War Thunders integration is sort-of working. It is huge fun to step in a plane (especially with a HOTAS system, i wouldn’t want to fly it with mouse and keyboard while under the Rift).
That said, it still has a lot of Problems: the Menu’s to get to a game are HUGE, and by that i mean you have to put your neck back and far up to see the top of the menu. The advantage of that is that all items in the menu are actually readable (if you look in that direction), but it is not really compfortable. The second problem is that when flying, you don’t get the messages that are usually at the bottom of your screen (who killed who etc.), the chat (which is rarely used for anything important), and worst – your speed, altitude and ammo information.
In those planes that have a cockpit (some planes don’t have one yet) you can at least try to read it from the instruments in the cockpit (which means you need to know how to read those), and i guess that will be a viable option with the higher resolution of the consumer version. But in total this puts you in a huge disadvantage over others.
Last, the oculus view seems to drift, after a round or two i usually have my center-view somewhere to the left of from where it started – not a real problem, i can use the coolie hat on my joystick to manually move my view direction a bit – but annoying.
Still it is fun to play with a rift, and i’m looking forward to see Gajin improve its support.

Team Fortress 2 – Probably the only released game with a good and enjoyable support of the Rift. I don’t like TF2 as a game too much, so i haven’t played it a lot, but the implementation of the Rift support is mostly solid (tutorials font size is unreadable on dev kit, but consumer should be ok), and no one of the people who tried it with my rift had any complaints.

VTFNecropolis - thats a demo based on UDK, which is basically one map of some fine first person shooter gameplay. I like to use VTFnecropolis as one of the demonstrations i’m using if someone wants to try out the Rift – it is a beautiful looking level, you can have some action with the bots, and its timing / calibration seems to work ok for most people. But in the end its a one-level-demo nothing you want to play over and over again

Tuscany Demo  - probably the most common known Oculus demo, a map in unity with a house on it that you can walk around and have a look. I don’t find it too impressive, but in demonstrations its a must since everybody has heard about it, and since most people seem to enjoy it. Also quite well adjusted in timing/calibration.

Ocean Rift – another demo, which puts you on the floor of the ocean, you can walk around and look at a few fishes, sharks etc. very nicely done, bit boring after a while, but a good one to start a demonstration with, since it does not overburden the first-time-rifter with stuff like taking care of controlling much etc.

Museum of the Microstar – yet another demo, this one puts you in a fictive museum over the history of power sources from fossil fuel to a micro star. While the idea is great, and it gives a few nice other use cases of the oculus (visiting museums, educational software etc). This one is one of those that gave most people sickness problems. The timing is not exactly right, and if you fall down (which happens) you end up totally screwing over the calibration.

AaaaaAAaaaAAAaaAAAAaCULUS / AaaaaAAaaaAAAaaAAAAaAAAAA!!! for the Awesome  – i hope i spelled this one right. its an indygame (that you can get through Steam for example) and basically the sequel to “AaaaaAAaaaAAAaaAAAAaAAAAA a reckless disregard for gravity”. You are a base jumper who jumps from a high building and tries to make it safely to floor level while greeting your fans and giving your haters the finger. Certain Stunts give you more points. The game is quite fun, and the oculus makes it better – but for me the abstract graphics kinda don’t allow me to immerse into that world. Still one you want to try out (Google for AaaaaAAaaaAAAaaAAAAaCULUS to find the oculus ready demo).

Strike Suit Zero – to me the most awkward approach to VR with the Oculus. Its a third person giant-robots-in-space shooter. The awkward part? its 3rd person, which is a bit weird with a device like the oculus, and having to look towards your ship/robot to see the heads up display feels even more weird.
That said, its 3d effect is great. I hope they will implement a cockpit view or something else that allows for a first person view.

There are a few more demos i’ve shortly run (but that are too much to name now),
and there are a few games that don’t support the Oculus, but work with Stereoificator or Perception (dll injected opensource tools that add oculus support). I’m not going to go into detail what games i tried there (since those are multiplayer games and i don’t want to be banned from them, (to inject the dlls you have to disable / circumvent the hack protection of some games, since this is one of the vectors you could use to gain unfair advantages like seeing through walls etc.).

I hope i could give you a short overview (of games that i have played and) of the state of games / demos which are currently available for the Oculus Rift.

Personally i can see a lot of potential in this, and i’m looking forward to see the consumer version, and some of the games that are in development and have not yet released a demo.

PS: my own development is going forward, i’m having the right shaders and double cameras in my engine now (not using unity, but my own MonoGame based one), but its far from being something to show (the head tracking is not working yet, the engine is currently not rendering the skins of the objects within it (unrelated to rift), and the sizes (and the distance between the two eyes) are not correct yet (the getting the sizes right part is a bitch atm (since i have not cared about how much is a meter in my projections before), if you don’t it just looks weird)


Get every new post delivered to your Inbox.