Articles, Uncategorized

Where to Publish Your Indie Game

Finishing a game is a hard feat- but figuring out where ​to publish it can be even harder.

Working on a game from start to finish is a harrowing task with lots of road bumps, but once your finished, some devs are left with a question- what now? What do I do with my game now that it’s done? Well, you can post it on Google Drive or Dropbox and share that link around, but if you want a more serious way to publish then consider publishing your game on gaming websites. But, which ones? Below I’ve outlined some of the most popular choices for sharing free and commercial games.

There are 2 lists- PC and HTML. Note that some of these overlap- you can upload mobile and HTML to, but I’m only going into detail on it in the PC list.

PC List

1. Steam

Naturally, Steam has to be on this list- it’s the largest, most known game distribution platform out there. So, let’s quickly go over some pros and cons to Steam.

  • Largest gaming platform with the largest userbase


  • Largest gaming platform with the largest selection of competing games
  • $100 fee per game uploaded
  • Lots of information to fill out with multiple review processes
  • Somewhat difficult uploading process for new devs (and lackluster documentation)

2. in recent years has grown in popularity for indies, and for good reason.



  • Free to use
  • Easy upload process with no review processes
  • A good launch can secure a high place on the search places for a longer time


  • No review process means there are tons of shovelware and multiple reuploads on the site
  • Not many users on the site so don’t expect 50+ downloads on launch unless you market it

3. Game Jolt

Game Jolt has been a long standing indie site for flash games but now has opened up to downloadable games- however, their primary consumer base is still HTML.



  • Free to use
  • Easy upload process with no review processes
  • Fans can follow individual game pages as well as your developer account


  • Easy to not get many views on the site with one game but a healthy amount on another
  • The consumer base is still heavily HTML gaming

4. Kartridge

Have you heard of Kartridge before this list? Neither had I before I researched forums to share games on and ended up finding a thread about posting games to Kartridge! It’s a subsidiary of Kongregate (which will be on the list later) that was launched around November 2018 during the big Epic Games / Discord Store buzz and subsequently got drowned out by all the bigger news.



  • Free to use
  • Easy upload process with no review processes*
  • Not many games on the site so little competition


  • No analytics whatsoever that I can find**
  • Despite Kongregate still having a decent sized consumer base, very few of them transferred over to Kartridge

* Despite games being able to launch without a review process, the staff will go back and check games afterwards and then decide if they belong on the store. For instance, my kinetic (no choices) visual novel The Witch in the Forest was on the store for about 12 hours until I got an email saying it didn’t meet their gameplay standards and was manually taken down.

** I’ve searched and searched and searched and even emailed the staff about analytics, with them basically saying “they’ll work on it” (as of January 2019). ​There’s no way to tell downloads on free games, no way to even tell how many views your games have. I believe this could be an oversight but the non-inclusion of them after launch is, as I believe, due to the low user counts that they don’t want to publish.

5. Epic Games Store

I’ll make this and the Discord Store quick since I don’t know much about them- it’s new, it’s still in a mostly closed beta, and analytics for how well they do haven’t been released yet.


  • Not many games on the site so little competition


  • Stigma against the platform due to exclusives, Tencent, and more
  • Seemingly exclusive beta only for extremely polished indie games

6. Discord Store

The Discord Store is… odd. It’s still very much going through changes and by the time this article has made rounds it’s undoubtedly going to have made even more changes. At one point, there was a tab on Discord that allowed you to see all the games they have- now, that’s gone, and only a select few can be seen on the Nitro tab, making it impossible as of right now to see a list of every game on Discord through the client (even searching games that are definitely on the store doesn’t work on the current Nitro tab). So, how do consumers find your game on Discord? Either via direct link or through an individualized store tab on your server- aka, nothing organic.


  • Not many games on the site so little competition


  • $25 fee per game
  • No actually store front for every game, only individualized store fronts in various servers

7. IndieDB

Might as well throw this on the list, eh? While it’s not really a gaming platform- it’s a database for indie games, as you can tell from the name- you can still upload and download indie games from it, so I’ll count it.



  • Easy to set up a page
  • Brings in some viewers on its own
  • Makes a press kit for you


  • Not meant to be a gaming platform, more of a database for indie games (hence the name)

8. Good Old Games (GoG)

Almost forgot about this one on my list since it’s not very indie friendly at all- as the name implies it used to be mostly older PC titles but has since shifted towards publishing indie and AAA studio titles (read: not solo indie games). While there might be a couple super indie titles on there, the vast majority won’t make it on this site due to their very tiny submission process and strict polish standards- I along with a few friends have been declined from the site multiple times, with one of the games being declined being listed on an indie gem list on Steam.


  • Very short initial submission process


  • Very high “quality” standards- anything that looks indie or doesn’t have a big studio backing it up won’t be on there 99% of the time



