There’s a good reason I didn’t make the game announcement until fairly recently: I never thought I’d actually get it to a playable state.
It still isn’t there, but I’m closer to doing this than I’ve ever been, and it’s been on my bucket list for quite a while.
With the Abundanti concept story brewing in my head and notebooks over the last two years, I dreamed of selling the idea someday to a good maker like Bethesda, so that it could shine in a game environment.
Why would I outsource it? The last game I designed was while I attended high school, and I can’t tell you much about it (it was obviously so important to me that I don’t remember it at all) but it was definitely below par. While other gaming companies were making Diablo II and MechWarrior, I was stuck in some early 80’s arcade mode, and couldn’t make the jump to glx and “modern” graphical environments.
Worse, there was nobody to teach me. I dropped my CS major for Physics not only because I felt most of my professors were incompetent fools (You’re still cool though, McDermot, talking about a few others), but because they made my college life stink of boredom and mediocrity. I must have wrote 10 bubble sort algorithms in what were supposed to be college-level classes, and I was graded on a different scale than the rest of the last class I took, simply because I had the week’s assignments done before leaving the classroom on Monday.
Anyway, bitching and whining aside, I gave up on programming. Most of my endeavors in that arena since have be tweaking and modding games or designing programs to sort out complicated math problems or philosophical curiosities (that’s right, Cody is real, and he’s under development), not counting my work on websites and such, wink. Every time I tried to step back into game development, I hit a brick wall. I know how long it takes to write code, and how relentless debugging can be. The project always seemed too big.
Today, the game is different. Free modeling software like Blender allows anyone the opportunity to create their own 3D dream world, with a little practice and a sharp learning curve. 3D modeling has always been a shortcoming that prevented me from doing this, as I don’t have the funds to hire a team. Even without it, I could be happy designing a 2D world, but the proposition is just as tricky. Coding today isn’t like it was, and implementing some of my ideas without back-door passes to PNG or BMP encoding makes life tricky.
Luckily, this has all been handled, too. Most game engines will do all the heavy lifting for you, and the graphics components of programming have gotten much easier to implement. It was a small struggle to figure out how to export my Blender models directly into a game engine, and have them on the screen in their own virtual environment seconds later. That’s the power of today’s engines. What could be better?
What if that power didn’t cost anything?
For nothing more than a computer and an internet connection, literally anyone could potentially start building their own games and CGI movies. Anyone. Even you. Like anything else, it takes a certain amount of focus, dedication, and desire, but it’s not outside of your grasp.
Being good at math helps, but that too can be learned.
Even so, I didn’t start the 3D rendering project to build a game. I wanted a visual representation for my fantasy world that went above and beyond the typical map on the inside cover. I wanted something I could look at from different angles. I wanted to see the sunset over the world in my mind, explore the dark forests, see the beasts and beauties that I have spent the last two years dreaming up.
I knew the capacity was there to make it a game or a series of short movies at some point, but I was mainly building the map. This map:
Rather, this is one tile of the larger map. 1/64th of my fictional world, but this is where the story begins. The Diamond Lake and surrounding territory. This is tile 30, and for the moment this is the whole world of the game engine. Gape’s village (from the recent short stories found here) is just to the left of the big lake in the picture, and the Abundanti capital, North Lake, is just above it in the picture, next to my unfinished waterfalls.
I’m not a graphic designer, and this will never be a AAA game. I’m just one guy, doing everything from the 3D resources to optimization to programming, and most importantly, story board. I’m not expecting to accomplish what takes a team of 100 years to sort out. I’ll never be cutting edge, but with todays tools, I can have something, and I can find another way to bring life to my story.
The tool I’m using for this is the Godot Engine. This is a 2D/3D game development engine that encapsulates many common game items into nodes. The principal programming is with the engine’s script language, but other common programming languages can also be used to take care of fiddly bits. Mostly this is for optimization or adding features that aren’t already there or easily doable with the Godot nodes. The model above was created in Blender, and then imported to the engine simulation.
The Next Step
Things have taken a different turn in the last few days. I’ve put the pretty graphical bits on hold and started developing code for the simulation. This is game code. I finished the menu chunk (visible in the top image on this page) yesterday, and actually built one of the foraging functions today. That moves me firmly into “Game Design” and out of my concept phase. As such, I’m thinking about the engine and functionality.
There’s no point in making the same thing everyone else is, and I think the old D&D dice-roll stat-tracking system is a bit dated for what the current machinery is capable of. There is a difference between GPU computations (that your graphics card handles) and what the CPU is doing, but still, there’s a lot of bandwidth, and I feel it’s being wasted on pretty pictures. I want functionality, and as a kid who grew up playing Atari/Arcade/Commodore games (well over 500 of them), I have some ideas about building another system.
So, at least for the moment, I’m nixing common tropes like hit-points, experience-points, mana-points, battle damage as a number, character attributes as a number, etc. There’s too much calculation that goes into playing a role-playing game and not enough role-playing, if you ask me.
So I’m going to try scrapping all of that. Visual cues and the “feel” of the game will convey character changes and the sum of experience. Wounding won’t be rouge-like (where one touch can kill 8 hours of game-play), but the point of the game won’t be to fight everything in sight and risk death at every turn. Most of all, I want my NPCs to actually participate in the game, and not feel like sock puppets following a pre-written script.
That may be a lot to bite off, and I’m not sure I can chew it all, but the first part of the stat tracking is already coded. It came naturally to the “forage pebbles” code. Finding the first pebble is a pain in the butt, but after a little time and knowing where to look, you will notice the hero picking them up three or four at a time. This is all done without an experience meter or “buying” stat points, organically.
Naturally, I’ll need some help at some point, so hopefully I can start raising funds for the pre-alpha version. Anyone who contributes will automatically get newer versions of the game as they are released for free, a fairly common Alpha-release strategy now-a-days, while the price goes up for people buying in later. More on all of this as it develops.
For now, I have a plan, some things I’d like to see in an RPG to implement, and some pillars that I refuse to back down on. Story design will be the primary focus, over battle-system and action. Immersion is interrupted by stat tracking (I believe), so stats will be removed. Every NPC should have a purpose, and they should have their own story, too.
I have a little version list to keep me on track. I’m almost at 0.02, hehe. Actually just two more short bits of code to write and I should be there. Not sure when I’ll setup the funding thing, but if you are interested in helping on that front, let me know. Money makes it easier to do a lot of things, and if the game is good enough, it would be nice to get paid for doing all this. Truth be told, I’ll do it anyway, but you know.
Anyway, that’s what’s been sucking all of my spare time lately. I’ll leave you with a bit of rocky landscape from the map.