• Breaking News

    Sunday, April 7, 2019

    So You Want to Have a Kick-Ass Steam Page

    So You Want to Have a Kick-Ass Steam Page


    So You Want to Have a Kick-Ass Steam Page

    Posted: 07 Apr 2019 06:30 AM PDT

    Intro

    Hey there, fellow indie game dev. Let's cut to the chase: you've got a game that you've either just started working on, or maybe it's already late in production and you need to start building its home on Steam, or maybe your page already exists but it could use some improvement. Whatever the case, you want your Steam page to be as efficient as possible, bringing in good traffic and converting it into wishlists and ultimately sales. I'm going to try and use what experience I've gained so far to help you do that. You can either read the disclaimer or jump straight into the thick of it below.

    Disclaimer

    First off, this is a long, loooong post*. Don't say I didn't warn you.

    Everything I'm going to share falls into either a) common knowledge that is readily available but a hassle to put together from different sources, b) my personal confirmed experiences and experiences other devs have shared with me, or c) some personal speculations. Please keep this in mind, and don't treat this post as a foolproof guide to surefire success on Steam. I have not released anything on Valve's platform yet; my game has had a successful Kickstarter three years ago, I'm gearing up for a release soon, I'm currently at ~8500 wishlists, and I've learned a lot by both stumbling into good ideas and fucking up majorly. If I am wrong about anything, please correct me in a comment.

    Throughout this article, I will use my own game as an example, mainly because it was my vehicle to experiment and try to better understand Steam. The intention is to bring everything I've learned together in one convenient place*, and make optimizing your Steam page easier for you than it was for me.

    Quick terminology index

    Wishlist (addition) - A number that goes up when some poor unsuspecting soul likes your game and throws it onto his "I want to play this later but probably never will" pile of shame;

    Visit - An unfortunate Steam user has actually landed on your page;

    Impression - Someone has seen a capsule (a visual asset) of your game on Steam. What you want is to convert these rare, Yeti-like sightings into visits (and, ideally, wishlists & sales);

    CTR (Click-through rate) - The percentage of impressions that actually end up in visits to your page. It's important, but wishlist additions are way more important.

    Existential dread - What your life turns into from the moment you become hooked on checking Steam traffic and wishlist stats daily.

    1. When do I launch my Steam page?

    Short answer: As early as fucking possible.

    Long answer: Still as early as fucking possible, but with a caveat that I'll touch on below. You probably already know this, but - prior to actually releasing your game and becoming an internationally adored indie superstar - your main goal in life on Steam will be to accumulate wishlist additions (simply called wishlists from here on out for convenience). That's what you should care about most, and focus all your efforts on. It therefore stands to reason that the longer before launch your page is up, the more wishlists it can accumulate. One year is not too long. I've had mine online since August 2018 and we were late as hell because of bureaucratic issues.

    Now for the caveat I was mentioning: don't launch your page unless you are sure that you have the best video & visual assets and text descriptions you and your team can come up with. Your first day on Steam is bound to net you a lot of exposure and wishlists - significantly more than most days afterwards. Steam's elusive algorithm will also start judging your game based on how it performs in this first critical day, so please take it very seriously.

    Please do not launch your Steam page without a trailer! This will make your game look bad, or as a low-effort move on your part at the very least. We'll dive deeper into trailers below.

    This is our first day on Steam in terms of wishlist additions:

    Your first day on Steam is crucial wishlist-wise

    We did have a trailer, screenshots, and decent copy. Major fuck-up: no tags (more on their importance below). It could have gone a lot better.

    Also, already having a community that you can bring in and positively influence the numbers day one will help. A lot. If you do, make sure you let them know in advance when your page launches, and remind them that very day via social media. Just like on Kickstarter, it's best to have that moment zero critical mass for a snowball-type effect.

    Always use "wishlist now" as a call to action basically every time you show your game in public:

    \"Wishlist on Steam\" is now your mantra

    Tl;dr: Bring your Steam page live ASAP but only once you have the best trailer, screenshots and text possible, and ideally with a community boost to boot.

    A quick aside about your game title: in case you haven't yet named it, keep in mind that certain words fare better than others in Steam searches. I'm not saying name your game "Souls Battle Royale Roguelike Simulator 2021", but it's something to keep in mind.

    My game is called Gibbous: A Cthulhu Adventure. I have indeed intentionally chosen a title that the average mortal would have a 0.008% chance of spelling correctly on their first try, BUT it also has both "adventure" and "Cthulhu" in there, which (at least for the time) count towards nice "search suggestions" impressions on Steam. This means that once you start typing either "adventure" or "Cthulhu" in the search bar, my game pops up:

    Search suggestions can get a lot of eyeballs on your baby

    Yes, "Gibbous" is hard to spell and remember and nobody knows what the hell it even means, but on the other hand, good luck finding a specific game with "heroes" in its title by wading through Steam search results. It's a trade-off, choose carefully.

    Alright, let's start actually breaking down the Steam page.

    2. The Trailer

    As I've said above, don't launch your page without one. There are great articles out there about how to approach trailers; I will not go super deep into it, you're better off reading posts like this one by people who actually know their stuff. I'll just touch on some do-s and dont-s, and some generalities.

    DOS

    • Show off your best gameplay footage up front (it can also be a cutscene, if it's relevant or it helps set the scene). If you plug Google Analytics into your Steam page (more on that below), you'll notice a lot of users spend no more than half a minute on your page before moving on, and they're probably checking out your trailer.

    Try and hook the viewer within the first moments of the trailer, don't faff about

    • Unless you sink your hook into them within those precious seconds, they're off to the next 50th game released on Steam that day.
    • If your game has both a story and voice acting, make sure that the lines you use in your trailer help set up the premise without spoiling too much. Choose wisely, and choose hard-hitting stuff that summarizes the plot or drives atmosphere.
    • Look up free trailer SFX packs on the internet if "epic" is what you're after. I like this one, but there are probably a bunch out there. There's also freesound.org that only requires free registration, but keep in mind you will have to credit attributions in the description. I would not advise using royalty-free music in your trailer, unless you don't have original music in your game.
    • Whatever is unique or representative about your game - put that stuff up front and highlight it hard. They're called hooks for a reason; please read Ryan Clark's excellent post about what constitutes a hook and why they should be on your mind constantly when designing your game. And your trailer.
    • If you can think of anything visually or audio-wise that can set your trailer apart and add a bit of wow factor, it would be great. In our case, I used parallax-scrolling 2D layers on my characters to give them a neat 3D effects (reddit post about it here).

    I've used 2D parallaxing planes to give my characters a 3D feel for a bit of wow factor

    • If the genre and tone permits, and you think you can pull it off, funny helps. Humor is great at retaining people's attention. Check these trailers out to see what I mean. Again, only do this if people other than your spouse and that one coworker whose promotion depends on you have told you that you are, indeed, a funny guy.

    DON'TS

    • Don't start your trailer with a logo (or, God forbid, multiple logos) unless you are a well known studio, or it's two seconds tops. I know you spent entire days making it look amazing in After Fx, but gamers don't care about anything but the game. You have few precious seconds to make them stay and watch, please don't let your ego squander them.
    • Don't go above 2 minutes unless absolutely necessary. Most trailers are about a minute and a half long, and it seems that they're lately trending towards a minute. We're all easily distracted idiots - plan accordingly.
    • Not really a "Don't", but be very careful if you choose to go for the "epic trailer" feel. If you mess up the mood, or your visuals are (unintentionally) clashing with the bombastic music and sfx, it might have the opposite effect of what you were intending. If you're unsure, show it to someone who you know will not spare your feelings ( actually, do this, period). Don't rely on feedback from friends and family. They love you, but they're liars. Filthy, filthy liars.
    • If your game revolves around a strong narrative structure, don't do what most movie trailers tend to lately and just give the entire story away. Jesus Christ, what the hell, people!

    Trailer generalities

    Depending on the genre, it's sometimes a good idea to think of your trailer as an entire story told in a minute, a minute and a half (again, not giving everything away! Just teasing its high notes).

    Ideally, it should have an intriguing hook up front, a meaty middle part that shows it off efficiently, and a crescendo to a high point and / or a denouement. Read about the peak-end rule and think about how to efficiently apply it to your trailer (and your game).

    Keep in mind that a lot of users have trailers muted by default; if yours relies on audio (especially in the beginning), it might not make sense to someone watching it muted. My trailer starts with the main character asking "You wanna know what my problem is?". This is meant as an audio hook to ramp up curiosity from the get-go; my solution to the trailer being muted was having the very first thing in the trailer be the text "PROBLEM?", hopefully making you curious enough to un-mute.

    \"PROBLEM\"? Huh? Better unmute this bastard

    3. The top-right short description

    Probably the most important copy element on your page. Just like the trailer, start strong and try and get their attention immediately. As you can see, I went with crazy cultists and a talking cat; think about what's impactful about your game. Sum it all up in the middle part, and end with your tagline (mine is "Comedy cosmic horror made in Transylvania"). If you don't have a tagline, come up with one.

    Sink the hook in early, keep the text snappy and intriguing

    Keep in mind that there's a character limit - it's somewhere between 200 and 300. If your page is localized into other languages (more on that below), be very careful when entering this text in languages you don't speak, because I'll be damned if I understand how that goddamned character limit can fluctuate like that.

    4. The release date

    There are actually two aspects to this: the forward facing one (what the users see), which can either be a date or custom text, and a tentative release date that you enter in the Steamgames back-end. You can change both as often as you like, but it's not advisable to overdo it. As for the forward-facing one, if you do go for custom text then try to be clear and concise, e.g. "Coming soon", "2019", "TBA", or "Never, lol". Don't use this space to beg for wishlists, I've seen that backfire in very ugly ways.

    5. Tags

    According to Steam, tags can help determine what game has you in their "More like this" section. Choosing your tags so that they drive the right kind of traffic your way sounds easier than it is, and you'll probably have to experiment a bunch, but what is important is to use all your tag slots available. My biggest mistake for a long time: only using 3 or 4 of the 15 possible. I was an idiot; you don't have to be.

    I strongly advise you to read Steam's documentation on tags. There's very important information there that devs (myself included) typically just skim over. Here's the tl;dr: tag order itself doesn't seem to matter, but only the first 15 (out of 20 possible) tags count toward who the algorithm decides to show your game to.

    Apparently there's talk of Steam intending to reduce their importance within the ecosystem, but for now it seems that they're pretty damn' important, so treat them with the proper respect and attention. And a touch of reverence and fear.

    Anyone can tag your game, but you as the developer wield way much more power when you mess around with them. You can ban and reinstate tags at your will. You can encourage people to reinforce your tags, thus affecting their order, but it's finicky stuff. What you do yourself is easier to control. You apply tags by clicking the plus button on your Steam page, logged in with your dev account:

    Do it.

    Ah, but what tags to apply? Good question, and I doubt anyone but Valve holds the definitive answer. Truth be told, I've just experimented until I've seen good results in both the traffic results and on Steamlikes, which is a neat site that shows what games have you in their "More like this" section. The more, the merrier. My game currently has 44; to put things into perspective, Sekiro has 2000+. I'm not exactly sure how all of this works - it might heavily rely on popularity or revenue. Your guess is as good as mine, you can go bug the Steamlikes guys on Twitter about it**.**

    You can also use custom tags you come up with, but other than the dubious satisfaction of wasting an important slot on "totes adorbs XD", there's not much to be gained. Check out Steam's handy Popular Tags list and go from there. Look at games similar to yours. Note that Valve do encourage you to use "rarer" tags that better describe your product, rather than widely used ones such as "adventure" or "action".

    A quick disclaimer: just getting a lot of traffic doesn't equal automatic wishlist number increase. The two things that heavily factor into that are quality - which is, uh, subjective - and just how relevant your game is to the people that you're steering in your page's direction. I suspect that driving a lot of irrelevant, non-converting traffic your way might actually hurt your game rather than help it. Also, it's reasonable to assume that popularity is a big factor here, but I don't think it's ever been confirmed by Steam.

    6. Main description text

    You can let loose here, but keep in mind that there's only so many words a gamer can silently mouth his way through before the irresistible siren call of the next browser tab yanks them away. Your best bet is to have a more detailed description (2 or 3 paragraphs), and a bullet list of key features.You can now add animated gifs to this section. A good idea, but be very careful about file size. In their announcement, Valve warn that "If we see a store page with a large load size (e.g. 15MB+), we may remove any animated GIF's to ensure users can actually visit your page."

    Just snicker derisively from your 100 Mb/second fortress and check your page load in Chrome by pressing F12 and choosing the Network tab - it's under "transferred" (thanks for the tip, Alex). I'm sticking to just one gif, so my page load is right under 15MB.

    Keep your page load under 15 MB to be on the safe side

    7. Localization

    In case you've decided to localize your game into more languages, congrats - it's a wise decision. As soon as you're positive about offering a certain language, enable it ASAP in the Steam back-end. This will significantly help drive traffic from speakers of that language your way. Again, the more the merrier, with EFIGS being the standard, but Russian and Chinese becoming more and more popular. Keep an eye on your Analytics to see where traffic comes from (more on that below).

    If you do localize, please make translating your Steam page a priority. Actually, even if you don't have the budget to full localize your game, just translating your page into major languages will help.

    8. Social links

    Pretty much self-explanatory: plug in all your youtubes, twitters, facebooks and twitches, plus your website. Speaking of your website, Steam now offers widgets that, when clicked, automatically add your game to the clicker's wishlist (mental note: add one to our website).

    9. Awards

    Flaunt'em if you got'em.

    10. Achievements and trading cards

    People really seem to like these things. People are weird, but you're here to give them what they want, not what they need. Incidentally, that's what gamedev's really all about.

    11. System Requirements

    Much like talking to the pharmacist before a romantic encounter, please be honest and realistic about what you need in order to perform optimally.

    12. Back-end Safari

    Steamworks' back-end is a wild ride. Let's jump in.

    First off, the really important stuff: graphical assets! Let's talk capsules, first and foremost, since screenshots are pretty much self-explanatory (just choose the pretty ones, and positively no concept art).

    My advice is to have two nicely rendered promo images ready - a big'un and a small'un. Easy!

    The big one - We'll call him George. Make sure George's source file is big enough to serve as page background (1438px x 810px), and clear enough that he can be resized and used as the main promo image above the short description. Also clearly display your logo on this latter one, so it's easily readable at every size.

    The small one - We'll affectionately call this one Junior. Unless they are magically whisked to your page via your evil marketing machinations or just pure bad luck, versions of Junior are likely Steam users' first contact with your game in the wild plains of Steam. I am recommending that this little guy be a different image from George, because if you just downsize his detailed, lushly rendered bigger brother you'll end up with a busy, unintelligible mess.

    George & Junior are brothers, not twins

    As you can see, Kitteh, our feline protagonist, features prominently in both George and Junior (apparently it's called "staying on brand"), but Junior is way simpler, so he can be easily read and understood at first glance.

    That's because - like in nature documentaries - Junior has to survive in the very hostile conditions of a quadrillion other thumbnails around it screaming for your attention, and - unlike in nature documentaries - he wants to achieve the exact opposite of camouflaging himself. Also notice that I've increased Junior's subtitle so as to improve its readability. Valve are very adamant about the entire game title being included in Junior, so make sure to abide by that rule when submitting assets for approval.

    • An effective trick for testing Junior's efficiency is to take a screenshot of e.g. the New and Trending row of capsules, superimpose your capsule in Photoshop on top of an existing one, and ask a friend or your Nanna to check it out sight unseen, being honest about which of them grab their attention and which don't. Survival of the fittest and most readable.
    • George and Junior are brothers, and equally important to your game family. Make sure they look related, make sure they're as pretty as possible.
    • Further watching: check out Valve's Tom Giardino beautifully explain the concept of capsule readability, with examples. Actually, just watch the whole thing, there's very useful stuff about trailers in there that I've echoed in this article, it's very good.

    Store traffic stats

    I never got either math or graphs, but I find myself returning daily to this collection of numbers and pretty colored lines you can find as a tab in the "Marketing and visibility" area of Steam's back end. You should too, since it's the best way to gauge how your traffic has been doing the previous day.

    You've got a nice big visits graph, an impressions graph that isn't visible by default, but is a click away, and a detailed traffic numbers breakdown below, divided into a boatload of categories.

    You can "mute and unmute" specific traffic sources on the graphs to see how they've been faring, and it never stops being interesting, educational, and terrifying to compare visits to impressions. You can worry about CTR, but don't obsess about it, because it's relative and very dependent on how much traffic you are getting. Before starting to appear in search suggestions, my CTR was way bigger; now it's a fraction of what it was, but daily wishlists have gone up, and your daily number of wishlists is the only thing that matters, really.

    As a general rule, you will of course want your external traffic to be strong, but how you market your game outside of Steam is a whole different discussion we won't go into here.

    Each traffic report category can be clicked to reveal subcategories. There are way too many to go into detail about here, but the "Other product pages" category is where you can gauge how strong your tag-fu and capsule game are.

    This is good daily information, stay on top of it and use it wisely

    Research all categories via Steam's documentation, and keep an eye on them daily. For me, at least, this page updates every night at around 12 AM CET.

    Wishlists

    As stated before, no matter what you do, you want these to go up every day, or at the very least not plummet. If you've done your homework, they should at least be stable, or gently rising.

    Good news for fans of tension and suspense, you can get a hefty dose of both by checking your progress every day around 12 PM CET. Not much else to say other than restate that doing good in this area is what all of your on and off-Steam efforts should be focused on at all times.

    I know a bunch of folks who've lost a lot of weight, and the thing they all have in common was not letting one day slip by without weighing themselves, regardless if it proved exhilarating or discouraging. Always being aware of where they were motivated them to stay focused on the task at hand. Same with checking wishlist additions daily - sometimes it feels good, sometimes it makes you shake your fist at the screen in anger and dismay, but at least you always know where you're at.

    Your heart stops. Then you remember Steam only shows you yesterday's wishlists, never today's.

    Google analytics

    Stick it into your Steam back-end. That sounded worse than intended. It's the tab right next to the Store Traffic Stats. Congratulations, now you can spend the rest of your days up to launch with one eye permanently fixed on GA's real time results. By the way, Steam almost always shows me ~2x the traffic GA does. I have no idea why that is; if anyone does, let me know in a comment.

    Plug & pray

    Broadcasts

    Streaming your game live on Steam isn't just a neat way of showing it off more than in a trailer and a bunch of screenshots, it can get you some super nice exposure via tag pages.

    Here's what you need to do: download OBS, join this beta broadcast group, then read all about setting up the stream here, go here to get your stream key (aka token) and to pick a server. Go into OBS, choose "custom" as a streaming service, paste in your server address and your token/stream key, and fiddle around with the stream settings until they match what Steam recommends in the previously linked relevant page. I won't go into OBS scene set up etc, there are plenty of tutorials on YouTube; don't worry, it's not exactly rocket science.

    The broadcast will appear at the very top of your page, and, more importantly, it will appear on your main tag page if it reaches at least 10 viewers, and if other broadcasts with more viewers aren't already hogging those slots (they are).

    Anything over 10, really

    E.g. my main tag page is "adventure"; usually there's 1 to 3 active streams at any given moment. Any user that scrolls to the very bottom of the tag page can see your stream there if it's above 10 viewers. Another chance at decent traffic, so do consider it. Don't forget that you can click "Show Chat" and be insulted in real time by smart-asses with nothing better to do. Delightful.

    Other back-end stuff

    Here are some other important things that might be easy to miss in the intimidatingly dark and twisted corridors of Steamworks:

    Genre: Tick the appropriate box for your game. Also tick "indie", maybe.

    Keywords: To be honest, this one is still a bit confusing for me. Mine are a bit of a mess, since they're a combination of stuff similar to my tags, and intentional misspellings of my title so that people typing it wrong can still reach my game (i.e. gibos, gibbios, ktulu, chtulu, etc).

    Saving and publishing: Whenever you are editing your store page, saving does not mean your changes are reflected in the page automatically. You need to hit "publish to public" in order for the public-facing page to reflect how you've now made it uglier and more confusing. It's on that tab they've sneakily labeled "Publish".

    13. Steam page discussions

    • Pin a thread about your Discord server. You do have a Discord server, right? Make a Discord server.
    • Be nice. Gamers will ask when the game is coming already, constantly. They do not do this to annoy you, they do this because they care about your game, and that's huge. Someone actually cares about what started out as such a beautiful thing, and now gives you headaches and nightmares and uuuurgh! Be thankful and respectful and as honest as possible when you lie to their faces that it's almost done and right around the corner. But seriously, be honest and nice - there's no situation where this advice doesn't apply.
    • Some of them will also say that they won't buy your game unless it's translated into their language. Solution #1: be nice and, if this is true, reassure them that it will be available as soon as budget permits. Solution #2: localize your god damned game already. But, again, be nice. There are exactly zero scenarios where you freak out and let loose on a potential buyer and things end up well for you. It should come naturally, but if it doesn't, clench your teeth and at least try to be nice.
    • Don't leave discussion threads unanswered, especially the ones consisting of direct questions to you, even if you don't yet have the answers. Be honest, and I think I already mentioned being nice a bunch, so let's move on.

    14. Wait, that's it

    I'll stop here, this was already a lot to take in at once. Congrats if you made it all the way through, you are probably super dedicated and you want to give your game the best shot at success on Steam possible. You've got the right attitude, now you just need a Steam presence to match. I really hope this guide helps you find your audience with less hassle - it's ultimately all about connecting the right customer with the right product, and everybody wins (but Steam wins more).

    If you feel this post has been helpful or interesting, consider thanking me by wishlisting my game and telling a friend who's into narrative games about it. We're about to launch soon, and it's as scary and stressful as it's exciting.

    Now stop dicking around on Reddit and go make your Steam page awesome. Peace.

    submitted by /u/Boarium
    [link] [comments]

    Postmortem - Porting a commercial DOS game from 1991 to Windows 10

    Posted: 07 Apr 2019 01:33 AM PDT

    Last year I was given an opportunity to port a commercial DOS game from 1991 to Windows. More excitingly, it was a game from my childhood. I would like to talk about how I was able to license the source code, some of the more major quirks of porting 28 year old C code to Windows 10, and a bit about it's release. I would also that to chat about some of the accomplishments/mistakes I made during the last year.

    About the game:

    In the early 90s while I was in High School, Star Trek: The Next Generation was in full swing and I came across a game called "Rules of Engagement". The box art showed you could pilot a spaceship using a snazzy "Star Trek" touch screen interface. Keep in mind, commonplace touch screens were more then 20 years off, so the primary interface was clicking buttons with a mouse.

    Jumping in time to last year, Rules of Engagement popped in my head for no reason and I decided to see whatever happened to the company that made the game. Doing some research, the company appeared to have moved on to making communications software, and the old games they made were nowhere on their website. On a whim I decided to send an email to the generic looking sales@ email address and asked of the game even existed anymore or if anyone at the company even heard of it.

    I able to contact one of the original developers of ROE. Though what I can only guess as my winning charm, I was able to procure the original C source code and project files for the game. I pitched that the idea of porting this game to modern architectures and giving it a bit of a face lift as a good idea, and they agreed. The idea is that some publishers, namely Apple and Nintendo, do not like emulators running on their platforms, so taking this old code and making it portable and able to run natively on these systems may open a door for me to port other "lost" DOS games as well. Heck. I could even make a business out of it!

    Code in hand, I started my first ever major software project.

    Backend tools:

    Github and Trello

    Before trying to compile anything, the first thing I had to do was get my newly acquired codebase kicking and screaming into Github. Having heard the stories about how SquareSoft lost the source code to their games due to lack of version control, I knew this was important. I didn't know much about Git. I had only played with SVN in the past. I heard it was popular and was pretty easy to learn. I leveraged Visual Studio's built in Git system a lot. As I was a single developer and had no planned branches, it was pretty easy to set up and use. Mostly just pushing updates to the server and reverting in case I couldn't get my code to compile anymore after making some pretty bad mistakes. The other program I leaned on was Trello for my project management. I kept track of bugs and features I wished to complete there. My Trello project board is even public if you want to take a look. For those who don't know, Trello is a Kanban system that utilizes cards and categories to organize your work. It's a great system to keep track of workflow.

    The Code:

    The game was originally coded with Microsoft QuickC 2.0. I decided to make the as portable as possible by utilizing C99 and removing the legacy Microsoft calls and using POSIX instead. This was kind of a treat as Visual studio doesn't actually support C99 or POSIX, bit I was able to fudge it enough. Also as a note. They say that you can write C on a C++ compiler and it should work as one is a subset of the other. Not true. The "auto" keyword changed and "int new;" is valid C code. Another fun adventure is the game used K&R function declarations. I spent a huge chunk time rewriting almost all the declarations so Intellisense could see them. Due to how K&R declarations are written, you can't do a find/replace but actually rewrite the first 3-5 lines of each function individually.

    While going though each function, I added Doxygen comments so I could create a call map of the entire game to help with navigation. This is when I discovered how truly alien this code was. It was designed for overlay linking, and didn't have a main loop. At least not one that we know of today.

    Program Flow:

    In programming you have static linking, where all the functions are in the main executable, and dynamic linking, where auxiliary functions are called from external libraries. This game used overlay linking which is a completely different animal. Here, your "main loop" or "kernel" runs as an external process set to a timer. Your critical graphics and sound library functions stay in RAM, and chunks of the game are paged in and out depending on what part of the game you are in. In my case. The "kernel" was attached to the Intel 8253 system timer and ran every 55 milliseconds. It's job was to update the game's universe by updating all the global variables. When you pulled up a screen in the game, the old screen was "paged out" and a new one is loaded and collected the variables from the "universe" to show on that display. Because I was porting this to Windows, directly using the 8253 interrupt was a no-go. The kernel process was also not thread safe, so launching it as a thread was impossible. To fix this, I made the kernel a function and made every effort to make sure it was called at least every 55 milliseconds. I did this by calling it in often-used parts of code, such as display updates or waiting on input. I also got rid of the overly loading and put all the games functions into the main executable.

    Hardware:

    I was porting ROE to a system with protected memory. This means direct hardware access, and some pretty wacky null pointer shenanigans were out. I picked Allegro as my graphics library as it was portable, and due to it's legacy as a DOS library, had many of the functions I was looking for. I wrote a wrapper for all the graphics and sound functions of the game and added a few enhancements. Namely upping the resolution from 320x200x4 bit color to 1280x800x32bit color. A huge roadblock I ran into was that the game assumed 16 bit ints, and they way it wrote it's save files was by dumping the memory directly to disk. I had to manually serialize the save files to keep them compatible with the legacy data. I probably should of changed all the ints to int16_t, but the casting I would have to do gave me nightmares.

    Art:

    The game needed a graphical facelift, and here is where I ultimately failed. You see, the game originally aped the Star Trek "LCARS" interface. Back in 1991, Paramount didn't mind so much, but now in an era where touchscreens are ubiquitous, they are VERY litigious when you use that style in your applications. I manually sanitized the graphics to keep the copyright infringement at bay and put in placeholders. It turns out that artists are expensive, and I was able to hire the original artist for the game for a while. Sadly I way underbid what work I needed and was not really completed to my liking. I decided to just throw in a theme system and toss the game to the users. Hey, I can't make a Star Trek theme in the game… but some "enterprising" modder may want to!

    Business Side:

    As my budget waned, I utterly failed at this point. I spent my time coding in secret and didn't do much to build a community. That was my biggest mistake. In the end I launched the game on itch.io with little fanfare. I was simply exhausted from looking at the code. It runs, but not as optimal as I would like. I can compile it for Linux, but runs like garbage as I don't have a native Linux machine to test on. It can also theoretically compile under Mac as well, and there was some inroads for an Android port, but making NDK code run was awful and it just crashed. Debugging was near impossible on that platform as the game relied on printf() statements and all console output on Android goes to /dev/null.

    In the end it was a good idea, but I ran out of time, money, and steam. The code still hangs out on my private Github (I do not have the authorization to release the source code for free.) and if time permits, I may update the graphics from time to time. Also, game came with a 200 page manual that I updated a little, and have a clean PDF, but it turns out, when people say they miss those big thick manuals, that nostalgia speaking. Almost everyone would prefer an in-game tutorial instead.

    If there was a takeaway from all of this… Build you community first and foremost. Bring them along for the ride! That was my biggest regret.

    Anyways, that's my postmortem. Let me know if you have any questions!

    submitted by /u/halkun
    [link] [comments]

    At last,i have ascended beyond human limits.

    Posted: 06 Apr 2019 12:44 PM PDT

    How do you entertain yourself during development?

    Posted: 07 Apr 2019 11:47 AM PDT

    Why Fasion in (Most) Games Sucks, and Why You Should Care — GDC Talk by Victoria Tran of Kitfox Games

    Posted: 07 Apr 2019 03:06 AM PDT

    Sharing some Unity shaders

    Posted: 07 Apr 2019 12:10 AM PDT

    Hello fellow devs, I just wanted to share some Unity shaders I've been updating recently in an attempt to remotivate myself to get back into some side projects and avoid zero-sum days.

    https://github.com/ewersp/Shaders

    Feel free to use anything however you want; provided with the MIT license.

    Happy devving!

    submitted by /u/GamesDean
    [link] [comments]

    Can you sell your game on Steam And Epic Store as Indie Dev?

    Posted: 07 Apr 2019 04:46 AM PDT

    So I wonder if you start to sell your game on one of the Stores are you locked in to sell on that store as an Indie Dev or can you sell on Epic store as well if they let you in?

    submitted by /u/Akjoman
    [link] [comments]

    How MechWarrior 5's Team Fixed Their Player-Killing Level Generator | War Stories | Ars Technica

    Posted: 07 Apr 2019 03:28 AM PDT

    Now Play This! My first game exhibition

    Posted: 07 Apr 2019 04:38 AM PDT

    https://nowplaythis.net/

    I visited now play this last year and was so inspired by the games there that I decided to make my own. I used to make them about 16 to 18 years ago as a kid, but decided to give it another crack and with help from my wife we created a game.

    It's a puzzle game called Memphis Jam and played via a giant 80cm playable vinyl record with the screen in the middle

    https://i.imgur.com/DrhW9O2.jpg

    It was amazing to see people actually interact with it and play. I thought it was just going to be a project for this exhibition, but the feedback we got was great with people asking if we had an app they could download, so I will spend sometime converting it and releasing it.

    How it was made it physical:
    - We laser cut 3mm white acrylic to make the round playing surface with a whole in the middle (This should have been thicker as kids love to lean on it!)

    - Next we vinyl cut the black vinyl with the design on and pasted it on.

    https://i.imgur.com/h8pEav1.jpg

    - For the button we used bareconductive (https://www.bareconductive.com/) electric paint and touchboard. You just need to paint the circuit on.

    - We connected the paint via copper tape to wires to the touchboard which I loaded a script onto to be a HID device (e.g. a keyboard). So now when you press 1 on the playing board it types 1 into the computer. You can even plug this massive 80cm vinyl records into any computer and type.

    https://i.imgur.com/Jul7aDP.jpg

    - The computing unit was a small NUC and we used a standard screen we had already.

    https://i.imgur.com/LKeJwXP.jpg

    - We used wooden blocks velcro'd to a table we got from the furniture store to hold the playing surface above the screen and then was good to go!

    https://i.imgur.com/DrhW9O2.jpg

    I recommend exhibitions to everyone. So much fun and provided lots of motivation to go forward!

    submitted by /u/SimonBJohnson
    [link] [comments]

    How do they come up with melodies like this?

    Posted: 07 Apr 2019 10:06 AM PDT

    I'm completely inexperienced in both gamedev and music, I'm trying to make my first game. This is not a song from a game, but the idea is still the same (the song) How does Mitch Murder come up with that synth beat? How come it flows perfectly together? Could you recommend some tutorials on this

    submitted by /u/Scrimmy_Chungus
    [link] [comments]

    2014 vs. 2018: The Shape of Financial Success Before and After the Indiepocalypse

    Posted: 07 Apr 2019 01:17 AM PDT

    Creating Tracer - Directional Blink - Part 1 - Unity Tutorial

    Posted: 07 Apr 2019 09:02 AM PDT

    Please answer a survey about a game I'm making for a school project

    Posted: 07 Apr 2019 12:20 PM PDT

    Need some advices // First game

    Posted: 07 Apr 2019 12:13 PM PDT

    Hey guys!

    I started to learn coding for about 5 days now with the youtube channel called CodingTrain.

    My question is:

    Where can I get some beginner projects for exercies or something to improve my low level skills in programming?

    Here's a link. This is my first game. It is not finished yet. Im thinking about what should i add in it. Maybe pause option?

    https://editor.p5js.org/danikasz/full/H7RYUkA5S

    You control the white circle with arrow keys. Your goal is to get the yellow circle (score). The game count how many scores you collected. The gray circle is some kind of an enemy. If you touch it it set your streak to "0" and teleports you and itself away in random location. The blue rectangle is a teleport. If anything touches it it teleports the object somewhere randomly. You also have a highscore which contains the highest streak you ever had. I added a reset button if you want to reset the whole game.

    It would make me happy if i get any review and advice or just some kind of comment.

    Btw this is my first post in reddit. I'm affraid.

    submitted by /u/baggiedragee
    [link] [comments]

    Minimalistic idle games to study?

    Posted: 07 Apr 2019 11:16 AM PDT

    I think idle games compress the core concepts of many games down to a simple, stream lined, and bite sized formula. But how simple can these formulas and game loops become while still being fun and engaging experiences?

    I think Alpaca Evolution rides the line well, the game has 1 action, 1 progress bar, 1 timer, and just one thing to do. Yet is still addicting, and engaging.

    What other games fit this sort of criteria?

    submitted by /u/YYY-2C2D
    [link] [comments]

    Concept Artist

    Posted: 07 Apr 2019 11:00 AM PDT

    So I'm an amateur artist. but I really like drawing. So I think concept art for video games would be a fun challenge. My style is a little cartoon-like, cuphead-ish. So comment below if you want me to draw a quick concept sketch and if you like it I would like to help with your future video game projects.

    submitted by /u/SpaghettiReview
    [link] [comments]

    Game Content Management Tools for Unity?

    Posted: 07 Apr 2019 10:07 AM PDT

    Been working out my game story, class abilities, and spells, it's starting to get overwhelming. And a mess.

    Anyone else use content management tools? One that will integrate specifically with unity. Can you give pros and cons?

    I love free. But have no problem paying. I just looked at Articy Draft. And roughly $7 monthly or $95 full price seems fair.

    submitted by /u/J_Winn
    [link] [comments]

    Blender 2.8 Fast Carve : 3D Cursor Feature

    Posted: 07 Apr 2019 10:06 AM PDT

    best royalty free music for gamedev

    Posted: 07 Apr 2019 09:36 AM PDT

    Admob and low Match rate

    Posted: 07 Apr 2019 05:30 AM PDT

    Hi guys! I can not understand why I have such weak Match rate

    https://i.redd.it/s03f4u6r5uq21.png

    Now the game has lost popularity. Previously, requests from the application were 800k, and 20-30k hits. I think because of this I lose money ... Does anyone have any advice?

    submitted by /u/Abasov90
    [link] [comments]

    Trying to find something posted in here about multiplayer networking

    Posted: 07 Apr 2019 09:05 AM PDT

    Don't upvote please, just looking for a website posted on here that showed multiplayer concepts like time dilation, predictions, etc. it was likely built in JavaScript and had some sliders you could drag to see the effects. Thank you

    submitted by /u/ReaverKS
    [link] [comments]

    I am looking to make a game with good sword combat, could you please suggest me ways to prevent spamming enemies to death besides using a stamina meter?

    Posted: 07 Apr 2019 08:11 AM PDT

    Specifically I want to find a way to prevent spamming enemies to death besides using a stamina meter like Dark Souls does, because I don't like stamina at all, it feels more of a drawback instead of a mechanic for me. And not having you always fighting multiple enemies like Devil May Cry or God of War does, yes, having multiple enemies all the time prevents button mashing and spamming enemies to death because while you may fight one you have to be careful for the other 4 that may hit you. I want the game to have more personal combat, not being godly overpowered like most hack and slash games do, while it will have multiple enemies it will be difficult to fight them all at once, so could you please recommend me ways to prevent button mashing and spamming enemies to death in order to make you feel like you have to fight instead of just spamming buttons?

    submitted by /u/xxxgreekwarrior46xxx
    [link] [comments]

    How can I create an organization that will always be fair to its developers?

    Posted: 07 Apr 2019 08:01 AM PDT

    I want to discuss how to organize the studio I will soon be incorporating.

    I'm not greedy, all I want is the opportunity to work on my games along with other talented people. As such I would like to explicitly structure the corporation as a collective. Anyone who joins can basically work on whatever they want, everyone's got ideas and many of us have designs we want to launch.

    That's basically what Valve does, their organization structure is very flat, and we can take a lot of hints from how they run things. I've read reports from people who have left Valve, however, and it's not all sunshine and rainbows. Office politics can get a bit toxic there in my opinion, since the only remaining hierarchy is social hierarchy. As long as you're doing good work there, though, you don't get fired.

    But we've seen what happens, Valve basically doesn't make games anymore. I don't want to end up where they are now, management-wise.

    Here's my idea so far. I'm thinking all development should happen on our organization's github, and every commit should have either included in the description or associated via GitKraken Glo the hours spent and the level of expertise. We will then democratically develop an algorithm to assign revenue shares to members of the organization, keeping in mind the operating costs of the organization's activities related to developing the games, running the games and maintaining our website.

    Edit: I should say that I mentioned Valve only because they're the most successful company that aspires to a flat hierarchy. I have been convinced by the feedback in this thread that it is most advisable to pursue a conventional corporate structure and build incentive structures over time within the company to redistribute the wealth.

    submitted by /u/hyperion51
    [link] [comments]

    Software for text games

    Posted: 07 Apr 2019 07:49 AM PDT

    Hi ! Im trying to develop game that is like Dungeon and Dragons . I have some programming experience and I would like to develop game which is like if old text adventures and Oregon trail had a child and that child was adopted by Lord Of The Ring and D&D .

    submitted by /u/WhiteDeath32
    [link] [comments]

    No comments:

    Post a Comment