1
00:00:03,210 --> 00:00:03,540
Okay.

2
00:00:03,540 --> 00:00:05,910
Let's talk about the game design for our project.

3
00:00:05,910 --> 00:00:08,039
I always like to start with some sort of diagram.

4
00:00:08,039 --> 00:00:12,930
I've got a 2D platform, so I've got platforms that I need and in here, okay, I need some ladders.

5
00:00:12,930 --> 00:00:15,420
You can see I've just scratched in here some notes with some arrows.

6
00:00:15,420 --> 00:00:18,650
I need some ladders, I need a start point and I need a finish point.

7
00:00:18,650 --> 00:00:21,030
And the finish point should trigger the next level.

8
00:00:21,030 --> 00:00:22,860
Need some enemies that I have to avoid.

9
00:00:22,860 --> 00:00:24,510
Enemies that preferably move around.

10
00:00:24,510 --> 00:00:25,230
That'd be great.

11
00:00:25,230 --> 00:00:25,860
Some hazard.

12
00:00:25,860 --> 00:00:27,510
So I've got these red things in here.

13
00:00:27,510 --> 00:00:29,280
Maybe it's lava, maybe it's water.

14
00:00:29,310 --> 00:00:30,960
Maybe we have some spikes in there.

15
00:00:30,960 --> 00:00:35,520
Also, I've got in here orange to show the screen size to show that I want to wait for the camera to

16
00:00:35,520 --> 00:00:41,100
follow the player around that we don't see the entire world at one point in time because then everything's

17
00:00:41,100 --> 00:00:42,540
going to be too small on our screen.

18
00:00:42,540 --> 00:00:47,250
So we want this kind of moving television, if you will, that moves around and follows the player.

19
00:00:47,250 --> 00:00:52,200
So one of the cool things in this section of the course is we'll be using sprite sheets to make tile

20
00:00:52,200 --> 00:00:52,830
based levels.

21
00:00:52,830 --> 00:00:53,790
What is a sprite sheet?

22
00:00:53,790 --> 00:00:55,560
Well, it's one image you can see here.

23
00:00:55,560 --> 00:01:00,780
This is just one image that has a whole bunch of these little tiles that we can use, kind of like Lego

24
00:01:00,780 --> 00:01:02,520
blocks to build out our level.

25
00:01:02,520 --> 00:01:04,110
So this is a brick.

26
00:01:04,140 --> 00:01:05,530
These are different sort of bricks.

27
00:01:05,550 --> 00:01:06,780
This is an archway.

28
00:01:06,780 --> 00:01:09,960
And we combine those together to make something that looks like this.

29
00:01:09,960 --> 00:01:14,640
So this is Castlevania and this is the sprite sheet from Castlevania.

30
00:01:14,640 --> 00:01:20,310
And back in ye olden days, when you were very limited by sizes of things, the amount of memory that

31
00:01:20,310 --> 00:01:24,780
you had, you needed to squash as much information as you could onto a sprite sheet.

32
00:01:24,780 --> 00:01:26,160
So then you could build all of this.

33
00:01:26,160 --> 00:01:31,110
So you can see we're repeating this kind of what's this green vegetation on the wall?

34
00:01:31,110 --> 00:01:33,270
That's that tile just there, I believe.

35
00:01:33,270 --> 00:01:38,670
And it's just or maybe it's one of these here and it's just been repeated and placed in a way that makes

36
00:01:38,670 --> 00:01:39,150
it look cool.

37
00:01:39,150 --> 00:01:44,070
So with a limited amount of information, you can make a whole ton of different levels and other examples

38
00:01:44,070 --> 00:01:44,340
here.

39
00:01:44,340 --> 00:01:49,440
Megaman, you may have played back in the day and Spelunky is a little bit of a more recent interpretation

40
00:01:49,440 --> 00:01:51,630
of using a tile based system.

41
00:01:51,630 --> 00:01:56,910
So what I mean by tiles is each of these little squares in here is a tile, and then you go and place

42
00:01:56,910 --> 00:01:57,030
them.

43
00:01:57,030 --> 00:01:58,680
You build that and build that and build this.

44
00:01:58,680 --> 00:02:01,680
And in here you could have a base tile.

45
00:02:01,680 --> 00:02:05,220
It's a little bit hard to see, but you've got this base tile and then you can have another layer that

46
00:02:05,220 --> 00:02:05,880
sits over the top.

47
00:02:05,880 --> 00:02:09,870
We have this little bit of flavor, so this green gem thing here and these little rocks.

48
00:02:09,870 --> 00:02:15,780
So you can have layers upon layers to give variation, but really you're just pulling from one or two

49
00:02:15,780 --> 00:02:16,590
sprite sheets.

50
00:02:16,640 --> 00:02:20,250
I mentioned before, back in the day, we needed to have sprite sheets to save on space.

51
00:02:20,280 --> 00:02:22,290
Nowadays we've got a lot more room.

52
00:02:22,290 --> 00:02:27,390
We don't really need to be as careful with how much information we put on our sprite sheet, but it's

53
00:02:27,390 --> 00:02:33,480
still a great way to have one library of things that we then build a whole bunch of levels from.

54
00:02:33,480 --> 00:02:34,800
What's the player experience?

55
00:02:34,800 --> 00:02:38,310
We're going to be under pressure, so I want the player to feel I've got a rush, rush, rush to get

