Developing a game from scratch, 2020
While I have – on and off – played with programming for decades, have worked on Circle MUD based MMOs and have designed board games, I am not a ‘developer’, I am, as far as you are concerned, a complete and utterly clueless noob. This is not a “How to guide”, this is a “I don’t have a clue what I’m doing, but bear with me” story!
Today is essentially day one, day zero (yesterday) spent watching a selection of youtube videos, mostly by Extra Credits, plus a few others.
The plan is to develop a strategic wordplay game, and a 3D single or multi-player RPG. Focus will be on game play, not shiny graphics, and not on making money. Well, maybe for the word game, but really it’s a bucket list thing.
Bear in mind I’m old; I came from a generation where personal computers did not exist, even in the 80’s Colossal Cave was cutting edge, and classic games included Rogue and Nethack – were the graphics for a dragon were the letter D. We were as comfortable using Edlin as teenagers today are with texting.
In the 90’s computer courses moved from C to more novel OOP solutions like Delphi, Visual Basic and C++. I had and still have an instinctive loathing for bloated ‘drag and drop’ programming, which is probably why I’m comfy with web design using a text editor. But you have to move with the times, I guess, hence using a CMS like WordPress.
So, embracing the modern age, I looked at all the options.
Some I ruled out straight away, like Buildbox ‘cos to me, even at glance, it screams “churn ’em out, monetize them.” There’s a book by Chris Nodder (Evil by design: Interaction Design to Lead Us into Temptation) covering many of the mind games you can use to gouge money out of players. I’d buy it to make sure I never used any of them. I get the instinctive feeling – perhaps unfair – that a good number of people using Buildbox would use it more unethically.
I also ruled out others due to ‘gut reactions’. For instance, I crossed off Garage Games‘ Torque engine simply on the basis I don’t trust companies that don’t maintain their site! It’s slow, which is fair enough, but when the promo page says “Watch the trailer” – and the trailer doesn’t exist, it’s a hard pass.
In the end it left the most obvious options, all of which I may try, but I’ve settled on Unity for its large base:
Game Guru. Cheap and cheerful, nothing fancy, but I’m just starting and it probably does what I need. Still going to with Unity, but with my eye on this low-end, Steam compatible engine. Just curious that they have two websites for the same product, TheGameCreators appearing to be a sister site. Bothers me that the latter misses a favicon in their web design, but I’m pedantic and OCD, little details like that matter, especially in code. Most people wouldn’t notice it, or even know what a favicon is, but it matters. A little.
This one is divided into AppGameKit (for phones and tablets, obviously), and GameGuru for PC. There are free trial versions, but at around £20 to £50 for full versions it’s not going to break the bank trying it. Graphically it seems more 2000 than 2020, but I’m happily playing Dungeon Keeper (Bullfrog, 1997), and Runescape, so I certainly do not see that as a deal breaker. For perspective, Autodesk’s 3D modelling app, Maya, is £1,872 a year to use, but game engines like Unity are free, so, yer, perspective.
GoDot engine. Essentially a 2D engine with extensive support for 3D. Small but active and dedicated community. Might have a play some time.
HeroEngine. Covers a range of projects, and while not free the fees cover server costs, so it’s more an in-situ engine. I’m not ruling it out for the future, but not what I need to start.
Unity engine. Primarily 3D, with strong 2D capabilities. Probably also way above my pay grade but sometimes you just have to dive in. The biggest community, so perhaps a good place to start, albeit in the deep-end. Free for personal use and students, rising in cost based on team sizes and revenue or funding. (Unity pricing plans)
Unreal Engine. This is a 3D engine for studios, big studios, with lots of staff. You are unlikely to make 2D games with this. Not saying bedroom coders and tiny teams can’t do amazing things with it, but having seen the jaw-dropping demo of what the Unreal 5 engine can do, no, way beyond anything I could ever use.
Finally, the list would not be completewithout Microsoft’s Visual Studio, when used to cost a fair bit, even for students, but is now (mostly) free.
Unity, baby steps
The personal version (free) is a matter of download, install, go. Nothing too it.
I opted for the student (also free) option, which has a few extras – and am now jumping through hoops. Had to set up a GitHub account, then register via my university email account, (one of 3 they state is acceptable for my university), then they demand proof I’m still on the course, ‘cos of the 3 options they list they only automatically accept option 2, which is a problem as the university stopped using it a year or so back. Now I have to wait “up to 5 days” for them to approve it. (Noting it was actually approved within an hour). You can get started while you wait at least.
Worked through the first tutorial in under half an hour, mostly just edit a value here, add a mob there, recolour, nothing really of my own work, but it was up and live with half an hour, so I’ll call that a win. Rome wasn’t built in a day and all that. Tutorial1.0
It is now day 2 and rather than just dive in an lumber around, beating Unity until it does my bidding, I’m stepping back and saying, “OK, I understand the concept, I know what I actually want to create first (a strategic word and number game), so how best to proceed?” As I had expected, there’s loads of pre-made doohickies in the asset store I can make use of, so that’s simply a matter of drilling down, so what I need is a ‘Dummies Guide to Unity in 24 hours’ sort of thing.
Starting with freeCodeCamp, I found one which looks like a good start: The Ultimate Beginners Guide To Game Development In Unity by Hugo Dolan. He even uses web development analogies, which is great for me. I’ll even forgive him for using “your” when he meant “you’re”, won’t even mention it, again.
Also of interest to the project is this: Create AI for Your Own Board Game From Scratch — Preparation — Part 1, found on towards data science.
Not sure I’d use the following, especially at £40 for a dated tutorial, but it reminded me of the sort of things I need to consider when coding – like point distribution, tiles in the (virtual) bag. As the game (Horseplay) already exists in physical form this is really a ‘from scratch’ port more than a new IP, but from a project planning point of view, good tip.
Develop a Word Game with Unity UI Components. Learn How to use Unity UI Components to Develop a Word Game.
Day 3, planning ahead
Ignoring the obvious – like actually learning Unity, C#, and A.I. programming – I need a list of broken down tasks, which, once I start, will obviously need to be further divided.
The board game as it stands has three variation and can work for 1 to 4 players, but really, 3 players is a sod, so would need a four-player set-up with an A.I taking up the last place(s), which of course means I’ll need up to 3 A.I. Or 4 to watch it play itself, which might be interesting too.
The physical game has a flippable board for a 9×9 or a 11×11 grid, but such constraints would not apply to a digital version, which is great, but adds a new constraint, that of screen size and resolution. A 15×15 might be perfect for a PC, fine for a tablet, but effectively unusable on many smartphones. Sure there is the pinch and expand thing, but not so much fun, plus each change would need a new library of rules for set-up. Not a big concern, but needs adding to the list.
The strategy game is primarily a word game, or a maths games, or tokens. All three want doing, but maybe in iterations, or releases. The movements (and A.I) remain consistent, but one requires an array of letters, the next numbers and symbols, the next a token tally. So RNG array that factors in removals, dictionary checks, and so forth. Arrays and databases.
A can’t draw worth a damn, and if it’s to be popular it needed a certain pazaazz. Animated players pieces, different skins, different boards, so themes: one person might like a Bo Peep look to the game, the next Staunton chess, the next a fantasy or sci-fi look.
And I can’t hold a tune, my mind doesn’t work that way.
Also, for the future, possibly, language ports.
Checklist, in no order:
- Learn A.I programming
- Learn grids
- Learn token positioning, movement etc.
- Learn arrays, and RNG coding
- Learn embedded SQL C# for Unity
- Learn scene-making and character modelling (but see music, next))
- Find music, off-the shelf, asset stores, or find someone cheap.
- more stuff
- even more stuff I don’t known that I don’t know!
It’s waited 30-odd years, so there’s no rush, but if I sit on it, it doesn’t get done, so I’d better make a move, eh.
The exam for the most part was simple, but you had to add a picture to a HTML page with JS – in a particular way. Still can’t get my head round it and not going to try. The solution was to use a canvas by NOT using a canvas – and I’m on the spectrum, I do binary thinking, shades of grey, not so much. Instructions that suggest you call a frame and do not use the frame to add the image to the frame you haven’t referenced… Quantum physics I can grasp, legalise and gibberish, not so much!
So, I’d rather take an extra month to work through the courses and projects on learn.unity.com to see if I can find the things I don’t know that I don’t know, instead of having them find me! Perhaps the programming equivalent of “speak softly and carry a big stick.”
These two seem good too:
The forum interested me somewhat as I had never gave a thought to WordPress based forums; the last forums I used were nearly 20 years ago, using phpBB and similar, but it should have been obvious as galleries went the same way.
Days 4 to (~), training
Actually working my way through all the youtube tutorials etc, this may take a few days, so to be updated.
Links I’m using include:
- Unity . learn
- Learn . Unity
- Unity: How to make games with no coding in Unity
- Unity manual
- Unity Asset Store (listing free for v2019.x)
- Create a Chessboard with 2D Arrays
- Unity Game Tutorial: Board Game – Ludo 3D (Looking at, not recommending, it’s £30)
- The Ultimate Guide to making a 2D strategy game in Unity (Looking at, not recommending, it’s also £30)
- Antti Kovanto: The Improvements for Indie Game Development (Bachelor’s Thesis, 2013)
- Downloads and Assets for JV Unity tutorials
- Jimmy Vegas channel on youtube (109k subscribers)
- Brackeys youtube channel (1.12m subscribers)
What I am noticing a lot as I look for guides etc is the how fast things get dated. Unity is constantly evolving, which renders a lot of comments and advice obsolete, ditto for suggestions for the asset store, ‘cos they aren’t kept up to date. Something to keep in mind.
Now watching: How to Make a Game – Unity for Beginners
Finished watching and contemplating a tutorial by Jason Weimann, and, if I had the money to spare, would certainly be interested in his Unity Mastery course. It’s $997, ($499 with the coupon code) and I’ll never work again, so it’s a hard ask, but tempted all the same. I did look at all the books on Amazon, added a few on C# and Unity to the wishlists, but really, I think this would be better if you wanted to get into the industry in a hurry.
For clarification, that is not an affiliate link, and I don’t know the guy, but my gut tells me it would be a good course – for me. I neither want nor need hand-holding, so a fast-paced course (with no exam stresses) works for me, you may be different. He also does an advanced course, with includes the basic one, but you are expected to have 3 years experience.
Now back to Brackeys and Johnny Vegas.
Links and comment
There’s a wonderful line in a book on procrastination by Brian Tracy (Eat that frog!), it reads thus:
An average person who develops the habit of setting clear priorities and getting important tasks completed quickly will run circles around a genius who talks a lot and makes wonderful plans but who gets little done.
‘Genius’ is such a hackneyed term that it’s meaningless, read any recent dictionary on psychology and they will tell you as much. Most self-made millionaires did poorly in schools, but tended towards an IQ around 120. Similarly, Warren Buffet points out anything over 130 is wasted and that rationality and emotional stability is more important than IQ, something I can attest to.
As Yoda says, ‘Do or do not, there is no try’
Additional links I’m booking marking as I go include:
Asset store ultimate grids engine ($40)
Unity asset store: Atavism ($++)
Atavism online ‘THE MOST ADVANCED MMORPG PLATFORM EVER’ ($++)
Asset store: uMMORPG ($80)
Noobtuts: How to make a MMORPG
MMORPG discussion / Building your own MMORPG – It’s possible.
Free and commercial art assets for Unity (etc) from:
- Game Developmment Studio (Have some nice 2D stuff, IMO)
- Pinterest page for above: Robert Brooks: 2D game assets
- Turbosquid are mostly high end, all formats, but includes some free 3D art for Unity. (e.g I’m learning, I want free, I’m umm’ing and ‘arrr’ing over a pack full of insects for £20. The Turboquid versions tend towards life-like, with a $50 to $100 each price tag, like this earwig.
- Brash Monkey‘s sprite animator on steam: Spriter pro might be worth a look
Project tool: Milanote is an easy-to-use tool to organise your ideas and projects into visual boards.
Mostly not free, but another asset store: Free3d
Low cost pixel art sprite editor: Aseprite (available on Steam too)
Pyxeledit, Also available on steam, but seems abandoned (with blame pointed to EU!). Some recommendations for the main package, which is very cheap, but the add-ons get slated on Steam reviews.
THIS however, is awesome! OK, maybe I’m not setting the bar too high, and it’s only a sprite generator for tiny people, not creatures, but you can fill a village with wandering NPCS or characters using this online character generator: Universal LPC Spritesheet Character Generator.
See also the associated assets page OpenGameArt, the Liberate Pixel Cup page, and a related post on Games From Scratch
YaPangolin: Analysis of an indie game he created for Steam.
I did find a promising looking page on Unity Q&A, but sadly the links were neither maintained nor re-checked, most of the links were either dead, redirected to ‘buy this domain, or blocked because of malware! Dangerous are well as sloppy, Unity!
Still, I found a few that weren’t useless:
Looking for 2D at present, but this site, 3DRT, looks good for when I start on 3D games. Does include a few free assets, such as these Goblin sappers, but I think the prices look reasonable. Not the photo-realism of the turbosquid site, but models here are closer to £20 each, here.
Finally, for now, is 3dModels-Textures, a ‘Game Assets Marketplace’, offering “3D models, Textures, Music, Sound Effects, 2D interface, Free and cheap 3D models, and much more”. Seems overhyped for their range, but the models are closer to a fiver each, so good if you are on a tight budget.
There is Deviant Art, of course, but their search system seems overwhelming to me.
Similarly, and perhaps better known for web stuff is Envato, and their Graphic River site. (I do note that a number of these assets are also free on the artists own sites, so sometimes worth looking around – such as those from Toke Game Art.
I will tidy up all these links another day, for now I’m too busy adding to be doing 😀
Another promising looking site is Craftpix, which offers ‘free and premium assets’. I approve of their logo at any rate 🙂
£11 a month, £30 a year to join, which gives a discount. Might well be worth it if they have much of interest to you. I’ve highlighted a few words of interest. I’m currently flippping through 11 pages of their freebies 🙂
In this section you can download free 2D game assets for arcade, strategy, platformer, RPG and many other game types. There is always a variety of free game art. These are kits, GUI, backgrounds, tilesets, icons and free 2d character sprites. All the graphics you can integrate into such popular game engines as Construct 2, Unity, GameSalad, Unreal Engine, etc. With their help you can create game projects. All presented graphics at an affordable price and has no restrictions on use in commercial projects, as well as you can feel free to use each product in unlimited projects.
Again, I’m not ‘selling’ you these sites, I’m looking for some very specific assets for a game: beetles (etc), ideally free, more life-like than pixellated. Surprising hard to find. Or have eye-watering prices for what is essentially a learning project. These are the ones I deem of use or of interest.
OK, for what I need, Craftpix is awesome! Wholly recommended. It terms of “OK, I like that!” it’s not as good as Robert Brooks Game Developmment Studio, but it has a much bigger range, and include stuff from other sites that would add up to a hefty sum. Both are great sites for 2D game design assets.