Already reviewed in the PC list, please see above.

2. Newgrounds

Yes, Newgrounds is still alive and kicking (and actually a decent place to post art both in your gallery and in art threads)! I remember using it as a kid and I’m happy to say it’s still a very active place.



  • Free to use
  • Very easy submission process


  • Not a lot of analytics to look at

3. Kongregate

Another one of the oldies, Kongregate has been around for a lot longer than my career and is still kicking.



  • Free to use
  • Easy submission process


  • Not a lot of analytics to look at- same developers as Kartridge

4. Armor Games

Again, Armor Games has been around for a long time and is still very active- you can easily get 1,000 views from the site alone within the first couple hours of launch.Pros:

  • Free to use
  • Easy submission process


  • Hardly any analytics to look at

5. Game Jolt

Already reviewed above in the PC section.

Final Notes

This is not a fully comprehensive list, as companies are always trying to get a slice of the Steam pie and coming up with new publishing platforms as others go extinct. There are other sites not on this list- I did not include some sites because I do not use them and they are very niche. Or, for example, I did not include DLsite because its audience is not really Western indie games but I do have friends who use it (albeit they admit indie games on there don’t sell much). This list was made in 2019 but edited for 2020.

Not all of the sites listed here will fit your game. Furthermore, as indies we have to remember that making new builds and reuploading them to every single site takes time, so it might not be best for you to publish your game on every platform you can at first. Personally, I publish my commercial games to Steam and Itchio for now, but there are developers who only publish to Itchio and can make a profit.

As always, if you have a question or think I should add something feel free to @ me on Twitter!

Articles, Uncategorized

How to Easily Make a Dress-up Game in Ren’Py

Since I recently released a dress-up game in Ren’Py, I thought I’d make a write up on how it was done! Since Ren’Py can now (mostly) port to web, it’s a decent choice for making standalone dress-up games or having a cute little minigame in your visual novel.

Hint: The majority of the time was spent on the art. Here’s the game I made in it, playable in browser.

Here’s what you’ll need to make your own dress-up game!

  • Ren’Py (free to download!)
  • Art (a character base and clothes)
To start, get your base and clothes ready. For the purposes of this tutorial, I’ll provide a few screenshots and such of my structuring. Here’s an example of a character base (left) and a clothing item (right). Note: I keep the clothes the exact same size as the character base so I don’t have to deal with setting exact x/yalign in Ren’Py.




To make the options, we’re going to make textbuttons! So, create a new projects and open up screens.rpy.


default mtop = 0    ## Define each of the variables you use later
screen dressup():
    tag menu
    ## This adds a background to the screen- in my case, I added a beach background
    add "dressup bg"

    ## This is the character base! The transform is defined in script.rpy
    add "base.png" at items


## Define a position for the base and items as a transform so if you need to change it
## later you only have to change this!
transform items:
    xalign 0.0
    yalign 0.05

label start:
    ## This calls the dressup screen from screens.rpy
    call screen dressup

Now we’re going to start coding the top textbutton which will let us cycle through the shirt options in screens.rpy. NOTE: Please name your images in a pattern, such as “top1”, “top2”, “top3”, etc. It makes it SO much easier!



## This is the button "Top" which, when toggled, cycles through the tops available.
## The "mtop" inside the SetVariable should be whatever variable you decide to use
## for this item. Change the number after the % to however many clothing items you have.

textbutton "Top" action SetVariable("mtop", (mtop) % 3 + 1) xalign 0.86 yalign 0.12:
    ## This text here is more for polish- i.e., it's to make the button look good, but
    ## the button will still work without it. Remember to use a colon after the first line
    ## if you follow it up with text like this that's indented.
    text_size 36                ## Changes text size
    text_color "#fff"           ## Changes text color
    text_hover_color "#6ba0e3"  ## Changes text hover color
    text_outlines [ (2, "#0049a8", 0, 0) ] ## Adds an outline the text

## This textbutton basically resets the Top button by setting it to a default "0"
## as you can see in the SetVariable
textbutton "x" action SetVariable("mtop", 0) xalign 0.90 yalign 0.125:
    text_size 24
    text_color "#d5dee8"
    text_hover_color "#6ba0e3"
    text_outlines [ (2, "#0049a8", 0, 0) ]
## NOTE: All of this should be indented under the screen dressup!

Now we need to actually show the tops! We can do this multiple ways- I’ll go over the simpler way first.


