[GameDevDiary] My attempt to learn how to make games!
I had such a great time doing the SA GAME JAM 2016 and the experience has inspired me to learn how to develop games properly. I've never made a game before (other than our Twine-based game A.I. - Anomalous Identity). From what I can see, a great way to get into the swing of things is to make as many games as possible - to play around with different ideas and mechanics. Rami (Vlambeer) wrote a great article for Gamasutra that gives some guidelines for making a game a week, so that's what I'm going to try.
I work full time, so I'll have to tackle the challenge in the evenings and on weekends. While it's a pretty daunting task, I'm super excited to get to it!
I'm hoping to use this discussion thread to document my attempts and make sense of what I have learnt. I will try to keep it as up to date as possible.
I look forward to your feedback.
I work full time, so I'll have to tackle the challenge in the evenings and on weekends. While it's a pretty daunting task, I'm super excited to get to it!
I'm hoping to use this discussion thread to document my attempts and make sense of what I have learnt. I will try to keep it as up to date as possible.
I look forward to your feedback.
Comments
The Idea
So I started this week with the idea of trying to get my head around the Unity framework, C# and how things fit together. I decided to keep my first game as simple as possible, an endless runner. I thought that it would be quite straight forward but was amazed at how many details could be found in good runners like Canabalt. There is a lot of Juice that can be squeezed into this genre of game. I did try to think about how I could try innovate on the endless runner genre but I thought that I might be getting ahead of myself. I decided to focus on just getting a game done by the end of the week :)
So here is my attempt: Cat Runner
NOTE: please play the game in 1280x720 (windowed) otherwise you won't be able to see the character. I don't have time to look into fixing this. I promise that going forward my other games won't have this issue!
Also I am sorry for the huge file size! That is another thing I will make sure to improve upon!
I will mimic MSMinotaurs' approach to writing up the game a week experience.
What went right
I am just going to give myself a pat on the back for having begun this whole process. I managed to complete a game in my first week and had a great time doing it!
I had fun doing the pixel art from scratch and feel like I did a decent job.
What went wrong
The game is wonderfully buggy as you will see if you play it for more than a minute.
To be honest I spent way too much time on the artwork and this also became a distraction while doing the coding. I fiddled way too much trying to align things and get the animations correct.
There is a whole list of Juice-based features that I didn't manage to do.
What I learned
I feel like I have the basics of Unity down and I think I learned some quite important lessons in terms of procrastinating by working on visual elements instead of making sure that the mechanics are working soundly. From this point on I think I will try my best to leave the visual things to the end :)
Credit:
Game Background Music - http://www.newgrounds.com/audio/listen/190597
Sound Effects - http://www.bfxr.net/
I look forward to beginning this process again tomorrow... though I have yet to think of a theme to work with. If anyone has a suggestion for a theme please let me know! And while I know this is not a very exciting game to play and the problems are quite self-explanatory, I would appreciate peoples thoughts :)
That said, the parallax movement of the background is really nice. (And the art is charming!)
Just some feedback you're probably aware of (I know your cat runner is just a first test, in your first week, but I thought maybe there are some things to think about):
The cat stops now and then, and it seems like this happens whenever a certain graphic is present, but I expect this is something you started by didn't finish.
Because of the size of the characters and the speed at which the cat runs, this is very much a game of reactions. The player has about 0.9 seconds to jump after seeing an obstacle (initially, eventually the cat has to jump all the time and eventually that's not enough). And there isn't air control (like in Cannabalt... the longer you press the longer the character travels upwards, there is a max height, but short jumps are also possible), and along with the relatively quick reactions required there isn't much room for planning (Cannabalt by contrast has quite a small character and more control, but adds to the difficulty by having more complex levels). That said, I actually don't know what the state of the infinite runner in 2016 is, I assume there is something more innovative than Cannabalt by now.
There are games that are just about reactions and learning patterns (like Bit-trip runner or Super Hexagon), that is also a valid path to take. Those games (as far as I can tell) require even more precise timing than your Cat Runner, but to be honest, I don't exactly understand this type of game.
Cats are an appealing theme. I'd love to have seen some more things in the game that made it really feel like being a cat (an infinitely running cat to be precise).
(Cat games are a really smart way to go for simple games/prototypes)
Looking forward to week 2!!
I think going forward I will try to make artwork that is a little bit more generic so that there is reusability for future games.
As to the cat getting stuck, I tried to see what was causing the issue but it wasn't anything obvious and as far as I could see none of the collision boxes were touching.
I must admit that I didn't do much research in terms of endless runners. It was the simplest seeming game to make at the time. I just used one or two that I knew of as reference and just winged it. So there is a lot I don't know about this genre of game. Going forward I would like to try to be a bit more structured in my approach and try to have more clear goals in mind.
You are correct about the air control, it would have been useful and given way more control. Also, there are a lot of variables that could use adjusting and I hope that with experience I'll be able to know which ones to push and pull to get it to feel right :)
I did have plans to have a start screen which started in a home and escaping out a window into nearby fields which would have explained the setting a bit better.
Week 2 planning is underway. I will try to post some more info later tonight!
So I have a rough idea floating in my head. It is some sort of mixture between Super Crate Box, Titan Souls, rogue magical boomarangs, bullet hell games like Enter The Gungeon and death being entirely your own fault. I will have to elaborate more tomorrow once I have figured out some things like if it should be a side on game or top down.
Yay for public holidays and having a whole day to work on game dev! :D
Prototyping and rapid game design teaches you about the many small details that anchor your game. They teach you how long certain features take, and how hard it is to get them working correctly. They teach you how to receive and incorporate feedback (one of the hardest things to learn). You become less afraid of failing, and more intrigued with testing new ideas.
Good luck, soon we'll be pointing all the "How do I get into game design" questions to this thread :)
@Rust: I think the extension will be until the end of Sunday. My weekdays are usually very busy with work and travel (since I made the terrible choice of living in the CBD and working in Stellenbosch). So weekends are when I have the most time to get some real Unity time in.
@Kobusvdwalt9: Thanks so much for the support! It's rad to see people interested in my first tiny forays into game development. Lets hope that I make some interesting experiments :D.
I haven't really set a time limit. I think you are right and I should set one. Perhaps 3 months is a more attainable goal at this point. Though to make it nice and round I think that I should try to do it until the end of 2016. Then by 2017 I will hopefully have found an idea that I can focus on and take forward into a more polished game. ^_^
A list of details:
- It took me faaar longer than it should have to figure out the top-down movement and shooting. I also got a bit too hung up on making sure that the bullets were orientated in the right direction when shot. Still, it was a good learning experience.
- So I have implemented a basic boomerang that gravitates towards the player. It tends towards orbiting the player instead of coming back to them which is not really what I want but is still somewhat cool :). I am still trying to get it to feel right, I have just been playing with numbers and hoping. Though I think if I mix something like a spring and an orbit I think I may just get the right action. To be investigated...
- I want to add a Worms style charge up bar for how hard you throw the boomerang.
- I have a shield that the player can use to deflect the boomerang. The intention is to have this as a charging resource that you could use in dire circumstances to save yourself or to direct it at the enemy.
- I want to add a dodge roll that will have two purposes; to get out the way quickly or if done correctly will allow you to "catch" the boomerang again.
- I want to play around with some basic enemy AI to get my head around that
- I need to add game elements, like objectives and the like.
So yeah, I have made a few terrible gifs that may give you a better sense of things:
The boomerang:
MOAR BOOMERANGS:
The shield:
I used LICEcap to make these gifs, does anyone have a better suggestion of gif making software?
I know it isn't much but please give a shout if you have any thoughts! I hope that I will have something sort of playable before the deadline so I can get some real feedback :)
I liked ur Catformer game! I have never had my girlfriend take notice of any game i have played in the past. But while testing your game, she was walking past and I got a 'stop and awww'. Followed by 'Thats is so cute, what are you playing?' So kudos to your cat design!
Good news to see the momentum going with game 2!
I read ur post to quickly and thought you wrote 'I have made a few terrible gifts to show us' !
One possibly way to solve the orbiting of the boomerangs is to make the boomerang's acceleration a function of proximity to the player. The closer it gets to the player the quicker it can accelerate and turn. Then at close proximity it becomes impossible for the boomerang to miss the player. ( that 'magnet effect' can be tweaked to only work on close proximity so that the boomerang's normal trajectory is still lekker 'boomerangy' for lack of a better word, hehe.
But on the other hand, the idea of purposefully avoiding your returning boomerangs and keeping them 'in play' makes for an interesting strategy against another player/AI. Maybe having only one boomerang in flight means it damages the enemy at 100. But 2 boomerangs in flight damages enemy at 50 a piece and so on. Until you could have a swarm attack strategy of 10 boomerangs flying everywhere only doing 10 damage a pop.
Looking forward to the finished game :)
So just wanted to let you know please keep going it is awesome what you are doing and it'd be great if you can keep it up!
If you need ideas in the future for what to do next you could ask here and we can throw some ideas your way on things to try.
Good luck and have fun
@vince: Thanks for the support! I appreciate you taking the time to comment on this thread :)
Yeah I can imagine that as the weeks go by it will be hard to keep coming up with different ideas. Luckily it is still early days and I have a bit of a backlog of ideas that I want to get out of the way. Going forward I think it could be a useful challenge to get external themes that are suggested by others :)
(Sorry for the gif repost - I am very tired)
The Idea
The ideas was to have a game where you play a "new" or inexperienced hero. They have just received a powerful/magical boomerang to use on their adventures but no one told them that there would be a learning curve and so they try it out and realise that they don't have control. So they have to try to learn to wield and in the process manage to cause a good deal of destruction. I kind of imagine it as Link destroying pots in Legend of Zelda (The pots can finally get their revenge and get Link back :D )
You play as the blue block and must use the Death-a-rang to destroy the red blocks. When the red blocks are destroyed there is shrapnel that will bounce around the level which adds an extra level of difficulty. When a red block is destroyed another one will appear randomly on the map. You get 1 point for every red block destroyed. If you get hit by a red block, orange block or the death-a-rang the level starts again.
Controls:
WASD for movement
Left click to throw the boomerang towards your mouse cursor
Right click to bring up a reflector/shield (Can't move while it is up and it has to recharge after use)
Left shift for a quick dash/roll to get out of dangerous situations
What went right
- Despite it not working too well I am quite proud of the boomerang movement,
- I learned a great deal while making this game.
- I feel like with enough TLC this could be quite a fun game but I think my lack of game design experience limited it.
- I am still having fun which is important
What went wrong
- Well firstly the game got dragged out over two weeks which is not ideal. And even though I had 2 weeks I still didn't manage to finish all the features I wanted to do.
- There are a good few things that could use tweaking and it doesn't feel very gamey to me. I am not sure if it is fun at this point...
- The boomerang can be awkward to manoeuvre and this can lead to frustration when trying to hit a red block.
- For some reason you can walk through the outside wall (I didn't have time to debug this :P)
- Spent way too much time tinkering with the boomerang mechanics and not really improving it too much from when I initially got it working.
- Messy code.
- No deathscreen/startscreen/GUI/ScoreMemory (I really need to work on getting this stuff right!)
- Still have no clue how to make it so that the game is screen size independent
What I learned
- I have a better handle on the Unity physics engine now though I do know there is a lot more that I can learn.
- I now know how to make a top-down shooter :D
- Game design is hard.
- Like really hard (but man I am enjoying it ^_^ )
- I learned that I need to develop a better workflow/development process. So I am going to try to work on that in the weeks to come.
- It is going to take a lot of work to get the point that I can commit to a bigger project.
I just want to say thanks again to everyone for their interest and support!
Game-A-Week #3 - A little peace at the end of the world
This week I have decided that I want to try something a little different to my first two games. I want to try to make a more emotive/meditative experience. The inspiration came from a Windows 10 lock screen that randomly popped up the other day and I just really liked the image.
So I want to create a simple game where you play a hermit, living a simple life and going about his day to day chores. There might be a little more too it but that depends on time constraints!
This is going to be a huge challenge because it is going to lean heavily on art and music to create the right mood. It will require art (I have only really done pixel art), animation (no experience) and music (most people that know me believe I have a terrible taste in music). So let's see how it turns out :D
LOVE LOVE LOVE the style of your cat runner - making me a bit green actually!
Looking forward to jamming with you this weekend!! #SRSBZNZ!!!!!!!!!
This is just a suggestion. I think I might try out something similar.
Good luck! :)
Also I just have to try out what I learned from @EvanGreenwood 's talk at A MAZE. It was awesome!
@StormGameDev : I think that that is a really good idea. I have been trying to get to grips with Unity in general and so I have been trying to touch on a little bit of everything. As I move forward and become more comfortable, it will give me more time to focus on specific areas. So for the current game, I am trying to play around with animation and ambiance.
I have some music that was composed by @The_Sired_Ward and I am feeling quite guilty about not making progress fast enough to show it off.
So here is a little bit of progress that I have made so far!
The Hermit:
The Hermit Walking:
I'm quite happy with how the Hermit has turned out. The animation (done in unity) probably needs a ton of work but I am far too much of a novice to know how to improve it. So if anyone has suggestions or tips please let me know! :)
Yaaaaaaay fun :D
I have been tinkering here and there, trying to up my skills in different facets of Game Dev. I have been doing a Unity course through Udemy which has been really cool (though a bit slow at times) and I think the structure has helped me to learn different things that I would usually ignore. I think my ideas have been quite over-scoped in general and it has made me hesitant to start projects. I am hoping to change that by diving into Ludam Dare this weekend. I am very excited and am going to try my best to keep it as small and manageable as possible!
In the meanwhile, I have very recently picked up Blender and started to tinker with it. Sticking to low poly models and using other artists work as references. Which is great for learning but not so great for when you get attached to the model and realise that you can't use it (unless you have the artists permission of course).
Note: I have no idea how to do lighting/shading/UV Unwrapping/Rigging or any of that wonderful stuff since i have only been playing around with Blender for the last 2 odd weeks (in the evenings and such)
My first attempt at modelling something: Simple Robot (Some references were used)
Low-Poly Buff Guy (No references but clearly I needed some :P)
Kayak for a game idea I had a while back
And finally I decided to try to take on something a bit more challenging and so I decided to try to model an image from this rad image I found by Pablo Hernandez:
Reference:
I know that there are plenty of places that could be improved but I am pretty happy with the results so far. I am hoping to add a basic rig and do some poses/basic animations. But we shall see ^_^
If there is any constructive feedback please throw it my way. I still have a lot to learn which is exciting :D
Also I am going to try to post Ludam Dare progress over the weekend!
So my new (more realistic) plan, is to try to use One Game A Month as a guideline. Hopefully this will give me a bit more time to actually complete smaller projects. I did cheat a little bit for January because I worked on it a little bit longer than a month. I am not too phased though because I used a weekend of Jan to make CupSnake for GGJ17.
For January I tried to keep things simple and worked on trying to structure my project a bit better. I have definitely learned a lot during this little project and while it was very frustrating at times I did have a lot of fun and look forward to moving onto another project. The game is based on Dodgeball the movie. It is pretty much a 1v1 dodgeball arena game. I have a huge list of things that I wish I got around to from different character stats to tutorials involving wrenches and cars. I was going to even have Patches O'Houlihan shouting profanities at the players. Unfortunately the gameplay is still a bit buggy and there are a bunch of features that I had to leave out. Oh well...
For now, I am done with the game. I have faaar too many ideas that I want to get to. So getting stuck in a training project like this would be a bit silly I think.
Here are some screenshots and such :)
Starts Screen
In Game:
Other Images
If anyone is interested in giving it a go, please let me know and I will put up a build :)
I know its not much to go on but any feedback would be grand! ^_^
I am very excited to get to work on the next project. There will be a ton of things to learn and I think it will be way more interesting in terms of design. I will also try to post more frequently and aim to get more regular feedback!
And now I sleep.
Seems like could also be rad to have this at a future Super Friendship Arcade!