Gneiss>site>public>wiki>gamedev>draft 2

Welcome back neophytes! katy here to take you further into the mysteries of game development! So far we've covered what might be holding us back from success, what we can do about it, some planning tips, and now we're ready to get started on our project.

If you've stuck with me so far, I wanto say: 'thank you so much' My intentions are to help you and I appreciate the willingness to try something different. Here's were all the work we've been doing will pay off. Using our planning document, were' going to pick a task that is doable, and important to the success of our game, and then we're just going to do it.

As an example I'm going to pick this task from the chart we made last time. I'll focus on 8-way movement for a top-down zelda-like game.

My first step is to take a moment and think about the desired behavior I want. I usually do that through drawing, and I highly reccomend it as a strategy, allthough I 've noticed not a lot of people seem to excited about it. If you feel like you suck at drawing that's okay, you can still do this. I just take a minute and consider what is needed. So, in this case I noticed that I need to be able to move in four directions, left right up and down, and then if I can combine those I can go the other four directions too.

Time to start coding. I'll be using Pico8, and I plan to make a video where I go into a bit more detail about why I suggest that for beginners, and do some tutorials using it. Don't focus on the code too much, but see if you can pick up how I think about the problem. I want to focus on just this issue, and there's a good chance for something so common in games, I can just find someone talking about how to solve this specific problem, but rather than copying their solution I'm going to use it as a guide.

So, basically I'm going to make a technical demo, that is, a little game that just solves this one problem I have. The problem is that I need to move a character around on the screen with the arrow keys, but if I go through the effort of making a cute character and learning how to put them on the screen, I won't have made any progress on the task I'm trying to focus on. It would be fun, and its okay to take a break or get distracted and have fun, but I won't make progress until I get this done, so let's lock in.

Let's say I don't really know anything yet, I'm just starting out. I see a lot of stuff in this sample code, but I don't neccesarily know what it's doing. I'll copy it all and run it to start with, because that might help me undestand it. I try it out, and sure enough when I push the arrow keys the square moves.

So then I want to know, what part of the code is actually making that happen. When I look at this I might see this comment and realize the code underneath it is making the shape move to the right, but I still don't understand a lot of this. This is where research skills and taking good notes come in.

I'll look up each of these words, along with some keywords to tell google the kind of thing I'm looking for. It looks like the 'if' word means that we are going to run some code if the answer to some question is true, and some other code if it isn't I'll write that down for later.

Skipping ahead I've studied each of the parts of this line of code, maybe asked a mentor for an explination and now I feel like I get it. When I run this code, this part is checking if I pressed the right arrow key, and if it is being pressed, then this code gets run which increases the number called x by one.

Then, way down here I see x is used again. If I try putting different numbers here the chacter moves to the right faster. And, if I change this x number up here this changes where on the screen my square starts.

So now I'll rewrite this code myself, having understood how it works, and because I understand it I know I have understood the probelm. In this case, there's not much else for me to do, I've met my goal, and so I can cross this off my list.

When I go to start working on the next task, I'll make a whole new file, and for this problem, I'll need to reuse my previous solution. Since I know how this works now, that's easy enough.

This is how I'll continue, doing one small demo at a time, and later once I've finished a lot of demo's I can start to stich them together into my game.

So what do you think? This is my strategy, take one piece at a time, solve it, and then do the next. I'll work my way up the chart until I've finished all the most important tasks, then I'll have a basic playable version of my game. This approach has a lot of advantages, a big one being that I may only have an hour everynow and again to work on games. That's okay, because I always now what I should be working on, so I don't waste a lot of time. I've been building up a body of notes, so I'm learning a lot that I can reuse later on in this or otehr projects, and everytime I finish a task I can see myself making progress towards my goal! So motivating! Once I have a basic playable version of my game, I like to show it off to my game dev friends and they can give me ideas about how to make it better, and encourage me with lots of praise! Studying this way is really motivating, and I would like you to try it too.

So, that's the strategy, make a demo, then do the next. Once you've done all the demo's you're ready to start building your game for-real because you understand each and every part of the game, and you can just focus on getting all those bits to work together.

I know this part of the process has maybe seemed a bit vauge, and I admit I had some trouble describing it. To make up for my lack of cult-leadery ability, I plan to do a series of videos where I make small demos to solve common game dev problems. I hope that will help!

Also, if you are going to try this technique, I would be willing to support you by making demos about tasks you feel unsure about, or would like some help to figure out. Please make your request in the comments, and I'll make sure to focus on those problems for my demonstrations!

Okay, that's going to be our sermon today. Once we've spent some time on demos and practicing these ideas, I plan to show the process of making an entire small game, start to finish, and at some point I'll talk more in depth about stiching demos together and finishing a game.

Since this is a new, small channel I'm capable of responding to requests and feedback, so please let me know if you think of something that might be helpful to you! For example, if lots of people ask for basic programming tutorials, I can spend more time on that, or if we'd rather see how to finish games and add polish, we could focus on that. Your feedback is very much appreciated!

Okay, that's all for now. Katy signing off.