How NOT to make a game from scratch

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so remember when I said that I welcome you to the first video ideas so my game didn't work out after all what went wrong well I started on the product about a year ago excited to work on anything that wasn't my previous mini computer project and if you've been around for a while you probably already know this but I started out making a basic voxel engine and then slowly but surely transforming it into a game about a robot that walks around can transform the terrain and can plant plants with some mystical undefined relationship between the robot and the plants the game is also for unexplained reasons Underground and this was all fine but I always had this nagging feeling that the game was missing something I can't quite remember what it's called the gameplay it's gameplay it's missing gameplay see programming's my strong suit when it comes to game development I like games I played them plenty but I am at best a mediocre game designer that's just because I haven't done it that much and well after trying to cram some reasonable design in the game and trying to save things through some redesigns which we'll talk about later I just realized that things weren't going to work out with this project so before we move on to directly to my next project which I am very excited to talk about I thought it could be an insightful exercise to take a look at what I did wrong so hopefully we can all learn something from my mistakes so to get started mistake number one I didn't prototype yeah I know it seems obvious and really silly in hindsight but I thought after I'd written out a few mechanics in the text file that maybe sounded fun I could just get a custom engine up and running and try out the mechanics later but this was a bad idea what I should have done was Prototype first make a quick and dirty hacky version of this robot idea probably among other things and basically just try to fail fast it's always much easier to fail early and realize that something isn't fun or doesn't work out before actually putting time into it and writing code for something that doesn't work anyway is a game the program at me wants to say it's almost like a compiler you always want errors in your code reported earlier rather than later and this goes for design too air isn't designed to be reported earlier in the design process fail fast and speaking of things which should have been prototyped we have our next mistake I didn't have well-defined mechanics I was aiming for basically I had a lot of different ideas and Inspirations for my game but not one single core this is a game about planting plants idea or something like that I thought I did but when I would actually sit down to think about the gameplay all my thoughts were just fuzzy I didn't have anything concrete some things felt good in my game like planted little plants here and there but it's not enough to make it into a complete full-on game and I realized from looking at other games that these core mechanics are basically would define and give a central gameplay idea which the rest of the game could build on uh Jonathan Blow the designer of Brayden the witness actually has a really good talk on this from a few years back where to my understanding he talks about almost using the fun or interesting parts of the mechanics to design themselves for you at least that's what I got out of the talk but I highly recommend you check it out for yourself anyway on to mistake number three which was I was putting the engine before the design don't get me wrong here I don't regret or think it was a bad idea to roll my own engine I just think I did it the wrong way the code I write for the engine needs to serve the design not the other way around again to talk about Jonathan Blow I was browsing YouTube the other day when this clip from one of his streams came up to me where he talks about entity systems and well I'll just let the clip speak for itself games can get complicated to make sometimes right there's a lot of challenges it's a lot of work and if you do some of it wrong it becomes a disaster but the way your entities are set up is not the hard part basically how I've interpreted this is that the engine design is not the interesting part of the game the game is the interesting part of the game and the engine design needs to Surf that this is fine for me if I was only focusing on that engine but I was asking way too many questions about how to do things efficiently for a game that just didn't exist yet I mean just take a look at my last video it's not all bad that the cool thing from this is that I ended up with a really fun versatile engine that has been a Blaster program without gameplay it's pretty Hollow what I should have done was focused a little bit harder and kept things simple which brings me to my next mistake I didn't keep it simple basically how the whole design broke down for me was that I realized I couldn't concretely describe the game in one sentence or even what I was going after all anyone could ever get out of me when they asked what I was doing was the robot plant pixel art uh Cave which might conjure up some cool images but it doesn't really make for much of a game what design I did have was too complicated and I couldn't really focus on any one thing would make the game fun when my ideas were so scattered across different systems I thought the game should have grafting and exploration and maybe the plans talk to you and maybe there's some other robots in the game and maybe there are some vines that you can grow in your caves and maybe they act like a network to about uh to for all the things that you can access and maybe there's a system of like Elemental Essences that you use to develop the plants and well none of these ideas are bad in and of themselves but the problem again was that there was no simple core idea or mechanic this would of course have been solved Again by prototyping and a side note here in the area of Simplicity while we're at it my language Choice C plus plus is also probably one of my biggest regrets in addition to being the antithesis of Simplicity I should have picked a language that I already knew not that I haven't learned C plus plus I even wrote an entire reflection library for the language on the way but if my priority is to make a game learning C plus plus should come secondary to that also the compile times are awful and I kind of just miss see anyway on to my final mistake focusing too much on Graphics before gameplay I'm not good at Art I'm getting better but I'm not good and that's fine my game doesn't need art if it's a prototype or a proof of concept but spending too much time on visuals before gameplay was really the final nail in the carbon for this project the engine has a super cool ray casting lighting system particle support it can support like thousands of lights and a bunch of other fancy Graphics things ssao Shadows but I thought way too much about particle systems and lighting before I thought about anything related to gameplay I focused on what graphical improvements I could do when I should have been dedicating that time to gameplay making that solid and then adding Graphics have serve the higher purpose of the design things that might enhance the experience for the player I think the solution here is something that I did a little bit right which is mock-ups and sketches so you can get an idea of what the game should look and feel like before you actually go on and program it but in this case I only ever really did mock-ups for the UI and while they were enormously helpful I should have had sketches for the rest of the game too and well with no gameplay and no real sketched out future no real way to solve it I thought that was kind of it for the game that's basically a list of the biggest things that I think went wrong with this project and things that I maybe could have done differently to fix them after realizing all this I did try and go back and redesign my game initially throwing the robot in the sky in a 3D version then mocking up a 2d version where the plants could talk to you also in the sky adding a maybe cool Dynamic background Cloud Shader and I said [ __ ] this it isn't going to work try to one bit art style with a design that leaned more into the computer side of the robot and well luckily I didn't put a lot of time into any of these basically for now we're gonna put the robot game on the shelf and that's okay it's probably something that I should have done six months ago but hey live and learn we'll be back someday though little robot in the meantime I started a new project but I need just a little more time to get it ready to show off to everyone and yeah this time I actually wrote a design document and prototyped it first promise and in other news I've decided to launch a patreon where you can continue to support my work and make sure that I'm able to stick around for a little while longer here on YouTube if you support me there you can download and take a look at all the source code for the plant robot game engine for yourself all 30 000 lines of it you're also be getting some exclusive code walkthroughs among other benefits to come soon also source code and hopefully releases two games that I'll be making in the future the link is in the description if that sounds like something you'd be interested in otherwise well you can just keep watching me like you have them for the past couple of years so anyway as always thank you for your continued support thanks for watching uh happy holidays and check out my patreon if that sounds like something you'd like see you next time for something new [Music]
Info
Channel: jdh
Views: 272,769
Rating: undefined out of 5
Keywords: c++, programming, coding, opengl, graphics, java, gamedev, gaming, code, minecraft, indie, 3d, unity
Id: GhTAoilsFUs
Channel Id: undefined
Length: 8min 33sec (513 seconds)
Published: Sat Dec 10 2022
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.