FriendlyCosmonaut is well known name in our community. A programmer, game developer and tutorial maker, she’s known around these parts for her phenomenal work o n our classic Space Bubbles Tutorial.
We ask Cosmo why she decided to pick up game development, the most helpful resources for beginners, and the mystery behind her name!
How did you become a game developer?
I've worn a lot of different hats - most recently a cosmonaut helmet - so my path up to this point is quite the piece of spaghetti.
I've always loved games; my father works in software development, so I was lucky enough to be exposed to computers from a very young age. Both my parents have always been extremely supportive, encouraging any interest, including games, though my academic studies and career pursuits took an entirely different direction.
I've actually completed degrees in Science and Arts, and I’m studying Physiology and Philosophy; at one point I fancied becoming a doctor, at another, a writer... But towards the end of my studies, I started dipping my toes into game design and coding. At first I thought I’d be a designer.
When I discovered GameMaker, I absolutely fell in love with it, and threw myself into the world of programming. When I'd finished my degrees and it was time to make a decision, I just couldn't ignore how much joy coding and game design gave me, and decided to pursue it further!
Nearly five years later, I'm lucky enough to have produced dozens of tutorials on GameMaker, and I’m working with a studio to produce a game.
Example of a dialogue from FriendlyCosmonaut's Dialogue System tutorial
Is GameMaker the only engine you ever used?
I tried quite a few different engines at first, as well as game development tools and roles in general.
In the beginning, I thought my interest lay squarely in game design and writing, rather than code. I tried Unity, Unreal, Blender, Twine - and while I did have some success with these, sometimes finishing little projects, this exploratory phase had conclusive results - I had so much progress with GameMaker!
How did GameMaker help you?
I was a complete beginner to code, and GML was a lot easier to learn than other programming languages; I picked up concepts much quicker, and achieved fun results very fast with the engine.
The GameMaker community itself was also very welcoming, smaller maybe, but very intimate and friendly. The moment that really sold it for me was when I started participating in that community - producing tutorials, learning from others, and growing together!
Is there anything that frustrates you about GameMaker?
One of the biggest challenges for me personally, and when teaching, is creating user interface elements; text, healthbars, portraits, dialogue, inventories, maps, and so on.
These often require lots of tweaks, but a lot of the draw code in GameMaker is tied to functions - and since there’s no live editor or easy way to view changes in positions of these elements, it requires a lot of recompiles and knowledge of GameMaker functions to get working (not to mention grappling with cameras).
I've seen changes to this on GameMaker's roadmap and I’m very excited - I think it’ll make the engine more accessible to artists, designers, and writers, which would be wonderful for bringing new skill sets and perspectives into games.
Demeter & Persephone, a game by FriendlyCosmonaut
Which resources do you think are most helpful when learning how to make games?
I think video tutorials are especially great for beginners, as they tend to be very engaging, specific, and on the shorter side - which really helps create small manageable goals during a time that is probably overwhelming. It's quite easy if you don't know any programming or game dev lingo to simply type in "RPG tutorial beginner" and find some great, fun videos.
On the other hand, the same can be said for written tutorials - some of my favourite resources are written or blog posts. These tend to be very comprehensive, but may be a little trickier to track down since they’re niche or involve jargon in their titles.
I remember, after a few months of essentially rote-learning code, I started to experiment on my own and write my own code from scratch - in this time, it was GameMaker's own documentation that was most useful to me.
I found the docs so well maintained and readable, and to this day, being able to middle click on a function or variable and open the documentation to the relevant page is probably my favourite resource out there (and I miss it dearly when using other tools without that functionality!).
Is there any project you’ve created or taken part in that you’re particularly proud of?
It's hard to choose! I have enjoyed all the tutorials, game jams, and projects I've worked on. I think I would have to give a special shout out to the Farming RPG GameMaker tutorial series I created.
It’s definitely my most popular and long-lived series, which propelled my career and introduced me to so many awesome people and projects.
Farming RPG tutorial by Friendly Cosmonaut
Do you enjoy developing games more than creating tutorials, or do you like to keep balance between the two?
I definitely enjoy a balance of both developing games and making tutorials, as they both provide different challenges and rewards. Lately, the balance has definitely been tipped towards the former, and I'm missing making tutorials a lot!
Developing your own games or projects is great fun, and often a solitary, self-paced mode of work. Thinking through logic, learning, solving puzzles, and iterating on your creative vision is immensely satisfying.
By the same token, making tutorials is an opportunity to share ideas and solutions, and even invite those of others. I have never felt so connected to a community than when I read through responses - sometimes solving someone's bug together, being introduced to a different solution, or simply seeing what others have created.
The process of making tutorials is also fun in itself, and helps solidify your own knowledge on a topic - or even discover gaps in it.
Is there a challenge to being a woman in the game industry?
Unfortunately, I think there is. It seems like every other week, new allegations of abuse in the industry are aired, which disproportionately target women and minority groups.
The gaming community itself is well-known for being especially hostile and abusive towards women gamers, as well as developers. Not to mention the deep rooted cultural prejudices pervasive throughout workplaces in general which see women paid less, and be less likely to receive promotions, than their male colleagues.
And this certainly isn't helped by our especially skewed demographics. The state of the industry is not welcoming, to say the least.
Being in the position of a tutorial creator, I have my finger on the pulse of newcomers to the industry. I am always quite shocked to see my own viewer statistics consistently hovering at over 94% male.
Using Source Control with Git & GameMaker by FriendlyCosmonaut
Why do you think that is?
Historically, young girls have not been encouraged to play games or pursue STEM jobs. Personally, I had very little exposure to pursue anything programming or engineering related during my education.
Looking around now, I often find that my female colleagues have similar backgrounds to me; perhaps being in a position where they received a kind of unconventional support when they were young, or that despite the abuse they endured, their exceptional passion and determination saw them through.
Always, there seems to be a number of hurdles and exceptions they had to jump over.
What can we do to encourage women to pursue a career in game development?
We can do better.
We can demand laws which protect developers against discrimination and abuse, without which our industry is haemoragging the little diversity we have. We can encourage our children to pursue hobbies, and be exposed to media, which is not gender biased, and which encourages them to pursue their passions.
And hopefully, we can develop tools, engines, and communities which bridge the gap between workers in related fields. I would love to see us extend our hand to those in animation, writing, design, art, engineering, education, and so on, and encourage them to bring their incredible skill sets and fresh perspectives to game development and programming.
Weighted Chance in Gamedev tutorial by FriendlyCosmonaut
Is there a piece of advice you’d like to share with your past self?
I remember spending so much time worrying that I didn't have a clear idea of what I wanted to do.
It’s taken me a long time to realise that a clear ‘career calling’ is a fallacy. That even if you have an inclination, it's impossible to know and judge how something will turn out before experiencing it. And even then, how one feels about the day-to-day of a job will vary dramatically with time, and also depends on the people around you.
I would say to experiment, try as many things as possible, and cherish every failure - there will be many things you like, and many things you don't like, and you simply can't figure that out without trying a lot of things.
What do you do when you’re not programming or making tutorials?
To my shame, I ‘m extremely bad at this ‘work-life balance’ thing, as a lot of the time I relax after a long day programming with... more programming. Perhaps a tutorial on programming, if I'm feeling especially brave.
But seriously - on a good, responsible day, I usually turn to music. I'll have a quiet night in, playing guitar, while being interrupted by a giant bunny, or extremely energetic puppy.
On a related note, I have recently accumulated a surprising number of chewed through cords, so I often spend a very calming night splicing wires together. I expect it's a giant bunny owner's version of knitting.
Where did the name ‘FriendlyCosmonaut’ come from?
I've sometimes been asked why I chose ‘Cosmonaut’ over ‘Astronaut’, and it's a silly reason; if we trace their etymology, they respectively mean ‘universe-sailor’ and ‘star-sailor’. The idea of a friendly universe sailor seemed silly and delightful!
I actually agonised over the name for weeks - whenever I have to think of a ‘serious’ name to represent myself or my work, I always struggle.
I wanted to present myself and my work as approachable, and extend my hand to help anyone who wanted it -- hence the ‘Friendly’.
I also have a long tradition of naming characters, pets, and usernames after something space-related - when I thought of ‘cosmonaut’, I immediately imagined a bumbling, well-meaning explorer trying to learn and create things in uncharted territory.
I hadn’t studied any coding up to this point, so it was a bit of a scary endeavour!