Today I want to talk about my switch recently from OSX to Windows 10 as development environment or better said from Macbook Pro to Microsoft Surface Book 2.
Why should I switch at all?
As you all know game development, especially with engines like Unreal Engine 4, need a good amount of performance. I ran into some problem with my old MacBook 13″ early 2015 it wasn’t able to handle that mighty engine very well. So I thought about buying a new Notebook. I work as a freelancer sometimes, so I want to stick to a Notebook instead of just buying a Desktop. Of course my first thought was to just upgrade my MacBook to a newer one. I checked out the configurations available for the new MacBook. I will have to get a 15″ MacBook, if I want the best hardware. I was really happy with my 13″ MacBook, because it was very light and portable. I really disliked that the new MacBook comes with this new touch bar, that I will never use and I don’t get the sense of it at all. The second point I really disliked was the new flatened keyboard. That said I started researching, if there are any alternatives and I found one, which fit my needs: The Microsoft Surface Book 2. It comes with a better hardware than the MacBook, has a touchscreen and is very flexibel, since you can use it as Tablet or Notebook. This makes the Surface especially good for developing for mobile platforms. You don’t need to upload every build to your phone to test touch gestures etc. another very cool advantage is: You can actually play games on the Surface very well. In the end there was one very big counter argument for the Surface – I have to use Windows 10 for development. I think I have been working on OSX for more than 5 years now and I am very used to my work environment. Nevertheless I try to overcome my comfort zone and give it a shot.
Working with Windows 10 First steps
As I said the biggest challenge is to actual work efficient with Windows 10. I always used Windows for gaming, so I am not totally unaware of Windows as os, but for development I never used it before.
First I missed my zsh shell, since I am really used to bash or zsh with my OSX / Linux history in development. I was really amazed, that the windows 10 creators update introduce a Linux subsystem called WSL. Now we are able to use a Linux with Windows 10 and the best thing about it: It isn’t a virtual machine or something it works with the original kernel, but somehow integrated in Windows. Actually you can do everything in Linux even starting gnome GUI things etc. I installed Ubuntu on my Windows 10, because I couldn’t find any Arch Linux for Windows yet. The shell and all development tools like NodeJS, Python etc. works as expected, the only flaw about WSL is that the Filesystem is quite slow, even slower than on Virtualbox. But there are some tweaks to get at least an acceptable performance. Check it out here https://medium.com/@leandrw/speeding-up-wsl-i-o-up-than-5x-fast-saving-a-lot-of-battery-life-cpu-usage-c3537dd03c74
Second point is the feeling of Windows. I felt very at home on OSX, most things run very smooth and ran out of the box or wasn’t supported. On Windows there are few minor things, which aren’t behave the same way like on OSX and that annoys me quite a lot. For example the scrolling with the touch pad doesn’t feel as smooth as it feels on OSX. Working with multiple desktops, which I do quite a lot, luckily works on Windows, but there aren’t shortcuts to jump to a specific desktop. There are also no options to assign applications to a specific display or desktop at least as far as I know.
Third point: The software isn’t on a quality level like OSX. On OSX I used the builtin software for mail, calendar and could easily synchronize it with my google account and everything worked as expected. On Windows I started with Mail and had all the same features and everything worked flawless until I realized that Mail has no possibility to add a html signature. So I upgraded to Outlook 2016, because I thought the premium software included with Office 365 would have the same features plus additional features like html signature. Not even close, yes Outlook offers the possibility for html signature, but I couldn’t add my google account, since it is an application with lesser security. Also I needed to add a special plugin to have calendar synchronization possible. This was really annoying and I don’t understand why the Mail App, which is for free, had those functionalities and Outlook 2016, where you have to buy, doesn’t?
The Surface Book 2 is definitely a very cool Notebook and I like it as much or even more than I liked my MacBook. The Tablet mode is quite interesting, even if I haven’t figured out yet how to work with it in a efficient or proper way, its more like playing around at the moment. As mentioned the only flaw at the moment is to getting used to working with Windows and get everything setup like I am used to it. Of course software like Unity, Godot, Photoshop behave the same, but always differ in shortcuts. It feels quite wrong at the moment, most of my shortcuts I have in mind don’t work anymore etc. But I am still willing to adjust myself and get used to it. At the moment I would say, if you are used to Windows the Surface Book 2 is a very good choice for development. If you switch from OSX it has his downsides, caused by the software, but you can get used to it.
today I want to write about a more technical / marketing topic. I recently started to make a plan for marketing my games Timbertales and FlatFatCat. One of the first steps included in this plan was to message YouTubers, which actually covered similar games to mine.
My first approach was quite simple: I thought about a fitting search term and searched on YouTube. On the results page I just clicked through the channels and gathered the most relevant informations: Name, Subscriber number, Link to channel and Email address if provided. After filling my excel sheet and having round about 40 entries I thought “Man this is kind a exhausting and there must be a better method”.
Using the YouTube Data API
After googling for some better methods I came across the YouTube Data API. Luckily I already have some projects, which could be used for the YouTube Data API. So I registered Timbertales for the API. I was able to find a library for NodeJs written and maintained by google itself called “googleapis“. So with a small setup I am now able to send requests to the YouTube API and gather the required data. Unfortunately I wasn’t yet able to fetch the email address out of the channel details and I am not even sure if it is possible at all. If someone knows more about it I would appreciate your comment a lot! Nevertheless even with taking care of the email address manually I am much faster now in gathering relevant YouTubers than ever before. I can just search for a specific game and my script will fill a file with all relevant informations. After that I just gather the email address, if provided, manually.
I hope I could give you a small insight and may be you are interested in the script itself, if this is the case just comment or leave a message and I will write another part with the script included.
for about 2 weeks I am now working for AboutYou in Hamburg / Germany. Who not knows this company it is a fashion web store, which is quite popular in Germany. The workspaces are very modern, the team and its structure is really nice. Unfortunately it hasn’t that much to do with games, but anyhow it is a paid project job for at least 3 months and it allows me to get some distance from my projects. The income will help a lot to push my projects further and having more options such as paid artists etc. The downside is of course, that within the next three months I can’t update very much, since I am working as a full time freelancer.
Rainware – How does it continue?
Nevertheless, today I would love to share at least some ideas I came up with. So even if I can’t spend much time on my projects I have the possibility to rethink and plan the further course of Rainware. First of all I want to continue making games for at least one more project. With all the gathered experience within the last two years I need to make another one. The question is what kind of project will be the next one and when I can start with it.
New game project idea
A 3D remake of the game “Mega lo mania” or “Tyrants“, which was the game name in the US. It was actual the first strategy game I ever played, even before hits like Dune II completely got me, and for me it was the game, which made me loving RTS games. As a tribute and of course because the game was fucking awesome I would like to make a newer version out of it. As a challenge and personal improvement I want to enter a new area: “3D”. I will stick to Unity as engine as far as I can tell you for now. The modelling will be done in Maya by myself. It won’t be an easy task at all, but I am very motivated and can’t wait to get started and keep you informed about the progress.
But first things first I have to finish the freelance job to refocus completely on game development. This sets the start date for development to May, but there is actually already some work in progress. I am preparing the GDD and analyse the market, technologies etc. I will come up with more informations within the next blog post, which will focus around the new game project / idea.
today I want to write a bit about my mistakes in the last two years. Some things I know better today other things were known, but I ignored them somehow. At least I got a lot of experience in two years and I will try to improve in the future. So let’s start with my 5 biggest mistakes “by now”.
1. Timbertales was a way too big project to start with as Indie game developer
This one is very special. In general you will often read don’t start too big etc. I also read those lists before I started to become an Indie developer. Nevertheless my first project was too big. The reason for this is simple. I already had written the backend for Timbertales years ago. With those pieces of code and a whole working server my thoughts were “More than half of the project is already done” – It wasn’t. I didn’t even do proper project planing on my first title or estimations, because I wanted to start programming as soon as possible. Lots of the features were implemented while programming and without any planing. So today I would advice to everyone -> Do proper planing, have a game design document with all your features and stay focused!
2. I wanted to reach out for a too big audience
My reason to develop games with libGDX was to distribute my releases cross platform. Thats not a problem at all, but you should have in mind, that mobile players are different from pc gamers and the chances are very low, that you will create a game, which perfectly fits on both platforms. Also you shouldn’t underestimate the maintenance time for different versions, even if you are using cross platform frameworks. Especially things like Facebook Login or In App purchases working different on different platforms and you will have to implement them native or with a 3rd party lib. Then you have to build various release versions and maintain different store entries etc. I think you get the point as a single indie developer time is always a matter and waiting for reviews or upload 25 different screenshots with different resolutions (iPhone, iPad, android tablet 7″, 10″etc) will just cost you time without anything in return. For example on Timbertales I uploaded it to itch, Steam, Android, iOS and Amazon. I should have focused on 1 or 2 platforms, since the download numbers weren’t any good at Amazon for example.
3. Creating games with revenue in mind
After I realised Timbertales will not cover my development costs. I had the problem, that I will run out of money within the next months. So I came up with FlatFatCat. The problem with the concept of FlatFatCat was, that it was created with revenue in mind. I wanted to create a game, which would cover my development costs and so I lost the biggest motivation for us Indies – Passion. An Indie game without passion can’t be successful at all, thats what indie game stands for!
4. Shifting to a platform without the knowledge to market your game
Somehow with FlatFatCat and Space Unicorns I targeted the mobile market, but I am not at home at the mobile market. I dislike to play on my smartphone in my spare time. I am a core pc and console gamer. Unfortunately FlatFatCat and Space Unicorns directed into a wrong direction and to a market, where I don’t have much knowledge and experience. I liked the development for mobile, but thats not enough to market a game successful. As a pc core gamer I should have sticked to the pc / console market, since you are your best customer! If you wouldn’t buy your game, why should anyone else do it?
5. A way to generell marketing without reaching the right audience
My approach here was to reach out for the biggest audience possible without making any thoughts about, who would play my games. I just went for the masses, but what I missed was: There are a lot of other games, which will do better than mine and you can’t compete with them. So try to place yourself in a niche and do the best marketing there. Marketing is always a hassle for me, but I think it is a lot better to hype your product in the right audiences instead of trying to reach to big presses or reviewers, which will just ignore you.
Thank you for reading! I am looking forward to your comments, questions and feedback. I hope you can avoid some of the mistakes, but I also think that mistakes are needed for improvement.
First of all as disclaimer: I just talk about my experience with the two games I have released. Nevertheless I spend quite a lot time and effort in these two games and I think my situation is suitable for a lot of other indie developers too. Of course there are success stories and there are exceptional cases, but for me mobile not paid out yet. I invested a lot of time lately into social features, user engagement and retention, but nothing showed great results yet.
So let us start and just judge this as a general advice from an indie developer, who made some first hand experience.
Motivation and Vision
Let me talk a bit about my vision and my both games I came up with first. I founded Rainware two years ago and I decided to stick to libGDX for game development. Distribution should happen on cross platforms, this includes Android, iOS, Amazon and Desktop (osx, windows, linux). My idea is to develop cross platform games to reach more players on different platforms. Today I am certain that focusing on a niche is much more rewarding as an indie, than trying to get the biggest audience possible. It is nearly impossible to create a game which fits mobile and pc, since both audiences are so different in behavior.
A fun fact: I focused with Flat Fat Cat Bounce on mobile devices and optimized it for mobile controls. I sold a lot more copies on steam than I had in app purchases on mobile. In the end I could say that my mobile version completely sucked and I wasted a lot of money and earned a lot less money than on steam, where I did not invest anything except the initial fee.
My mobile games
But first things first. My first game was Timbertales a turn based strategy game in a nature setting. Timbertales was planned as a pc game, but within the capabilities of libGDX to support mobile I switched during the development to make it work on mobile too and focused a lot on mobile controls. Afterwards I know that this was a crucial misstep, because I lost my focus on pc gamers, so they had less interest in the game at all. The game wasn’t initial designed for mobile so it lacks of an audience there. By that I mean it is more a core game than a casual game.
My second game was Flat Fat Cat Bounce it was planned as a much smaller project and it had a really strong mobile focus. I wanted to create a small game for mobile devices, which should be very addictive and generate some money. As you all know as an indie developer money is always a big issue. After the development of Timbertales I spent all my budget and I had to earn money somehow. In my foolishness I thought it would be an easy task to create a simple mobile game and earn from it. Today I know I shouldn’t have spend a single minute on any mobile related game at first.
So what is the problem with mobile stores?
I read a lot about the mobile market before I developed Flat Fat Cat Bounce, but of course I thought I could do better than others. In the end I wasted a lot of time and money. I earned maybe around 40$ in half a year with in app purchases and spend months to develop the game and invested around 5.000$ into marketing without any success. Let me tell you why – The mobile market or better said the Google Play Store is such a hard business, where a very few earn money and a lot of devs invest money. In first place Google benefits the most of course. They earn from every ad you pay. They receive their percentage for every in app purchase and they don’t care about any of the games. I had a direct contact with Google Germany and they created a marketing plan with budget for me. I paid more money in 10 days than I would spend for living for 2-3 months and meanwhile all installs I received are gone. Of course a part of the problem is that my game isn’t good enough, but the point is Google doesn’t care about that they already have my money.
Another big problem on mobile is to generate a fan base or community. Mobile players differ a lot from pc gamers. They don’t care about you or your indie studio. If you do a match 3 game you have to compete with Candy Crush for example and the player don’t care if you work alone or have a big studio and a lot of budget. They just want to play games for free and if they are not funny enough after some minutes of gameplay they will delete it and play the next one. There are so much games to choose from, why should your game become the next hit? They don’t care about your time you invested into development nor your story you want to tell. The search rankings in Play Store or Apple Store is my next point. There are thousands of games in these stores. I don’t think I tell you something new here. You have to compete with all of those games, because as an indie without any marketing budget your only way to get seen is by being searched in the stores. That your game will have a good ranking is nearly impossible, because it depends on your ASO, which is hardly related to the success of your game. In the end this means if you have only a few downloads / reviews you can ASO your heart out – Nobody will find your game!
Exceptional cases and conclusion
So in my opinion you could have good reasons to enter the mobile market or just think what does he know about me, but you should think a lot about it. If you have a brand, a huge fan base / community or an already running pc game which is quite successful – it could be a good decision! Of course another exception would be if you have publisher and you are not publishing by yourself.
In mostly all other scenarios I would not try again to release something for mobile market and I will stick to pc / console market in future. PC gamers care a lot more about you as a person and the game. I think the biggest advantage of being indie is to sell yourself as a person. I talked a lot to other game developers or players and all of them where quite impressed that I did everything myself. Publishing, Development, Marketing etc. and with this story I have the possibility to build up a community on platforms like steam and they maybe become fans of my products.
Do you have any similar experience, comments or question? Please don’t hesitate to share your opinion
Lets get right into it with the new version of Flat Fat Cat Bounce I did a lot of changes. I want to introduce the major changes now and explain a little bit about the decisions.
1. Animated Menu
As a first step of a feature I planned for the future I animated the main menu. I know most of you won’t have spend too much time in the main menu, thats why we want to introduce another feature in the near future to set more focus to the main menu. Just as a little hint you will be able to feed your cat and customize the room 🙂
2. UI Remastered
The old windows and interface lack a bit of quality, animations and layouting. I wanted to improve the whole expierence while you are in the menu, on the shop or looking through the map. I improved nearly all dialogs, windows and other UI elements. There are plenty of new animations and new window layouts. I hope the effort worth it and you like the new design just as much as I do.
3. Watch your stars
Did you ever thought while accomplishing a level – Was I fast enough to reach 3 stars? To have a much better overview about how many time left or how fast I have to be to earn 3 stars. I introduced a new UI element in game. This will help you to track time and stars while playing through the levels.
4. New effects
To improve the contrast of different szenes I implemented a new sepia shader, which greys out the background if any dialog is shown. We also changed the matching effect of two cats from hearts to stars and make it a bit more visible.
5. Improved scolling
It is so annoying to scroll the whole map with the slow scroll speed. So I finally implemented the fling to scroll over the map how to should be since start of FlatFatCat. With this small feature navigation around the map should be much easier.
6. Graphics improved
I wasn’t very happy with the old dialogs and menu. So I came up with this new UI graphics. In my opinion they fit much better into the game and are really good looking. Nearly every UI element was touched and changed. There is a lot of new graphics to explore!
7. New sounds
Some sounds were a bit annoying or just not fitting into the game. I changed the dissolve sound from the meow to a more success based sound effect. Also the winning sound changed a bit to make it less annoying.
I hope you all enjoy the new features and appreciate them that much as I do. I really like Flat Fat Cat Bounce and would love to invest even more time into it and release a lot more new features! Nevertheless now the time for new players and a lot of marketing has come. Please leave your comments below and subscribe to this blog.
After the release of the latest patch for Timbertales it is time for a new game project. I gathered the required budget and already created a full concept for the new game project. I will shift my focus a little bit, but first let us speak about Timbertales and FlatFatCat.
The Version 1.3.0 improved a lot of the graphical interface and I am quite happy with the changes. Additional we added a new version to itch.io, I updated the version of Timbertales on Steam and I updated the mobile version on Google Play Store and Apple Store. Now, it is time to wait for user feedback to finally build the full release candidate. Since Timbertales is still in early access, I will gather more feedback over the time the third project will be developed. So I can take a look afterwards in which way Timbertales will be improved for the final release. If you haven’t already check out the new promotion trailer:
This game is a little bit harder to describe. Actually I like the game very much and I think we created a very cool game, which is a lot of fun and offers a lot of levels and diversion. Unfortunately it didn’t hit on the market as expected. The main reason for that is the lack of marketing budget in my opionion. The mobile market is quite hard and you need to create a buzz around your game to actually get some downloads. Otherwise your game is lost as many other good games in the void of the app stores. The steam version of FlatFatCat wasn’t performing as good as expected, since the game was fully planned for mobile devices. So in the end we will leave FlatFatCat as it is for now – willing to commit some budget in marketing in the near future.
Shifting focus of Rainware
As I said before I want to realign the focus of our games. With the experience made with FlatFatCat, I made the decision to avoid the mobile market and focus fully on core games. The vision needs to be “Creating games – I will play” that said of course I like Timbertales and FlatFatCat and I am also very proud, that I could release them, but I am a PC gamer since ages and love other types of games. Also the release platforms will change. Of course there will be Steam for PC, but I also want to extend to itch.io and GoG as well as I want to enter the console market including Xbox and PlayStation. (Nintendo switch would be a dream as well :))
Reveal Project III
Last but not least I will give you a small insight for the next project. What can you expect? We plan to create a game mixed with well known Moba aspects in a sandbox type of game. This also includes a lot of gathering, fighting, collecting and crafting. There will be rpg parts as well. This time we will have our first 3D game in an very atmospheric environment. Stay tuned for the next blog entries. We will update you with everything related to the new project and keep you updated about the development progress. The project is scheduled for at least 6 months.
Thanks for reading. Leave your questions or feedback!
I am proud to announce a new patch for Timbertales. This patch includes a lot of graphical improvements and replaces a lot of placeholders in the game. This patch is one of the first steps directing to the full release of Timbertales. Unfortunately I haven’t received much feedback about Timbertales within the last months, I would appreciate that a lot. This would allow me to further improve Timbertales and bring it to a full release. Nevertheless here are the change with 1.3.0:
Replaced a lot of text with more fitting icons or shorter text
Improved Multiplayer screen
Improved Challenge screen
Improved Loading screen
Improved profile screen
Improved game interface
Improved Popups, layouts and font colors
Improved exchange screen (android, ios)
Improved credits screen
Improved ranking screen
Improved mission overview
Added exit button in main menu
New Input fields
Windows and tabs were improved
Removed lots of unused assets and files
Added window animations
And many more small changes to layouts, assets etc. You will explore a whole new interface experience. I also plan to rework some of the units and animations in the near future. I would love to invest more time into the game, but I will need some feedback.
This is Day 2 of “Switching from libGDX to Unreal Engine 4”. Today I made some progress… yeah! But first I just wanted to announce that FlatFatCat is finally available on Steam. This was the reason why I hadn’t any time to make any progress in Unreal Engine4 the last days. Sorry for all daily followers, if something like that exists 🙂 Since it was necessary to fix some bugs in FlatFatCat and port the code to desktop platform. Anyhow today I went back to the topic Unreal Engine 4.
Taking Babysteps to achieve easy stuff
My progress is still very slowly, but at least I made something. First of all I was able to spawn some actors by c++ code. I was really proud. After the weekend, I tried to reload my project … and it was broken somehow. So Unreal Engine got stuck at 71% and loads forever. I couldn’t really understand why. So I had chosen another approach. Since I am not very familiar with the Blueprint stuff and I found a book with the title “Develop games with Blueprints and Unreal Engine 4” I decided to give it a try. After some reading I created a new example project and achieved some basic stuff with Blueprints. This in the end helped me to understand the engine even more.
There is still a lot to learn
So I made some progress with Blueprints and understanding the engine a bit more. I still have the problem that the engine is quite heavy on my Macbook 13, but I am so used to develop on OSX that I switched back to it. I will also stick to the books and I have to learn even more about the engine stuff. For now it seems like this will take me at least some more days, before I really can make some good progress. But in the end I think it is worth it, because I have to say of course Unreal Engine 4 looks fantastic and it also helps me to getting more into the c++ development stuff. Last but not least there are actually plenty of jobs for UE4 developer. So I think it is a good decision, even if it has its downsides.
with this blog entry I will finish off my work for today. The entire day productivity was a bit weird, but I will go into more detail. First things first: Today I used my gaming windows PC to develop in UE4 and performance wise it was a good idea. Anyhow it wasn’t that easy to get everything up and running, since I had to install everything again UE4 and Visual Studio. This took quite a while. After that I also installed Blender to get working with some models and try importing etc.
The rough start with unreal
I won’t lie in the beginning and can tell you at this moment I am absolutely lost in UE4 and have no clue what I am actually do. I wanted to start with a simple Board game, so I tried around with building some landscape, getting models into the engine etc. All of this stuff is quite cool and the engine itself looks also very cool. But I haven’t yet written one line of code, which really bothers me as a developer. Everything is so visual and if you are not used to the whole editor it is just overwhelming. I often thought about: Do you really want to stick to UE4? My approach or better said working flow was so much different with libGDX. Most of the time I was writing code. Today, hm, what did I achieve? I watched a lot of tutorial videos, read through many documentations and tried different things to get different things done.
The things getting really fast unreal!
It is very surprising that you can just add a landscape give it a water material, some lights and you have some awesome looking water, but it somehow feels not right to me as a developer. Since I wanted to try out some models and lightmaps, I started with modeling in Blender and just created an easy hexagon for this purpose. Creating the uv for lightmap and exporting the model as fbx was quite simple. Also the import into UE4 works out of the box and there is nothing special to mention about. I was setting up some different cameras and testing around. Everything I actually do is more or less trial and error. Too many things are unclear to me right now and I always have the problem to not know where to solve a problem. For example you can create a whole landscape in UE4 with everything needed or you also can model the landscape in Blender and then import it to UE4. It is somehow confusing to me. Another thing is the blueprint scripting, actually you don’t have to write any line of code, you can just solve everything with the inbuild blueprint scripting.
Of course I will stay focused on UE4 and learn a lot more. I hope, I will get more used to it the longer I try out different things or watch tutorials. For now I feel like an absolute newbie in game development, but I achieved an ingame scene today and want to share that one with you:
Make sure to subscribe or follow my blog, because the series: Switching from libgdx to unreal engine 4 just started!