The craziness of developing a WYSIWYG web editor in 2019

For a few years now, I'm developing a free WYSIWYG website designer named RocketCake, which is modestly successful: I estimate a high five digit number of people actively using it today.

I don't earn very much from it (there is a 'Pro' version which you can buy to support development of the editor) but it is enough to continue doing this besides my other projects, and I enjoy that.

I've learned a ton of unusual things while working on it - like there are still web servers out there choking on double file extensions or browsers on specific unicode characters. I've read and implemented quite a lot parts of the HTML and CSS specifications, and became a fan of the wording "The exact algorithm is not defined" - which today roughly translates to "figure out yourself how Chrome does it and copy that".

But one of the most interesting things is the controversy the editor seems to cause, when people notice that it exists at all. Here are some direct quotes from mails I received in the last 3 years:

"Go back to 1995 to where your software belongs"

"Nobody needs your [swear words here] Rocketacke (sic), I can code HTML myself, thank you!!"

"WYSIWYG editors are for amateurs! Just use Visual Studio Code"

And similar.
What makes this so outstanding is that some people even take the time to write this to me. As if they are somehow personally offended. I'm not sure why.

Of course, and fortunately, there are a lot of people not thinking this way. RocketCake is one of the few pieces of software I created where people send me tons of constructive feedback and friendly feature requests, which makes it pleasant to work on.

It is also very interesting that you have to catch up with the current trends and designs of web development, even if you just create a generic blown up text editor, basically: You need to adjust defaults and templates all the time. People wanted tables with shadows, then gradients everywhere, then rounded corners, then flat stuff (and god-no, no shadows!), then shadows again, but different ones, and giant font sizes with giant line heights. Everytime you make a release with up-to-date defaults, it looks like the next trend is just around the corner.

Together with the game engine I'm developing, this is one of the more challenging pieces of software I've been spending my time with. I know, a WYSIWYG web editor is not the trendiest technology, but as long as it is useful to people, I'm going to continue working on it.

Although it seems to appear crazy to apparently a couple of people.

Switching to an Electric Car

I did it. I just switched to an electric car.

And now after driving it for a couple of hundred KMs, I think "Why haven't I done this earlier?". It's great, and the shortcomings I feared there where are actually non-issues.

I didn't get a Tesla since they are a bit expensive for my taste (although I like them), and there are lots of good cheaper electric cars out there. Like the Nissan Leaf, Renault ZOE or Hyndai Ioniq (I chose the latter).

Here are some things I learned about all this, which maybe might help you if you are thinking about switching too:

Getting the Car
I live in the area around Vienna, which is the area with the highest density of electric cars in Austria. Nevertheless, when I went to the dealer and told them I want that Ioniq Electric, they asked me multiple times if I am sure, and if this is for me as private person. The dealers didn't seem to know much about any of the technical details like the polymer battery, temperature management or other features. Which was a bit of a let-down. Electric cars seem to be still a bit exotic even for the dealers.
But I also noticed that there seems to be slowly building up a market for used electric cars, which is very nice, so this is more and more and option now, too.

First thing I noticed is that you just have to treat the car like a big smartphone. Wherever you are, just plug it into the next socket or charging station. Just like you do with your phone. Long charging times are not a problem, since you nearly never drive it until the battery is empty. And for long range travel, for the Ioniq at least, you can actually recharge it within just 20 minutes at a fast charger. Which is faster than my kids take to get out of the car, to the restroom and back again.

Charging cables and wall boxes are surprisingly expensive. A type 2 cable costs 250€, and a wall box around 1000€. You don't need those, but they make your life easier, and they are just a one-time investment, so I think they are worth it.

Charging Network
When driving around, you sometimes need to charge at EV charging stations, and there are tons and tons of networks to choose from, even in such a small country like Austria. There are 12 large networks and a lot of smaller additional ones. You need a card or app with account for each of them to charge at their stations, which is confusing and stupidly complex. Recently, most of them have started cooperations, so you can use a card of one provider at the station of another one, but it still is confusing with the tariffs, and you never 100% know if it will work. Not sure why they just simply don't take debit or credit cards as payment method, just like every gas station or shop on this planet.

I still have to accumulate a lot more experience, this was just what I noticed within the first days of having the car. But I really had a very positive experience so far. I'll probably post an update in a few weeks.

Creating a Tycoon Game Part 4 - UI and dialogs

I am developing a game named Business Magnate. This post is part 4 of its development blog (other parts: part 1, part 2, part 3)

One of the most time intensive parts of creating tycoon games or simulation games in general is also the most boring part: User interface. It is hard because the user interface needs to be functional, good looking and easy to understand at the same time.

And in addition, for the type of game I am working on: It needs to be able to update itself in realtime - everything can change while the dialog is open - and it needs to be able to do this quickly, without much framedrop. All togehter, this is a terrible, terrible combination.

Nevertheless, Business Magnate has a total of 23 dialogs (including subdialogs) like this. I am quite happy that - as user tests reveal - most of them seem to be very easy to use and understand, but I think I could still improve some of them. But on a side-note: If I ever mention that I want to write another game like this with that amount of UI - please someone shoot me.

I also had to add another, quite interesting feature, related to UI: When I played through the game the first time with a "Rockets" business type, I was so busy adjusting production settings, doing marketing and research, ordering materials and so on, that I never had the time to watch my rockets take off, although I really wanted to. I simply always missed the rocket launches. So I implemented this thing here:

