Cosmos: Empires is a 2-8 player, 15-45 minute engine building card game. Jump into the galaxy, choose your strategy and build your galactic empire. Race against your friends, exploiting their economy to your advantage! You can also find more information here.
Grab your copy now!
Meet the team
Martin is a software engineer by trade and an entrepreneur in his dreams. He loves working on his various, sometimes questionable, projects and business ideas, be they games, apps, products or services.
He absolutely loves trading card games and their analogues of all types, enjoying constructing original strategies and testing them out.
Josh is a musician and audio engineer at large. He’s been into tabletop games for as long as he can remember, and is a frequent dungeon master, often to the detriment of the other things he should do with his time.
His favourite board game might be the original Dune, if he had more chances to play it.
Don’t forget to join us on our Discord! Any feedback, questions or suggestions are super appreceated as well.
Pre-orders won’t last long, but if you miss it no worries! You can still grab a copy when it is already in stock, and recieve it immediately instead.
This is different for everyone, and unfortunately there is no one correct answer. What I recommend is try to ask how other programmers got into their craft, and then relate their stories to your experiences and try to find the one which might work best for you. So, here is how I started programming.
How I started
I had tried to get into programming in high school, but with no luck. Any tutorials I’d try I wouldn’t really understand what was going on, got stuck and got demotivated. I had one friend who was a very good young developer, and I started to get the feeling that I was “too late”, and programming was not for me. Unfortunately I found out later that this couldn’t be further from the truth.
I realised this half way through an Aerospace/Physics degree. I realised that I didn’t really like what I was doing, and there were not many job opportunities in those sectors either, so I had a good think about what I wanted to do and decided to take the first year programming courses at my University (Sydney Uni) to see how I do. After completing those it was like my life transformed. Something just “clicked” and whenever I tried to follow a tutorial, everything was just so easy to understand and apply. All because of a structured year-long introductory course, and I loved it. I absolutely love to code, and one of my biggest regrets is not learning to do so 10 years earlier.
So, my personal recommendation, is to take a long, structured introductory programming course for complete beginners. What I found especially useful is to have a dedicated teacher I could quickly ask questions to if I had any trouble as well. After my Degree, if I wanted to learn something without good content, I would directly hire (on Fiver or People Per Hour) an expert in the field I was learning to ask questions to directly. If there was a community with an active forum (Like Unity’s discord, or you could join our discord and ask on there too ;P) join it and use it.
Other peoples’ stories
I started very late, but two devs I know, Adam and Aku, both started quite early but from completely different methods. Adam started in primary school. He started with the now depreciated Adobe Flash Player, wanting to add interactions to his animations. From there he went into different languages using “fat books” (which he mentioned having step-by-step tutorials for small games and other projects) and finally landing in a community of people who were reverse engineering Call of Duty under the guidance of “some Dutch guy”. Adam is currently teaching programming at The University of Technology Sydney, but does lament the lack of creative outlets for our generation: Everything is “locked down” with no moding, or other ways to “hack” into modern games which are easily accessible or encouraged.
Aku went the other rout, taking classes in high school, then uni and then going strait into industry. His recommendation is for someone just starting is to “have fun”, and not worry too much. Coding is fun and that is what you should prioritise. Once you get a bit deeper into it, writing good code is important. “Ways to limit code redundancy, design patterns, good structuring… really, go deep into learning what can be done with object-oriented design, and especially what should not be done.”
Also, a big recommendation he gives, is when writing something new, see if there is a way to write code that is more generic, and add that to an external toolkit you put all such functions and systems you write. It saves a lot of time later and is better than just getting code from the internet because everything there is code you wrote and understand, making it much easier to debug when bug fixing.
What is your story? Share it in the comments!
If you are starting your first project, read this. It’s the biggest misconception I see in new Entrepreneurs.
There is a common misconception I see in almost every budding Entrepreneur (Me included) and it’s this: We over-value our ideas. Unfortunately, in 99.99% of cases, our idea is worthless; not bad, often it can be brilliant, but worthless all the same, and acting to protect it can severely hurt the more important part of running a project: Execution.
This usually manifests in the fear of having your idea stolen, hence the title of this post. In reality; ideas are cheap. It is the execution which is the challenge. Everyone has ideas, everyone has the same ideas, statistically no matter how awesome you think your idea is someone who has the capital to execute on it better than you also has the capital to hire people smarter than you to come up with their own ideas (which they don’t have much reason not to do over stealing yours).
To put it another way, an idea cannot do anything by itself, if you can do a good execution even with a bad idea you still get infinitely further than just an idea by itself. The Breakout ideas which become super successful seem like they are only so successful because of their idea, but that is survivorship bias; the most important thing that they had was a first class execution and the ones you hear about are the ones with a first class execution and an idea which is just good enough to put it above everything else with the same first class execution.
What is the difficult part in Entrepreneurship, or any business in general, is actually getting stuff done, and is why people value experience and past projects so highly, even if they ended up not being so successful. Organising people, motivating them and yourself, persevering through to see your project to completion is difficult, and what Entrepreneurs do. This is not even considering all the work that goes into the actual execution.
What if someone does steal my idea?
In most cases, they won’t, or it won’t matter much, but if it does, that isn’t even necessarily a bad thing. If you are a big company that’s one thing, but if you are really small, the “underdog” and someone bigger than you clearly copies your idea, the publicity you can get from exposing them is probably much more valuable than any damage from them using your idea in the first place.
In the off chance that it doesn’t, and it does end up hurting you, in almost every case the damage and lost opportunities you receive from being secretive would far outweigh any risk from someone taking your idea and using it.
Why is being secretive a bad idea?
There are 2 main reasons:
For your project: You need to start generating a crowd for your project early, not on launch day. Getting people interested is a slow process, and needs time to build momentum. Whatever your marketing strategy is, it is never a bad idea to start getting people interested as early as possible, and often necessary, so hiding it is just crippling your idea from the start.
For yourself: If you are going to spend time or money on your idea, you need to know if it is worth it. The only way to know for sure is to start generating interest for it. If no-one is interested, then you should probably revise your idea. If people are interested, then great! You passed one of the hardest hurdles.
Just to give you another perspective, I recommend checking out these twoarticles and I whole-heartedly recommend Stonemaier’s blog as well.
Stability is a core concept in Engineering, but in my opinion is not spoken about enough in games where its applications are just as important.
Firstly, what is stability?
Imagine a scenario, where you have a ball you need to keep in the centre of a plane, and you can apply a force from either side to do so. If the plane is a valley like the left purple system, it is inherently stable: Even without applying a force, if the ball is displaced to either side, there will be a force which pushes it back into the middle. The right pink system is inherently unstable. As the ball moves further to either side, there will be a force which pushes it further away from the centre, which in turn creates a larger force pushing it way and so on. This self-propagation is the crucial part which lets you identify an unstable system.
Now, if you’re a bright bulb, you might have noticed that an “engine” mechanic is always, by design, unstable: Engines are mechanics where you collect resources, which you use to build your “engine”, which in turn helps you collect more resources and so on. A classic example is the main game-loop in Settlers of Catan: As you get more settlements, you get more resources which gives you more settlements and so on.
Unstable games are ones where once you start winning, it is exponentially more likely you will win, and that is often not very fun for the players who play half the game knowing they have no chance at a win.
So, engines are a super cool mechanic; you don’t want to get rid of them, so how can you handle the natural instability of engines?
Luckily, there are a few good solutions:
Solution: 3+ players, with player interactions.
Catan is again a great example of a game with just enough curbing of the engine to make it feel great to play, while also not feeling too much like a pile-on on the winning player.
Any interaction mechanics with more than 2 players (where only a minority of players can win) will be inherently stable, because as one player pushes ahead, the remaining players will act to stop them, creating a force to resist that player’s forward momentum. This is where the ball analogy breaks down a little; because actually going BACKWARDS in your engine is often not all that fun, and in Catan, the interaction of the robber stealing and blocking resources just slow you down, but you cannot lose your already built settlements.
So if you are designing a game with more than 2 players, you usually will not have to worry about this issue too much (which is why I think it’s under-considered in board game design: it happens to solve itself in most cases), but it is still something you should consider: A great counter-example to this is Robo-Rally. It is a robot racing game, where being close to other players causes lots of problems for you. The issue, is that if you pull ahead, you are not next to other players anymore, and so end up with a much easier time, making the game often be decided by whoever reaches the first checkpoint (of three) rather than whoever finishes the whole race first.
If your game is a 1v1 or with even teams, you are out of luck, and will need to consider this issue a bit deeper:
Solution: Encourage conceding
This is cheating: Just let the players concede when it becomes obvious that they can’t win. You see this a lot in Trading Card Games: often with very unstable engines for the sole reason that all the popular TCG’s are at their core very badly designed, because at the time it didn’t matter to their success, and now popularity is the primary factor to a TCG’s success. (To be fair, designers have made great strides in adding and designing modern card mechanics and designs to solve all the core problems the base game has in these TCG’s, but for the sake of this analysis; generally, they suck.)
Solution: Create counter-force mechanics.
So, if you can’t or don’t want to do either of the previous two you will have to specifically think about mechanics which can act as a break if one player is behind or pulling ahead.
Some examples could be: Diminishing returns; the more “factories” you have, the less they make. Hard limits: again, in Catan, you have a hard limit on settlements and cities. This acts as a buffer to players who race ahead with one or the other. Once they hit the limit, their momentum is stopped and they need to pivot. Tax or punish mechanics: If you have a mechanic which punishes players proportionally to how far ahead they are, or by how much they are winning.
Meh solution: Having a Hail-Mary mechanic.
Wargroove is a turn based strategy like Advance Wars but with one main difference: each player has a “champion” which is very powerful, but if killed loses you the game. The main purpose of this mechanic is all the interactions with pressuring with your champion while at the same time making sure it won’t be killed, and shortening games, but what it also does is add a viable win-con for someone who is behind: Go all-in on the enemy champion. I personally dislike this sort of out-of-the-blue victory, or losing games to a single miscalculation, but it is a solution to this issue which should be mentioned.
Can you think of any other solutions to the unstable engine problem? Or maybe some more popular mechanics which are also unstable? Share them in the comments!