Game Programming Season 2
The Cherno
·
Intermediate
·10y ago
Key Takeaways
The video discusses the continuation of Game Programming Season 2, focusing on the integration of the RainCloudization library, multiplayer development using sockets, and community-driven game development with source code available on Patreon.
Full Transcript
Hey, what's up guys? My name is Aerno and welcome to Game Programming season 2. So, game programming has been going on for a while. It's been almost 4 years. We've got 125 episodes up. It's a huge show and I thought with the end of the Civilization series, which is I'm going to talk more about that as well here. Um, it would be a good as good a time as ever to actually make this into a season 2 kind of thing. Let's have a break in the game programming series and let's let's start off kind of fresh with season 2, right? Obviously, by start off fresh, I don't mean let's start again or anything. We're going to keep keep working on it. Obviously, we're not going to abandon the project or anything. We're just going to kind of open up a new chapter in game in game programming to start kind of fresh almost. I might even mix up the format. Um, but we will obviously be continuing making Rain. So, let's talk about the serization series. For those of you who don't know, and I know that there are a lot of you because I have gotten tweets and comments and everything for the past few months being like, "Hey, when when's the next episode of game programming coming out? Why aren't you posting game programming videos?" I basically have been, right? If you haven't noticed, there is a series on this channel called Serialization. Okay? And the serialization series is actually part of game programming, right? You need to watch those videos. There'll be a link in the description. There'll also be an an annotation on the screen right now which will take you to the playlist for that series. There are 16 episodes. It just finished last night. That was the last episode, right? That series is basically for game programming, right? So, what I mean by that is um rather than actually call it like game programming episode 126 and stuff, I wanted to kind of start it as a fresh project uh cuz we still needed to do the work with the serization stuff, right? I wanted to start it as a fresh project so the people who weren't watching game programming uh could also follow along. Right? I didn't want to make game programming a dependency for that series because it really isn't a dependency at all. But that code is going to be copied and pasted into game programming. Right? We made the RainCloudization library in that series. We're going to literally make a new project in our Eclipse workspace called RainCloud and then just tie in Rain with that project. So, you need to watch those videos if you want to know how this works, right? Very, very important that you do that. Um, so, and I'm sure that a lot of you will see this video cuz it'll be titled like game programming season 2. You'll be like, "Oh, it's game programming. I'll watch this." And then you'll be like, "Oh, what? The Civilization series was all about that? Well, I'm going to go and watch it." So yes, you should watch it. You should watch it because we're probably going to return back to game programming season 2 episode 1 uh next week sometime, maybe the week after. So it's going to come up soon. So you need to review that series. That's the first thing I wanted to mention. So we will be integrating RainCloud into Rain um over the next episode, right? And that'll be really easy. By the way, all of the code for Raincloud is actually on GitHub as well. And if you follow the series, you'll see that. Um, so like that part is totally up on GitHub and you can grab it if you like. Um, but anyway, that part we will be putting into into our into our project. Okay, so that's that's the next order of business for game programming. Um, that's what we're going to kick off season 2 with. And then after that, we're going to continue on with multiplayer. So we started off episode 125 was about preparing for multiplayer and we kind of did a very minor refactoring and we kind of just got ready for it. But of course the major thing that we needed was some kind of uh some kind of serialization library or a way to serialize data so that we could both send it and receive it uh from the network or to the network. Right? So now that we've got that library that we wrote which is in the serialization series. So you need to watch the serialization series. Um that library raincloud is what we're going to use. Okay. So really the next kind of the next major thing we're going to work on in game programming is going to be multiplayer. We're going to learn about how we can use sockets and really how network communication is going to work. How we can send and receive data uh via the network right between two computers and between a server and a client. Um that I expect is going to take anywhere from 10 10 to 20 episodes maybe. I actually don't know. I've done zero planning for it. Uh and I really don't intend to do planning. All the planning will be done in the actual series. Um, so not sure how long it'll take, but that that that's going to be the next order of business. Now, my question is once multiplayer is done, right? And multiplayer of course isn't really going to be like what I mean by implement multiplayer, I don't mean like fully make the game work with multiplayer, right? Because we don't know what multiplayer is. The game has no gameplay really yet, right? So, by multiplayer, I just mean let's set everything up so that we can now handle multiple clients and we can get and and we can get two players to connect, right? the actual interaction between two players or something that is all gameplay stuff and that'll be done later. Um, but getting that multiplayer kind of foundation so that we can actually use the network to communicate uh between two devices, two computers. Uh, that's what that's what that's what the multiplayer kind of component is going to focus on. Um, so after that, I don't know what you guys want. Okay, game programming is a very old series. I don't know how many people follow it. I know that actually a surprising amount of people follow it for how long it's been going for, right? Um, and there are probably new people every day who who find it. So, I know that it does have quite a large following. So, I do want to ask you guys, what is it that you want to see, right? What exactly is this game that we're making? Like, I'm happy to be like, you know what? Let's focus on actually making this a game that we can release for the community. Yeah. If that's the direction that you want me to take it, then I I'll do that, right? I'll focus on actually designing a game rather than teaching a lot of the concepts, right? As in what I mean is like I'll I'll still be obviously narrating myself as I type the code and and everything. Um it's just not going to be all about, hey, let's cover all of our bases for game programming, which is kind of what the previous 100 episodes were all about, right? I did I I did a little bit of everything. Yeah. Whereas here I'm I'm saying maybe it's time to actually sit down and get some core gameplay in and actually make this a game that we can play, right? Um the second question is a lot of people have been begging me, hey, you should uh convert this to use lightweight Java game library or you should use OpenGL or you should rewrite the series in C++. Obviously, I'm not going to do that. It's going to take way too much time. But anyway, the point is uh is that something you're interested in, right? Uh should I do any of that? It's again up to you. I have, so to speak, given up control of the series to you guys because it's not something that I really want to spend time planning. I'm happy to keep making episodes for it, and that's totally okay. I like doing that, but I don't really want to sit down and be like, "This is what I'm going to focus my time on, right?" because of course uh like Sparky for example a Sparky engine if you guys aren't following that series of course very very important that you do because it's it's awesome but anyway like the Sparky engine is kind of where most of my time is going anyway but with the game programming series I'm kind of opening it up to you guys. I want the community to decide exactly what should be done with that series which is why I'm kind of starting this clean clean slate with season 2 and I'm saying hey guys like what what do you want to see? Yeah, let's kind of let's probably make some kind of game out of this so we can wrap up the series so that we can satisfy everyone so that we can um so that we can really like tie this up tie tie this up uh nicely and call it a complete series on game programming, right? Because that's really what it's about. So that's my question. It's just this is going to be a discussion. I'm going to try and reply to as many comments as I can, but that is my kind of plan for season 2. I really think the series deserves like a little bit of a reboot in terms of direction because it's kind of been lacking that and I've kind of been just scar like previously I was just looking at the comments being like oh okay people asking for multiplayer I guess I'll do that and it's been a bit it's been a bit dodgy like if you actually watch the series if you look at the series contextually and you actually look at what has happened it's very kind of up and down it's very um it's very abrupt like there'll be some things like one day we'll be working on collision then we'll will be working on something else and it's just it's really all over the place and I'm at at the moment I'm not even sure if I'm really helping people learn that much. So your feedback is going to be important for game programming because as I said it's something that I do want to be completely 100% communitydriven. Um uh so yeah that that's that's pretty much all I have to say. Um if you guys enjoy this video then please hit the like button. Also, if you if you actually um if you want the source code to game programming, then you can actually head over to my Patreon, patreon.com/thecherno. And if you pledge $5 or more per month, which is like I mean five bucks a month is really what is that? It's like it's like half a lunch or something, right? If you pledge that much, you will get an you will get access to the GitHub repository for all of the game programming source code. So, you'll have all of the source code there ready to go for season 2. So, if that is something you're interested in, and of course, not only will that help you, but that will also help me a lot as well. So, if it is something you are interested in, then there'll be a link in the description below. It's completely optional. You don't have to do it. It's just that if you do want the source code, that is an option that is available to you. All right, guys. Leave your feedback below and I'll see you next time. Goodbye.
Original Description
Serialization series ► https://www.youtube.com/playlist?list=PLlrATfBNZ98cCfmH0xPebdVVMSYRQfyKi
Game Programming Source Code ► https://www.patreon.com/thecherno
Twitter ► http://www.twitter.com/thecherno
Slack ► http://www.slack.thecherno.com
Stream ► http://www.twitch.tv/thecherno
Website ► http://www.thecherno.com
Facebook ► http://www.facebook.com/thecherno
Want more? You can help out by supporting me on Patreon! https://www.patreon.com/thecherno
-------------------------------------------------------------------------------------------------
Website: http://www.thecherno.com
Twitter: http://www.twitter.com/thecherno
Facebook: http://www.facebook.com/thecherno
Subreddit: http://www.reddit.com/r/thecherno/
Steam Group: http://www.steamcommunity.com/groups/thecherno
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from The Cherno · The Cherno · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
3D Game Programming - Episode 1 - Window
The Cherno
3D Game Programming - Episode 2 - Game Loop
The Cherno
3D Game Programming - Episode 3 - Arrays
The Cherno
3D Game Programming - Episode 4 - Drawing Pixels!
The Cherno
3D Game Programming - Episode 4.5 - How Rendering Works
The Cherno
3D Game Programming - Episode 5 - Playing with Pixels!
The Cherno
3D Game Programming - Episode 6 - Performance Boosting
The Cherno
3D Game Programming - Episode 7 - FPS Counter
The Cherno
3D Game Programming - Episode 8 - Alpha Support and More
The Cherno
3D Game Programming - Episode 9 - Beginning 3D
The Cherno
3D Game Programming - Episode 10 - Floors and Animation
The Cherno
3D Game Programming - Episode 11 - Rotation
The Cherno
3D Game Programming - Episode 12 - User Input
The Cherno
3D Game Programming - Episode 13 - Render Distance Limiter!
The Cherno
3D Game Programming - Episode 14 - Basic Mouse Movement
The Cherno
3D Game Programming - Episode 15 - Textures + More!
The Cherno
3D Game Programming - Episode 16 - Walking, Crouching, Sprinting + More
The Cherno
3D Game Programming - Episode 16.5 - Exporting Runnable Jars
The Cherno
3D Game Programming - Episode 17 - Small Adjustments + Birthday!
The Cherno
3D Game Programming - Episode 17.5 - Creating an Applet
The Cherno
3D Game Programming - Episode 18 - The Beginning of Walls
The Cherno
3D Game Programming - Episode 18.1 - A Few More Things
The Cherno
Episode 18.5 - Creating an EXE File in Java
The Cherno
3D Game Programming - Episode 19 - Rendering Walls
The Cherno
3D Game Programming - Episode 20 - Continuing Walls, Fixing Bugs, and Managing Crashes
The Cherno
3D Game Programming - Episode 21 - Texturing Walls, Fixing Clipping, and Fixing the Mouse
The Cherno
3D Game Programming - Episode 22 - Random Level Generator + Properly Fixing Clipping
The Cherno
3D Game Programming - Episode 23 - Graphical User Interface (GUI) Launcher
The Cherno
3D Game Programming - Episode 24 - Making Our Launcher Work
The Cherno
3D Game Programming - Episode 25 - Writing and Reading Files
The Cherno
3D Game Programming - Episode 26 - Custom Resolutions
The Cherno
3D Game Programming - Episode 27 - Decorating the Launcher
The Cherno
3D Game Programming - Episode 28 - Continuing our Custom Launcher!
The Cherno
3D Game Programming - Episode 29 - Launching The Game
The Cherno
3D Game Programming - Episode 30 - Colour Processing In-Depth
The Cherno
3D Game Programming - Episode 31 - Sprites!
The Cherno
3D Game Programming - Episode 32 - Sprite Mapping
The Cherno
3D Game Programming - Episode 33 - High Resolution Rendering
The Cherno
3D Game Programming - Episode 34 - Entities
The Cherno
Genesis - My Game for Ludum Dare 24
The Cherno
Vlog + Ludum Dare Results
The Cherno
Game Programming - Episode 1 - Resolution
The Cherno
Game Programming - Episode 2 - Threads
The Cherno
Game Programming - Episode 3 - Game Loop
The Cherno
Game Programming - Episode 4 - Window
The Cherno
Episode 5 - Buffer Strategy
The Cherno
Game Programming - Episode 6 - Graphics Initialized
The Cherno
Game Programming - Episode 7 - Buffered Image and Rasters
The Cherno
Game Programming - Episode 8 - The Screen Class
The Cherno
Game Programming - Episode 9 - Rendering Pixels
The Cherno
Game Programming - Episode 10 - Clearing the Screen
The Cherno
Game Programming - Episode 11 - "Out of Bounds, Baby!"
The Cherno
Game Programming - Episode 12 - Negative Bounds
The Cherno
Game Programming - Episode 13 - Timer
The Cherno
Game Programming - Episode 14 - FPS Counter
The Cherno
Episode 15 - Tiles
The Cherno
Game Programming - Episode 16 - The Map
The Cherno
The Walls 2 - Minecraft PvP Survival Map
The Cherno
Game Programming - Episode 17 - Key Input
The Cherno
Game Programming - Episode 18 - Controlling The Map
The Cherno
More on: PM Basics
View skill →
🎓
Tutor Explanation
DeepCamp AI