This looks like a simple message box, easy to add, right? It is actually a bit harder: The game needs to detect that you won't see the launch - maybe because you are busy in a dialog, have a too fast gameplay speed or watching somewhere else, and only THEN ask for this. Then it needs to be able to scroll and zoom to the right place, and it also needs a setting in the options so that you can turn this feature off if you think it is too annoying.
But after all this, it was worth implementing this: Watching the rockets you designed, marketed and sold, lift off into space is quite a reward - I wished there was a similar event for other business types such as cars.

Anyway, the game is now nearly finished already and will release in less than 4 weeks on steam. I hope that everything will work out until then. A lot of testing still has to be done.

If you are interested in the game, you can subscribe to the newsletter on the game's website, or follow me on twitter. Or wishlist here:

Happy new year!

I wish all the readers of this blog a happy new year! May you be successful and have fun in 2019!

Also, as the tradition demands, I give away my software for a big discount, for a short amount of time: The ambiera new year sale is running again, currently. There is for example RocketCake 2 for -50% and CopperCube 6 for -30%, so there is something in for you too, maybe.

CopperCube 6 Pro Steam Sale

Today is the first sale of CopperCube 6 on Steam:

It is still basically free, but if you want to support CopperCube, you can buy the Pro or Studio edition (a DLC on Steam), now with a -30% discount for a few days.

If you already own CopperCube 5 Pro, there is also a Steam bundle which makes it even a bit more cheaper for you.

Creating a Tycoon Game Part 3 - Rockets and Particle Systems

I am developing a game named Business Magnate. This post is part 3 of its development blog (other parts: part 1, part 2).

I programmed a lot of particle systems in my life, but when I started implementing the game engine for Business Magnate I wasn't aware that I would need one for that game, too. It is a tycoon game, after all. But what was I thinking, of course I need one. Besides other types of businesses, you can create space companies in that game, and launch rockets into space. Rocket engines produce fire and smoke, so - yes - of course I need a particle system. So this was what I came up with:

It might need a few adjustments, but it is looking ok so far, I think. It works like this: Each particle is a structure in an array and has an image and a position, movement speed, and lifetime assigned to it. Every frame, each particle is moved and animated (faded out based on its lifetime, in that case):

void animateParticles(timeDelta)
  for (i=0; i<Particles.length; )
	var p = Particles[i];
	if (p.TimeToDelete < timenow)
		Particles.erase(i); // delete particle		
		// move particle
		p.X += timeDelta * p.SpeedX;
		p.Y += timeDelta * p.SpeedY;

All particle systems I wrote so far were in 3D, but 2D ones are the same, only the Z component is missing. I probably will have to adjust the position of the fire a bit for the different types of rockets, but I think for a business game, they look ok so far.

Another thing which you might have spotted on the .gif above is this:

There is a car moving in there. I originally wasn't sure if the game would have animated cars, but I decided that it would be much nicer with them. The Minibus you can spot in that gif is the first attempt at making this work, too. I'll likely write more about that next time.

Business wise: The game has a Steam page for a few days already, and it is possible to wishlist it on Steam. A handful of people aleardy did, which is very nice. But the Steam community forum is quite empty so far. Nobody seemed to have an interesting question about the game so far on steam, not sure why. Hope it is because the trailer answers all questions already. :)

If you like the game, you can subscribe to the newsletter on the game's website, or follow me on twitter.

RocketCake 2.2 - Mojave troubles fixed

I just uploaded version 2.2 of RocketCake, the free responsive website editor I am developing:

I had to push this out because some people sometimes had problems with the editor UI not working at all: Sometimes, ComboBoxes and sliders simply wouldn't work at all. I bought a new Mac Mini among other things too be able to reproduce and fix this problem, and after many tries, somehow, finally RocketCake behaved exactly the same as reported by some people. Still not exactly sure if this was the reason, but I was able to fix this behavior by rebuilding a few underlying libraries, linking with a newer MacSDK, and making RocketCake stricktly 64 bit only for macOS.

It's a bit scary, though. Especially since this only happened on Mojave and the app works perfectly on all previous 6 versions. Hope Apple will test their OS a bit more before shipping it in the future.

First Gameplay Video

I just created a small gameplay video of Business Magnate, I think it shows a bit better how the game will play like:

Any feedback is welcome.

Also, there is now a steam page for the game. So you can put it on your Steam wishlist, if you like:

Also, if you want to help, you can upvote the tags of the game on the steam page.

Changed the name of the game

Some friendly people let me know that the planned name for my next game, which was "Business Builder" probably wasn't a very good choice: There is a mobile game which has a similar name, although not the same one. That's also why I overlooked this. Still, unfortunate. I could go on using "Business Builder", since it is not the same, but to avoid confusion and because the game is still in development, a change of name is a good idea.

So I changed the name, and "Business Builder" will now be named "Business Magnate".

Website and logos are already converted, and I think although that new name is a bit more complicated, it better tells you what the game will be exactly about.

Mac Mini 2018

I just received a new Mac Mini from Apple. The new one is black. Looks interesting, compared to the three older generations:

Starting it up, it is surprisingly fast (especially compared to the older versions), only that default "natural" mouse wheel scrolling (which is inverted) was annoying. It only has two 'normal' USB ports, the remaining other 4 ports are USB-C, so I guess I need to invest in a few adapters. Another change: The power adapter is now internal, as it seems. It only has a simple cable connecting to the mac. All my older macs have external ones.

So yay, going to write better macOS versions of my Software in the future.