## This is a simple if statement! Basically, if the variable is equal to 1, then it'll
## display the image called "top1" that's in our images folder at the transform we
## defined earlier. Increase this according to however many tops you have.
if mtop == 1:
    add "top1" at items
elif mtop == 2:
    add "top2" at items
elif mtop == 3:
    add "top3" at items

Here’s a more complicated but time-saving way:


## This goes right under the textbuttons at the same level of indentation. 
## Basically, it adds an image "top(variable number)" and inputs whatever 
## number the "mtop" is at in the {} section.

add "top{}".format(mtop)

Here’s a bigger example of what it all should look like (with both examples of how to display the images):


default mtop = 0

screen dressup():
    tag menu
    add "dressup bg"
    add "base.png" at items

    textbutton "Top" action SetVariable("mtop", (mtop) % 14 + 1) xalign 0.86 yalign 0.12:
        text_size 36
        text_color "#fff"
        text_hover_color "#6ba0e3"
        text_outlines [ (2, "#0049a8", 0, 0) ]

    textbutton "x" action SetVariable("mtop", 0) xalign 0.90 yalign 0.125:
        text_size 24
        text_color "#d5dee8"
        text_hover_color "#6ba0e3"
        text_outlines [ (2, "#0049a8", 0, 0) ]
    ## If you're using the if statements for the images
    if mtop == 1:
        add "top1" at items
    elif mtop == 2:
        add "top2" at items
    elif mtop == 3:
        add "top3" at items
    ## If you're using the format option for showing images- NOTE: don't use both the if
    ## statement above and this!
    add "top{}".format(mtop)

And that’s pretty much the basics for making a dress-up game in Ren’Py! Remember that when you’re showing the images that the further down on the screen they are, the more “on top” they’ll be ingame- i.e., we put the background as the very first image added on the screen since it needed to be the furthest away one.

There’s still a lot of things you can add such as an About button for the About menu, a music slider, etc, so I’ll go over a couple of those here as well.


## This adds an "About" button to the screen that sends people to the About menu that is
## already made in the New GUI for Ren'Py.
    textbutton "About" action ShowMenu("about") xalign 0.98 yalign 0.0:
        text_size 22
        text_color "#fff"
        text_hover_color "#6ba0e3"
        text_outlines [ (2, "#0049a8", 0, 0) ]
## This adds a music volume slider to the game! I added music by selecting a piece to play
## on the main menu (which can be added in gui.rpy) and it auto plays in the full game.
        xalign 0.975
        yalign 0.85
        ## This just adds a title that says "Music Volume" so people know what the
        ## bar below it is for.
        label _("Music Volume"):
            text_size 30
            text_color "#fff"
            text_outlines [ (2, "#0049a8", 0, 0) ]
            xalign 0.97
        ## This is the slideable bar that changes the music volume.
        bar value Preference("music volume") xsize 230
        ## The "xsize" changes how wide the bar is.

If you have any questions or want to share progress, feel free to join the Ren’Py discord server or the Devtalk+ discord server! Also feel free to @ me on Twitter with any questions or completed games!  ♥

Articles, Uncategorized

5 Social Media Posts You ♥ Must ♥ Make For Your Game’s Launch


Launch day is hectic— what do you post besides the ​launch announcement?!

Having survived many, many launches of varying degrees of success, I feel your pain when launch day comes near. You’ve probably got a checklist of stuff to do, announcements to announce, posts to post, updates to update, but your mind is frantic. Don’t fret! You’ve got this. Keep your cool, try to keep your tabs below 20, and get some help to help you send posts and emails.
But what about social media? What all should you post then? Well, good news, on a lot of sites you can schedule posts so you can draft these before you even hit Release on Steam. So, let’s go over 3(ish) of my tweets I always make come release week!

(For all these examples I’ll be using my most recent launch, Image of Perfection, a commercial RPG VN)


1. Prelaunch Tweet

This one should be a no-brainer- hype your followers up by reminding them that your game releases tomorrow! I tweeted this right before 11AM CST on the day before- it has a video of gameplay, it has a small description, and has links to where they can buy it that next day.


✨ Optional ✨


Do a countdown on social media to your launch day! A fun way to do it is with art- here’s a couple of examples from my 5 day countdown for Paths Taken- the countdown featured a different drawing of each of the main characters for each day. In hindsight, I could have mixed up the small message with them a bit more.

2. Launch Tweet… and In Case You Missed It Tweet!

