Stolen Resident Evil Asset

A user just sent me this cool free 3D prefab for CopperCube:

stolen resident evil castle model

Pretty cool, right? But obviously, that's an asset stolen from the Resident Evil game. Not sure what the motivation for sending this in could be. Malice? Ignorance? Simply not knowing it any better? Not sure.

Struggling with mail support

I once blogged about the steadily degrading quality of support requests I get. Years ago, they would be like
I now tried to get this work myself for days, maybe you could help me with this?
And now they are usually
This is shit, WTF, give me a refund now!
But sometimes I also get requests with long, long confusing texts, where I am struggling to understand what the problem is and what the user actually wants from me. They usually also don't mention which software this is about (I'm developing quite a few products) and in not rare cases, the mail is marked as "important". I just received one of these again, where the text is barely readable, full of typing errors, half sentences and full of accusations. I'm not sure what to make of these. So I tried to answer it with this:
I'm not sure if I understood you correctly. Did you maybe write this text in another language and let it translate by a machine? If so, just write it in your language, I know quite a lot of foreign languages, it is easier to read then. (Followed by a list of guesses I made about the problem and software he may have, with potential solutions)
Because that's the only explanation I have for mails like these. But let's see, maybe there is another, better explanation. Now I'm waiting for the answer.

PostCollapse 1.08

I just uploaded PostCollapse 1.08 to Steam. This update includes the changes with the new 3D tree models. The game is far from being good loocking, but I think it is much better now. I also stumbled upon an older screenshot from the game, which of these do you think is the new version? :D

I also added a way for the game to detect crashes and to ask the user if he wants to reset the settings to defaults once this was detected. I'll be working on shadows now, since this also will be the D3D prototype for the next CopperCube game engine update.

Working on Trees

Last weekend, I tried to improve the trees in PostCollapse. The current ones are procedurally generated and ugly, which made sense when the game still was written in Javascript and WebGL, in order to keep down the amount of data needed to be downloaded from the server. But since it is now a C++ written Windows game, it makes sense to replace them with proper trees. My result looks like this so far:

There is still room for improvements, but I like it so far. Unfortunately, the game will now run a bit slower, since the trees now also have about 4 times the amount of polygons to draw, but maybe I can squeeze out a few more frames from other parts of the game.

Fast WebGL Shadowmaps for Big Scenes

Creating fast realtime 3D scenes with shadows in WebGL isn't that easy: Implementing shadow maps is surprisingly simple, but making them work for big, dynamic and complex scenes is a bit harder.

I made the first step into that direction by adding a simple cascade shadow map renderer to CopperLicht, the open source WebGL JavaScript library. The implementation is focused on speed: The shadows won't look that nice, but they are robust for the full scene and a (relatively) high framerate is kept.
Try it out yourself:

(Click into the image. Move with cursor keys and run by holding shift)

You can also Run this fullscreen in a new tab.

The just released version 1.13 of CopperLicht now includes this feature, you just need to set

scene.ShadowMappingEnabled = true;

...and it will work. You might want to tweak some of the shadow parameters like ShadowMapBias and ShadowMapCameraViewDetailFactor to make them look more nicely for your scene.

If you look closer in the demo, you'll notice that shadows in the distance won't have very high details, but shadows close to the camera have. That's because I've used a cascade shadow map approach with just two levels of shadow maps: One for the shadows close to the camera, and one for the ones in the distance. You can adjust how the shadows are drawn, like which resolution they'll have and what 'close' means. If your scene is a smaller one, then the shadows will have more details as well.

It's the first time I've been using shadow maps anywhere in my code, so I guess I'll find a lot of places where to optmize this still a bit for speed, but for now, it's quite ok, I think. I'll port this feature to other platforms too in the near future and make it available in the CopperCube game engine as well then.

RocketCake 1.4 released

I just uploaded RocketCake version 1.4, the free responsive website builder I am working on.

There are some quite nice new features in this update, including faster website upload, built-in automatic image resizing, a new 'static' gallery mode, improved image quality, a smart quote filter for the MacOs users, and a lot more. You can see a detailed list here.

The editor is getting better and better each update. And I am learning a lot while building it. Still, I am happy about any kind of constructive feedback. Hope you like it!

PostCollapse version 1.06

I just uploaded PostCollapse version 1.06 to Steam, which includes some cool new features:

A new game mode ('Hardcore', which is more difficult, realistic and boring at the same time), churches, nicer houses, nicer house interior (furniture), new music and more. Hope you like it!

The Chrome 55 Video Download Button and How to Remove it

Since Chrome 55 is out, it now shows a download button for HTML 5 video and audio tags in the control bar:

This is a big issue for a surprising amount of users of my free responsive Website Designer RocketCake. I got a ton of support mails, asking me for a way to disable this. Understandable, making it extremely easy for an average person to download a video reduces the amount of people visiting your site for that video.

Here is a way to disable the download button on your page: Insert this CSS code into the style section of your header, or in RocketCake, use "View -> HTML Code of the Page -> Additional CSS Styles" and paste it there:

video::-webkit-media-controls { overflow: hidden !important }
video::-webkit-media-controls-enclosure { width: calc(100% + 32px); margin-left: auto; }

How does this work? The Chrome devs haven't provided an official way to disable or the button, unfortunately. It's HTML internally, but you cannot access the individual buttons using CSS. But, since the button is the last one of the control bar, you can make the control bar shorter, hiding that button. Not nice, not future prove, but it works for now.

I hope the Chrome developers will introduce a feature for removing this again. The bug tracker issue can be found here, if you like to add a comment.

Generated Furniture vs. Placed Models

In PostCollapse, the world is generated procedurally, including the furniture inside the houses. For simplicity, I simply generated cubes with some textures on them, which looked a bit like cupboards:

But to be honest, this didn't look and feel very good. So last weekend, I played a bit around and changed this with placed pregenerated 3D models instead. Now the interiours of the houses will look much better (for small values of 'better'):

The two screenshots are from the exact same room. I think I'll be able to live with that. I'll improve this still a bit, and then this will be included in the next update of the game.


I don't think I like the auto suggestions of reddit's advertising system:

Looking at it, it seems to be even a real non-joke subreddit. Still not really my target audience. :D