56
00:02:38,310 --> 00:02:39,180
through the level.

57
00:02:39,180 --> 00:02:43,830
The core mechanic is just running and jumping like most platformers and avoiding hazards and the core

58
00:02:43,860 --> 00:02:48,660
game loop get from A to B by navigating platforms and avoiding traps and enemies.

59
00:02:48,660 --> 00:02:52,530
And if we're talking about the theme, you might want to get a little bit of storytelling in here.

60
00:02:52,530 --> 00:02:53,160
What's the theme?

61
00:02:53,160 --> 00:02:53,820
For me?

62
00:02:53,820 --> 00:02:55,410
It's going to be you're trying to escape.

63
00:02:55,410 --> 00:02:56,220
You're a prisoner.

64
00:02:56,220 --> 00:02:57,240
The clock is ticking.

65
00:02:57,240 --> 00:02:58,050
Where are you?

66
00:02:58,050 --> 00:02:58,650
I don't know.

67
00:02:58,650 --> 00:02:59,490
It doesn't matter.

68
00:02:59,490 --> 00:03:02,190
But what we're saying to the player is, get out of here.

69
00:03:02,190 --> 00:03:05,310
You've got to get all the way up to the top of the surface of the world.

70
00:03:05,310 --> 00:03:06,960
That's the thing that we're going for.

71
00:03:06,960 --> 00:03:08,430
And why do we come up with a theme?

72
00:03:08,430 --> 00:03:10,200
Well, it helps us pick our art assets.

73
00:03:10,200 --> 00:03:12,300
It helps us do our our coloration.

74
00:03:12,300 --> 00:03:17,040
If we're going to do some tinting or whatever to our world, it helps us if we want to do some dialog

75
00:03:17,040 --> 00:03:21,420
in there and also helps us say to the player, what are you trying to achieve?

76
00:03:21,420 --> 00:03:24,360
And let's look at what are the core features we need to implement.

77
00:03:24,360 --> 00:03:28,290
MVP stands for minimum viable product.

78
00:03:28,290 --> 00:03:33,360
And basically that's a way of saying if we want our game to be playable, we need these minimum features

79
00:03:33,360 --> 00:03:33,720
in here.

80
00:03:33,720 --> 00:03:37,710
And anything else we put on top of that is gravy, it's bonus, it's awesomeness.

81
00:03:37,710 --> 00:03:40,110
But we need to have character movement.

82
00:03:40,110 --> 00:03:41,370
We need to be able to run and jump.

83
00:03:41,370 --> 00:03:45,960
We need to have traps or obstacles like this water in here that if you touch it, it instantly kills

84
00:03:45,960 --> 00:03:47,580
the player level loading.

85
00:03:47,580 --> 00:03:52,950
So a way to finish the level and restart the next level or start into the next level to chain them together.

86
00:03:52,980 --> 00:03:55,860
And we need to have some sort of timer or some sort of urgency.

87
00:03:55,860 --> 00:03:58,650
This is probably not in the minimum viable product.

88
00:03:58,650 --> 00:04:02,760
We could get away without this, but I'm saying let's get it in there so that the player's got some

89
00:04:02,760 --> 00:04:06,840
sort of reason to push themselves and to jump quickly and maybe to make some mistakes because they're

90
00:04:06,840 --> 00:04:08,370
under a little bit of time pressure.

91
00:04:08,370 --> 00:04:12,390
And I might do this by having the water rising up to meet the player.

92
00:04:12,390 --> 00:04:15,270
We might think of another way to do it when we're actually in there executing.

93
00:04:15,270 --> 00:04:17,370
So I've got a challenge for you at the start here.

94
00:04:17,370 --> 00:04:19,260
I want you to find your art assets.

95
00:04:19,260 --> 00:04:23,790
Now, I will be providing you the basic sprite sheet assets for the world and for the character.

96
00:04:23,790 --> 00:04:25,980
That's the stuff that you see in here.

97
00:04:26,010 --> 00:04:27,420
I'll be giving you that kind of thing.

98
00:04:27,420 --> 00:04:31,800
But I encourage you, if you're ready to be a little bit more advanced in what you're doing, is to

99
00:04:31,800 --> 00:04:37,920
either flex your artistic muscles or to go find an asset pack from the asset store.

100
00:04:37,920 --> 00:04:40,620
And there's tons of free stuff out there and tons of page stuff.

101
00:04:40,620 --> 00:04:47,340
So find something that you do like a just needs to have sprite sheets for the world, tiles for the

102
00:04:47,340 --> 00:04:50,340
character and for an enemy or for some enemies.

103
00:04:50,340 --> 00:04:51,870
So there's your challenge.

104
00:04:51,870 --> 00:04:55,560
Like I said, if you just want to use what I'm going to provide, then I'll be giving that to you in

105
00:04:55,560 --> 00:04:56,340
the next lecture.

106
00:04:56,340 --> 00:05:00,270
If you'd like to come up with your own artistic style or find your own assets.

107
00:05:00,270 --> 00:05:01,680
So now's the time to do that.

108
00:05:01,680 --> 00:05:02,340
And.

109
00:05:02,500 --> 00:05:08,860
Once you are ready, jump into the next lecture and we will start the process of slicing up our assets.

110
00:05:08,890 --> 00:05:10,270
Okay, so you're in the next lecture.

