Programming has a very interesting difficulty curve, it's basically impossible for a long time, but once you have an intuitive understanding for concepts like loops and variables, everything will just fall into place because you can start connecting the dots.
I've been doing this for like 15 years so I don't remember what I struggled with early on, but here's some random pointers:
- Make many small projects to learn how to make games, do not start on your dream project right away. Keeping a large project organized takes in-depth understanding of how programming works, and if you don't have that you'll end up with a buggy mess that breaks down whenever you do anything, or just is painful to work in in general. (My first big project sure had issues with that - it's got about one twelfth of what I intended to include in the game when it was finished)
- Don't overload the player with exposition in the first few minutes. This is always tempting, and I imagine it's even more so when you have actual writing skills, but players will get bored and just try to get to "the game part" after a few minutes of dialogue.
A really good game intro is NieR's first few seconds. (Timestamped, jump to 2m 35s if it doesn't work)
- Establishing shot of a broken bridge in a snowy modern city.
- Another establishing shot, revealing that the bridge was torn down to build some sort of concrete barrier you usually see in modern warzones.
- Third establishing shot, revealing snowfall against a large expanse of destroyed buildings.
- "2053."
- "Summer 2053."
These first few seconds tells us that the world is messed up and how, but not why. This establishes a mystery and you really want to know what happened. Then the section after that sets up the two main characters, and then immediately drops some weak monsters and a boss on you, letting you actually play the game. After this section, the game transitions to the real story, with one of the most confusing transitions ever.
- Don't be afraid to use stock assets, you don't need to do everything. But make sure to keep notes on licenses, and only include assets you know you're allowed to use (e.g. if you're planning to sell the game one day, don't include noncommercial assets, and if you use Share Alike assets, remember that you're obliged to make your edits available for download!). I personally only ever use CC0 stuff whenever possible, just to have an easier time with crediting, but usually you need to swallow your pride to access the really good stuff.
- But even if you use stock assets, it really helps to get basic understanding in digital art and audio design. If you don't personalize your assets, it usually gets pretty visible that your game is just a hodgepodge of random stuff you found on the internet; things like palette swaps so everything has a consistent color scheme really helps bringing disparate tilesets together (e.g. if you mix Happy Chocolate Land tiles with Graveskull's Gruesome Mortuary, you probably want to mute the colors of the former, or make the latter's more vibrant) and stock sound effects might fit better in if you mix a bunch of sounds together to create something unique (e.g. mix together 3 separate "creaking planks" samples with a short snippet of a "rattle a drawer full of objects" sample to get an unique "opening a spooky door" sound). Once you have these skills, it gets much easier to communicate with artists and audio designer if you ever need to work in a team, or commission custom assets.
- Game jams are a good way to practice many skills at once: asset creation, coding, performing under pressure, working with creative constraints (i.e., following a jam theme). Itchio's community jams page is a good place to start, there's constantly a flow of new events all the time so you can just join something that suits your schedule: https://itch.io/jams
- Whether you're extrovert or introvert, it's good for motivation to find a bunch of people that also do game development / programming to chat with occasionally. The GMC is one of those places, but there's also plenty of Discord servers dedicated to game development in one way or another.
Also some videos to get you started:
"
I'm an english major and I want to make games" sounds a lot like the background of the guy that made YIIK: A Postmodern RPG (he was a liberal arts major, but
details - it's one of those boring subjects that aren't programming
) so I think it could be good if you watch TehSnakerer's breakdown of how and why the project failed. It's a massive video, but it goes into adrianean depth and gives the project a surprisingly fair analysis. It's well worth the time. Snakey's stuff in general is pretty good, him covering weird outlier games that tries new stuff (and usually fails) is really inspirational.
For something less gargantuan and more immediately practical, Mark "Game Maker's Toolkit" Brown is your guy. Stellar editing, short and to the point breakdown of game design concepts.
I've got some art and music channels as well, but maybe we should wait with that 'til you've gotten more comfortable with programming...?