I didn’t schedule the launch tweet because I wanted to tweet it out the minute I uploaded it to Itchio and hit Release on Steam, but I did schedule the ICYMI tweet for later that night!
As you can see, the game went live around noon CST and I had scheduled the ICYMI (In Case You Missed It) post for later that night, around 6 hours later. If I had a professional trailer for this game done (it was a very quick 2 month development cycle- please try to get a good trailer done for your games!) then I would have posted that in the release announcement.

3. Seeking Press & YouTubers

Your mileage may vary on this one— you should send out emails to press before and during release, but it never hurts to just ask any that might follow you if they want to review it! Sometimes this lands me a few reviews, sometimes it only lands me a few RTs. Either way, it’s worth the 30 seconds writing the tweet for me.
The tweet for Image of Perfection only did a few RTs… but the Paths Taken tweet got a couple YouTubers interested!

4. Giveaway

Run a giveaway for a free key or two of the game! Set a few rules (I typically say “follow us and RT to enter”), set an ending date, and link the store pages. As usual, I add a couple emojis for some extra flair.
✨ Optional ✨


Some giveaways use custom graphics that have the rules explained in more detail. Some giveaways have more info and links in a reply tweet. Post the rules in whatever format you want!

5. First Reviews

Reviews on any game are extremely important- so, show off the first few you get, especially if they’re glowing reviews like the first one we got for Image of Perfection!
…And that’s it! There are a lot of other tweets you can make during launch (RTing streams, posting articles about the game, asking people to share their favorite screenshots, etc.) but these are a few more basic ones that I try to post every launch time. Hope this article helped some of you out- if it did, consider reading my previous articles!

​Wishlist my game on Steam!


Articles, Uncategorized

The Importance of Landing Pages for Indie Games

There’s a new restaurant being built in my town- it’s a refurbished old warehouse, so it’s less being built and more being brought up to code. This has been going on the past few months, with the parking lot and landscaping recently being completed, so it was apparent that the restaurant was going to open very soon- however, the restaurant has yet to put a sign up with the name, let alone saying that it’s even a restaurant and not some kind of shop.

​Today while driving past it, I remarked that they now had condiments and paper towels on the tables near the windows- surely it was going to open soon after they put the sign up. Tonight while driving past it, the parking lot was full. People were sitting in all the tables we could see. It was a soft launch where they were testing their speed and kitchen, so not the full launch- but yet, there was still no sign for the restaurant. As an outsider, I’d assume it was another boutique or even just a small warehouse like the surrounding stores.

This was mind-boggling to me- you want to open up a store and not even advertise what kind of store you are, let alone your name? Even a nearby restaurant that was hidden down a set of stairs had a few small signs (and even a menu) on the wall next to it. So, as a game developer and person who attempts to market said games, it got me thinking- what would this be like if a game did this?

I’m going to use a couple different cases here in my analogy since there won’t really be anything 1 to 1.

Case #1 – No Name/Branding

The first case is the most obvious and extreme- you are posting on social media or Discord servers and such but you’ve yet to put a name to your product, or you fail to refer to it as such/put no logo with the images. People might see a screenshot of the game but if you don’t have a name for it or don’t put a name where people can easily see it, how will they be able to find out more? Sure, sometimes they’ll see it on your Twitter, but what if they happen to see it out in the wild where you can’t easily reply with an answer?

This should be a case that, if you’re reading this, shouldn’t happen. Most, if not all of you, should already have a name set for your game and be calling it by that name if you’re actively promoting it in places. Now, I’m not saying you should throw you game’s logo on all your promotional material for the game (I find it somewhat annoying to receive screenshots of in-engine looks with the logo plastered on it), but I am saying it’s typically best to have the name visible when promoting it in places for consumers.

Case #2 – No Landing Page

This case is going to be more prevalent for most devs- we forget to have a landing page. In this sense, a “landing page” is going to be broad, but something where consumers can view what the game is about and see some form of updates for it. In this sense, the following (I feel) qualify as a “landing page”:

  • Steam/Itchio/GameJolt store page
  • Website with newsletter
  • Social media specifically for the game

I’ve picked the types above as they all include some way to see updates for the game as well as get notifications for new updates- while I normally wouldn’t consider social media to be a “full” landing page as they’re more for sharing links to the above two places, they are ways for players to subscribe to your content. I would very much prioritize the first two, i.e. making a store front for your game where players can wishlist/follow it and making a website where players can easily see what the game is about.

Your goal with a landing page is to convert viewers into customers. You want a landing page to entice a consumer into supporting your game, even if it hasn’t launched- this can be by them following your social media, wishlisting the game, subscribing to your newsletter, and more.

So, what on Earth does this have to do with my long-winded analogy at the beginning of this? Well, them not putting up their name meant I had no way to search them up online, which means even if they did have a website (which they did) I couldn’t find it so I couldn’t see their menu, their “launch” date, and more. Make pages where potential customers can wishlist your game or sign up for updates!

