My intention is to start writing a type of development diary, updated weekly, on a game I've recently started working on during my free time. My main motivation for keeping a dev diary is to put more pressure on myself to develop the game instead of doing other stuff (like watching or playing SC2) and of course to get input on the game itself from anyone willing to give their 2 cents.
I aim to update this blog every Wednesday and release a new build of the game for people to try out, for free obviously. I've also considered streaming my development but that will unfortunately be sometime later (next year most likely) as I live in China right now and the internet connection sucks donkey balls.
With this first entry I will try to give an idea of what I think the game - as per my current design, subject to radical changes - is going to be like, and what my goals are with the project. Before that though, I'll briefly explain about my background. I work full time as a game producer. To people unfamiliar with the term, my main responsibility is taking care of issues that the developers (programmers, designers, artists, sound designers) are facing and to facilitate their work to make sure the game is finished on schedule and at the best possible quality. Here's an entirely optional yet rather amusing and accurate ~9 minute Youtube video to explain it:
As valuable as a producer is, I often get the urge to actually get down and dirty and to create something myself. The problem is, I absolutely SUCK at doing any kind of art. Like, I'm horrendously bad. I only have rudimentary skills in Photoshop/3ds Max/etc. I don't have much interest in learning art even though I highly admire good artists. My current plan for art is to keep it simple and do what I can myself. Depending on how things go I might try finding someone to do the art or just buying the assets. As for sounds and music, I will definitely have to find someone to help out with those.
When it comes to programming, I only know some basic C# and now a tiny bit of Javascript as well. I want to learn programming. I often have ideas for games and I would really like to be able to make at least a simple playable prototype by myself to test the concept. Also, I actually feel like I would really enjoy programming as I do enjoy mathematical problems and problem solving.
To develop the game I'm using what is basically the current go-to engine for many indie developers, very beginner friendly and free (at least for my purpose at this time): Unity3D (www.unity3d.com). There's tons of guides out there for developing stuff in Unity, and it supports virtually all relevant platforms, so this is an easy choice.
My 2 main goals for the project are:
1. Release a game 2. Learn programming (javascript).
All other decisions regarding development I will make with these two goals (especially the first one) in mind.
So what in the actual f*ck is the game going to be like?
I would describe it as an arcade single-player FPS. The target platform is PC via digital distribution. I have a lot to learn and to do and I will work on the game mostly during evenings and weekends so it is likely going to be released sometime... later. Don't worry, the first playable version will be here next week!
At first my core idea, or perhaps premise, for the game was this: 1. Practically every modern FPS has lots of, or at least some, destructible objects such as windows, urns, doors, etc. 2. It is fun as heck to shoot all the destructible objects you can find, wouldn't you agree? It's fun even though in most games there's no practical benefit to doing so. It's just FUN!
That's it. That's the core! A game based around the idea of destroying as many objects as possible on the map within a limited time. The game would of course include leaderboards to compare yourself against fellow players (and to show your friends who's the boss).
The movement would be very fast and parkour-ish, something akin to Action Quake 2 (old but extremely awesome FPS game). Bunny-hopping (Mouse Right Click to jump) would allow you to move around the map extremely fast, and you could double-jump off the walls Super Meat Boy style. A design goal for me is to make it 1) fun to move around, 2) allow skilled players to move around ridiculously fast. I am not entirely sure how to achieve this. It would be cool if it was somehow mechanically demanding. Any ideas for this?
I also had an idea of making the reloading somewhat difficult. Instead of simply pressing R, you would have to quickly input a sequence depending on certain conditions, such as FQEWQ. The faster you write the letters the faster you reload - and reloading during jumping would obviously make the most sense as your left hand is free for a split second.
Regarding the core idea, I realized pretty soon that simply destroying windows/etc would grow boring quite fast. I came up with a concept that introduces a subtle puzzle element. The concept is based on objects and bullets of different colors. You will likely recognize the color wheel:
Now, imagine you are in the game and there are 2 green boxes and 2 red boxes in front of you (you will see something like this next week in the first playable build :D). Let's say shooting 3 normal bullets at a single green or red box would destroy it.
Instead of a normal bullet, you can reload bullets of certain color when you input the "reload sequence" (For example, 1 for red, 2 for blue, 3 for yellow). A red bullet would one-shot the red box. Red and green are counter colors, so a red bullet would take 4 shots (instead of the normal 3) to destroy a green box. Furthermore, shooting a blue bullet at the green box would "destroy" the blue in the box, turning it into a yellow box. Then a single yellow bullet would destroy it. Cool!
I hope the explanation of this concept is not overly confusing. There is a lot to test and think about but initially I feel like it could allow for some pretty fun gameplay. Applying this concept to a machine gun would be quite tricky. It might also be too difficult to keep track of the bullets you reloaded/shot/possibly missed, etc. Only way to be sure is to test it out so I will try to have this concept in its basic form in the first playable version to test.
That should cover the main points of the game design I have come up with so far. I have a bunch of additional ideas but this entry is already quite long so I'll leave those for a later post. If anyone has any ideas/comments/thoughts regarding the game design (or something about game development in general), I would be more than happy to hear them.
Finally, here is what you can expect and I will try to deliver in next week's build:
• Prototype/test map • Basic movement (no bunnyhopping or doublejumping yet) and shooting • Spectacularly Awesome Red and Green boxes! • Particles are shown when box gets shot, but no real "destruction" effect yet • Reloading Sequence with Normal, Red and Green bullets • Bullet color <-> Box color mechanics • Sound for firing weapon, firing empty chamber, reloading weapon and hitting a box
So you want to make games, but don't know much programming or sound design or art asset creation? Good luck.
Also, I think unity game engine uses lua for scripting, not javascript, although you can make cool games with HTML5 canvas and webGL that run in the browser using javascript.
I've seen the color wheel game concept done before, but I've never seen it done in a way that was compelling. Also making destructible environments in a believable fashion is really hard.
Ideas for games are a dime a dozen. You can find a million people who could come up with "new" ideas for games all day long. Actually implementing the game in a way that's fun is really hard. You could probably take a "terrible" idea for gameplay, and if you make it right, you might be able to make something fun, maybe. But no matter how "awesome" your idea is, if you don't make it correctly it's worthless.
I don't really mean to discourage you. I've made a couple games as a hobby, and it's really fun. It's also incredibly time consuming, difficult, and requires a lot of prerequisite knowledge. Keep in mind though, your first game is going to be terrible, and not really fun to play. But if you really want to make games, well the best way to start is to try making as many games as possible.
On August 01 2013 04:52 jrkirby wrote: So you want to make games, but don't know much programming or sound design or art asset creation? Good luck.
Also, I think unity game engine uses lua for scripting, not javascript, although you can make cool games with HTML5 canvas and webGL that run in the browser using javascript.
I've seen the color wheel game concept done before, but I've never seen it done in a way that was compelling. Also making destructible environments in a believable fashion is really hard.
Ideas for games are a dime a dozen. You can find a million people who could come up with "new" ideas for games all day long. Actually implementing the game in a way that's fun is really hard. You could probably take a "terrible" idea for gameplay, and if you make it right, you might be able to make something fun, maybe. But no matter how "awesome" your idea is, if you don't make it correctly it's worthless.
I don't really mean to discourage you. I've made a couple games as a hobby, and it's really fun. It's also incredibly time consuming, difficult, and requires a lot of prerequisite knowledge. Keep in mind though, your first game is going to be terrible, and not really fun to play. But if you really want to make games, well the best way to start is to try making as many games as possible.
Unity uses C# and javascript (mostly interchangeably), not LUA, so it's a good fit for the programming experience he's claiming here. (Though honestly if you know much of anything about either C# or JS, LUA should be simple to pick up.) Unity also (in theory) takes care of most of the hard problems you really need experienced programmers for, so it's a good setup for someone with limited programming experience. This is likely one of the reasons its become fairly standard for small projects especially.
It's also a very good prototyping tool. You can go a long way toward developing a game with no real art assets. Throwing in random quads, untextured cubes, or if you want to get fancy, quick paint sketches will go a long way to proving mechanics, as long as you know what they mean. I'd focus on just getting your game systems running with "programmer art" (as we engineers affectionately call it), and worry about what you're going to do for art later. You can grab some assets from the Unity Asset store later if you want, or possibly shop your idea around to artists you know once its fleshed out a bit, and see if any of them are interested in it and feel like doing some work on it.
A word of caution on the language selection: if by any chance you think you'll ever be trying to release on windows devices via Windows Store, javascript isn't supported for that; all your scripts will have to be C#. Probably not an issue for you, but just putting that out there.
Also, since OP is a producer, obligatory "go get me dinner and stop asking me when this feature will be done."
On August 01 2013 04:52 jrkirby wrote: So you want to make games, but don't know much programming or sound design or art asset creation? Good luck.
Also, I think unity game engine uses lua for scripting, not javascript, although you can make cool games with HTML5 canvas and webGL that run in the browser using javascript.
I've seen the color wheel game concept done before, but I've never seen it done in a way that was compelling. Also making destructible environments in a believable fashion is really hard.
Ideas for games are a dime a dozen. You can find a million people who could come up with "new" ideas for games all day long. Actually implementing the game in a way that's fun is really hard. You could probably take a "terrible" idea for gameplay, and if you make it right, you might be able to make something fun, maybe. But no matter how "awesome" your idea is, if you don't make it correctly it's worthless.
I don't really mean to discourage you. I've made a couple games as a hobby, and it's really fun. It's also incredibly time consuming, difficult, and requires a lot of prerequisite knowledge. Keep in mind though, your first game is going to be terrible, and not really fun to play. But if you really want to make games, well the best way to start is to try making as many games as possible.
Unity uses C# and javascript (mostly interchangeably), not LUA, so it's a good fit for the programming experience he's claiming here. (Though honestly if you know much of anything about either C# or JS, LUA should be simple to pick up.) Unity also (in theory) takes care of most of the hard problems you really need experienced programmers for, so it's a good setup for someone with limited programming experience. This is likely one of the reasons its become fairly standard for small projects especially.
It's also a very good prototyping tool. You can go a long way toward developing a game with no real art assets. Throwing in random quads, untextured cubes, or if you want to get fancy, quick paint sketches will go a long way to proving mechanics, as long as you know what they mean. I'd focus on just getting your game systems running with "programmer art" (as we engineers affectionately call it), and worry about what you're going to do for art later. You can grab some assets from the Unity Asset store later if you want, or possibly shop your idea around to artists you know once its fleshed out a bit, and see if any of them are interested in it and feel like doing some work on it.
A word of caution on the language selection: if by any chance you think you'll ever be trying to release on windows devices via Windows Store, javascript isn't supported for that; all your scripts will have to be C#. Probably not an issue for you, but just putting that out there.
Also, since OP is a producer, obligatory "go get me dinner and stop asking me when this feature will be done."
Yeah, you're right. I must have been thinking of Havok game engine or something. I should google before opening up my mouth.
On August 01 2013 04:52 jrkirby wrote: So you want to make games, but don't know much programming or sound design or art asset creation? Good luck.
--
Ideas for games are a dime a dozen. You can find a million people who could come up with "new" ideas for games all day long. Actually implementing the game in a way that's fun is really hard. You could probably take a "terrible" idea for gameplay, and if you make it right, you might be able to make something fun, maybe. But no matter how "awesome" your idea is, if you don't make it correctly it's worthless.
I don't really mean to discourage you. I've made a couple games as a hobby, and it's really fun. It's also incredibly time consuming, difficult, and requires a lot of prerequisite knowledge. Keep in mind though, your first game is going to be terrible, and not really fun to play. But if you really want to make games, well the best way to start is to try making as many games as possible.
Well, you gotta start learning somewhere, right? As Macavenger mentioned, Unity is quite friendly to people who don't know a lot of programming. The company I work at uses Unity as well so if I get stuck I can always ask someone for help.
I do realize ideas are worthless and this is not a very original one. I'm going with this design because I believe the concepts would help in learning to program and most importantly because they don't feel impossible for me to do, with some research of course.
I figured if I spent some of the energy and time that I used to put into learning SC2, into learning programming instead, I would be at least decent in a year or so. This is obviously also a hobby project and I have a job so there is no financial pressure or anything. Just hoping to learn and make something some people might enjoy.
Macavenger, thanks for the info on Windows Store/javascript, very good to know.