When do I make a landing page?

As soon as possible! …No, but really, you should try to make landing pages for your games months before release if you can. Wishlists on Steam are basically an automated email blast of when a game launches and goes on sale, so you want to collect as many of those as you can. And like I said with the analogy, if you wait until release to have a landing page, you’re missing out on potential customers who lost interest because there wasn’t a way for them to follow the game.

As game devs, we’re all guilty of procrastinating things that aren’t coding or art or writing (aka, everything business) but we really should try harder to put landing pages and such up sooner. Maybe next time I’ll write on the abysmal importance of wishlists on Steam and how they translate to sales on launch day…

Wishlist my games on Steam!Asterism   ♦   Image of Perfection

Articles, Uncategorized

Game Dev Social Media Post Ideas

One thing I frequently get asked is “what do I post to social media? How do I keep it active? I don’t have any art!” and I always send them a long list of ideas on what to post but I never consolidate it anywhere. So, it’s about time I do that.


Below are a list of ideas on what to post to social media- ones in bold are ones I very much recommend for being high in engagement / eye-catching. Don’t forget to check out my Game Dev Social Media Calendar and my Twitter Guide!

  1. Post a screenshot
  2. Post a WIP screenshot
  3. Post a progression screenshot (post an old WIP screenshot and then show how far its come)
  4. Post a gif
  5. Post a video/trailer
  6. Post concept art
  7. Post finished sprites
  8. Post finished full art
  9. Post a funny expression from your character sprites
  10. Post a snippet of music
  11. Post a full piece of music
  12. Post a playlist that you listen to while working
  13. Share (and credit) a piece of art that inspires you
  14. Share a piece of fanart
  15. Post a snippet of writing / a funny quote
  16. Post a snippet of code
  17. Post a picture of animals in the office
  18. Post a picture of your workspace
  19. Talk about your daily work routine
  20. Give a review for a piece of equipment/software you use for work
  21. Ask for feedback on something (piece of art, dialogue, etc)
  22. Run a poll (ask what people’s favorite game is, what their favorite x is, etc.)
  23. Do a Q&A session
  24. Talk about where you got the idea for your game
  25. Talk about the game itself
  26. Talk about future projects you’d like to do
  27. Interview your staff / introduce them
  28. Talk about what your dream merch for the game would be
  29. Make a mood board / aesthetic board for the game
  30. Post something inspirational for #MotivationMonday
  31. Write an editorial to help other game devs
  32. Post a link to an editorial you found helpful
  33. Post a small preview of something upcoming
  34. Do a giveaway of a previous game or a piece of software
  35. Post a progression shot of how your game’s art has changed
  36. Thank your followers and highlight some of them
  37. Link a Let’s Play of one of your games
  38. Talk about a game that inspired yours but what you’d change about it
  39. Post a drawing of a girl from your game and tag it #CutieSaturday
  40. Post a meme about your game
  41. Post links to where people can find your other social media (Discord, devlog, etc.)
  42. Post a funny chat log from your Discord
  43. Post a picture of you showing the game off at a convention / booth
  44. Post a survey to find more about your consumers and what they like
  45. …And more!

Here’s a few examples of me doing these ideas on my company Twitter:

Articles, Uncategorized

Game Dev Social Media Calendar

tl;dr I couldn’t find a social media calendar for video games    specifically so I made one. Enjoy.

I should probably preface this with a definition- what is a social media calendar? According to CoSchedule:

Social media editorial calendars are spreadsheets or apps used to schedule social posts in advance. They’re also used to plan when and which content will be shared, manage campaigns, and track deadlines.

For now, I’ll use the definition of “a list of plans to help create social media content”. Social media calendars that fit this description, in most cases, are used by big corporations for brainstorming ideas for marketing content on social media, as the name implies. However, because most of these are made for large corporations by marketing companies, they are made to be as inclusive and broad as possible so anyone can use them- in this, they become harder to use, especially so for niches rather than conglomerates. I couldn’t find one that would be great for game developers to use as reference for social media- rather, I had to use a combination of multiple calendars to get ideas for social media that would be relevant.So, I made my own.
These are a few suggestions for each day to post about you’re games- some days have prominent hashtags (mainly on twitter) but every day has a suggestion on what to post in general.Wednesdays and Saturdays are typically the biggest in terms of relevant content you can post, given that they both have 2 large tags that are very relevant to game dev. This list is mainly for Twitter, but can be referenced for other social media sites.

Feel free to download the image, share it around, and link back!