Your 1st, 2nd, 3rd, and Nth Game Engines

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so this lecture is starting your first second third and endgame engines and those of you who don't know who I am already my name is Sean Middleditch I'm a senior here did at DigiPen some of the games have worked on our subsonic sonar and core I've been programming for quite a few years I think I'm coming up on 19 years in C++ here and I am a total architecture nerd I just love thinking about you know fun ways to over complicate everything I possibly can so this lecture is about a couple different things primarily it's about starting from scratch I know there's a lot of people who have problems starting a new project they sit down and they think you know I want to make a game but I don't know where to start and they can never figure out exactly the best way to just get get going really is this also will help you on the other end of that spectrum is getting a game actually done plenty of people have this this tendency to start a project never really finish it cuz there's all these little details that they worry about instead of just making game and that's also going to go over a consistent way to help make sure that your games will continue being good which is why this isn't just about doing your first engine but your second third so on and so forth so one of the most important things we got to really think about first here is what exactly a game engine is I went on Wikipedia actually no everyone knows is the stirling source of information on the internet and I gave or found this definition that I really don't like says a game engine is a software system designed for the creation and development of video games the reason I really like this is this this leads people astray and thinking I think so a game engine is nothing that you have they're just sitting there that helps you make a game alright a game engine is whatever sitting underneath the game you happen to be working on in most cases a game engine isn't first design and then a game built on top of it a game is built and an engine just happens to exist as a consequence of making the game at then also because this is the engine architecture club I thought I'd bring up little something about architecture this is Wikipedia's definition here software architecture discipline is centered on the idea of reducing complexity through abstraction and separation of concerns it's just a really fancy way of saying that software architects job is to simplify things as much as I possibly can without making it simple to the point about being used well yeah it's it what is absolutely not about what being a good architect is not about is adding tons of cool features and all kinds of complex algorithms and things that you don't actually need that's not part of being a good architect at all there's actually a term I forget put a slide in here about it Jolan software has this great article about the architecture astronaut what this is is this is a person who likes building all these cool features and foundations and they keep building all this technology and piling it on and piling it on to their software until they're up to the moon with all this stuff that they don't need and it over complicates the project it slows everybody else down in quite a few cases I'll completely kill the project that kind of thinking so this article was or this lecture was inspired by an article called write games not engines a little excerpt of it here is that you can sit down and write a game without writing a pre-written engine and in fact this is very often the better approach regardless of why you want to write an engine everyone should definitely check out this article read through it it's not particularly long it really just kind of goes over the reasons why thinking about engines instead of thinking about games can lead you astray very easily so one of the other reasons I really want to do this lecture is I know we're going to be talking about a lot of real really cool techniques over the summer here we're gonna you know go over possibly threading metadata a lot of people been asking me about you know there's all different kinds of things really really cool complicated features but you don't actually need any of them to make a game all right so our first lecture here was about component based design you don't need components to make a game games have been written for 30 years now without components being anywhere even close to being in the picture right if you're making a simple enough game components aren't actually gonna buy you anything it's just extra complexity that that in the added benefits don't outweigh the implementation cost so you have to be aware if when you're right are designing your game do you actually need any of these features even the ones that you know will sit here and say are the best things ever they're not always the right tool for the job same thing goes for metadata and scripting you almost probably don't need those in any game we're going to write in DigiPen they're cool features you probably really don't need them editors i i've been i've said quite a few times that every game should have an editor because it helps with your iteration time but if your game is simple enough the editors just going to take a lot of time and you're going to you might not build as good of a tool as possibly notepad would be first you say a tile based game if you're going to build an editor you've got to sink in a lot of time to make it really nice and really usable and you possibly just don't need to spend that time and it might actually just slow you down same thing for say art pipelines if you don't need art you don't need to worry about an art pipeline and a lot of games don't need art subsonic was one of the games I worked on I went to IG see finalists it didn't really have art it was circles it was you know triangles lines it was all completely abstract very much like geometry wars you don't need to worry about art depending on the kind of game you're making and especially if you're in digit Ben or you possibly don't have a huge art team just even trying to think about how you're going to get art in the game it's just a complexity you don't need to deal with what you do need to think about writing your game is just actually the bare necessities to get up and running what is the absolute minimum of gaming all right you need to open a window that you can draw some graphics in your knee go to get input from the player so you can control something moving around the screen run order of your game logic is and then especially for TCR purposes we need menus and intros help screen stuff like that it's pretty much all you need at that point you have a game all right so you want to keep things simple if you've got an idea for a game sit down and just write that idea implement it prototype it get it up and running write the absolute least amount of stuff you can get away with and if you're going to spend any time writing code spend it writing the code you actually really need right then if you don't need if you're if you're thinking you're going to need maybe scripting a few months from now don't waste weeks when you're trying to get the project up and running implement a scripting engine and you might not even ever use it you just wasted a ton a week a ton of time implement any useless feature all right so I said you need start with getting a window with graphics this this is really easy but I've talked to a few people said that they've been working their game for a while and actually haven't gotten this far yet this is this is probably the first thing you should do all right this this is something you get on MSDN you cut and paste some code but how to open a window with 132 API and you're done all right I used glut in the game I'm going to go over here in a few minutes glut is like maybe 10 lines of code and you've got a window open you've got input graph takes all that stuff didn't take any time right lot smarter same thing for trying you know drawing something on screen you get on MSDN you can cut and paste a little bit of DirectX code you can cut face a little bit OpenGL code if you're using glut just get something drawn on the screen you know as quickly as possible okay so then once you got something on your screen you got a window open you've got little triangle sitting there you know hook up input again and misty n cut and paste a little bit of code just get it so you can actually move your little triangle round on the screen all right this list and this isn't a game at this point at all this you're just moving something around the screen but you've actually got something you can play around with and something that other people now can sit down start adding stuff to for example once you have a window up and running with little guy moving around another member of your team can start implementing game logic you know they could start implementing a really simple collision library that can detect when two squares are on top of each other and maybe make one of them turn a different color or you can start implementing having having another little square that actually chases the player around so you've got technically your first enemy up and running and you can have all this done within 40 minutes easy and you know then you're going to definitely want to spend a little bit of time getting many menus intros help screen that's again mostly for DigiPen purposes if you don't have those you feel the class so at least make sure that you are set up for that kind of stuff but there's really nothing to that you don't need to worry about fancy gooey libraries and a lot of people have talked about embedding chromium or using all these really fancy you know widget and designer tools you don't need it if you can draw a box you can draw text in it you can detect the mouse's within the bounds of the box and the mouse button is down you have a button and you can implement you eyes and you can start with that and not worry about anything more complex so here we go these few little steps which is mostly again just cutting and pasting stuff of MSDN or you know Stack Overflow or you get sample sample code you've got something that kind of looks like a game you've got a little guy in the screen you can move around as your player you poss you got another little guide that chases you're on is an enemy you've got another square that you can run into collide you make a wind condition you have a game it's a really boring game it's ugly but it's it's something that is playable it's it's a foundation upon which now the rest of your team can start building and you're not all bottle necked waiting for this engine guy to build this perfect engine that you know you can't even open a window on yet everyone can start iterating a lot more quickly at that point and then once you get a point now you start worrying about all the complexity and all the features things like that you know it sure you've got all this this cut and pasted code it's not good you can worry about refactoring you know if you've got some some Kodi copy and paste in a few different places now is the time now that you have something working something on the screens and you can see so you can move something you can play with now is the time you go back and think okay what's what's the proper way to abstract this what are the API is going to need what features to my team does my team say that I need or that they need right now that I need to go and implement right so what I did for this lecture is I decided to try to build a game in eight hours to show that it could be done all right so she's just me by myself eight hours you know not no more I wasn't really strict in the measurement it was kind of eyeballed but about eight hours the source is available online I'm going to link later on the lectures you guys can check it out you can see how absolutely bad the code is despite the fact the games up and up and running it works all right so this game I call the badass bubble battle boy BOTS bonanza I'm kind of corny like that so I'm sorry the game has up to four players with Xbox controllers which you guys might notice I have four xbox controllers here so after the lecture you guys can come play this game and see how badass it really is it's got both PvP and PvE elements I just got this mechanic we have the shield which is both your way of defending yourself and your way of attacking the other players or the enemies in the environment the enemies have a flocking AI so they fly around look kind of cool kind of intelligent there's walls there's some pits there's survival mode I didn't get sound in eight hours wasn't quite enough time for me to do that and this also I bring up the lecturers first second third end game engine and again this is absolutely my and I've this is way past the third game I've built and there was no reason for me to sit here and worry about super complexity I could just sit down and make a game in eight hours alright so one hour in this is all I had this doesn't look very impressive at all does it no it's the screen I did filled with a solid color drew in a white box there's a little bit of a black object on the bottom there and that was pretty much all I had so what'd I do this first hour and I open visual studio it's got the first step a lot of people actually seem to have trouble with the you know little momentum they get start in a project open it up sit down start coding it'll get a lot further I got opengl and glut the hard part there was basically getting online downloading the glut dll putting it in the folder and then remembering what the four functions are to start glut yeah there was a few minutes how much do it I created a game object class and then I derived several classes from it inheritance no components right I'll let evil inheritance stuff we talked about for this kind of game I think I end up with four different types of objects this entire code base has all of five classes in it I think so components would have just been probably would have taken up more code than half the engine did it would not have been worth it and I can also do a little bit of input at this point the game I can hit escape close the window all right two hours in we now have these yellow dots all right let's yeah we're were those all right so I did the buoyed object Boyd is the term they use for flocking AI patterns so this is a simple little object that implemented the flocking AI algorithm this algorithm is like maybe this long I still managed to screw it up there were some bugs but yeah this much code and again most of our to for me it was actually just looking up the algorithm because I don't have it memorized I've actually never implemented flocking before this says most serious research and I implemented a math library alright a lot of people like to think about you know the ultimate math library they're going to build for their engines for this 2-d game I have a single vector class that was all I needed it has an X and a Y components and I can add them multiply them do dot product do length and normalize them and that's it that's all you need for a lot of this stuff so I got it up and running alright so three hours in at this point all the dots got really small and there's now this big blue dot the big blue dot is the player I got him up and running three hours in I had X input working I can move a guy around on the screen the enemies would kind of sit there and ignore you because I excellently brook flocking entirely during this hour but here it was something that I could actually sit down and play with the controller which is actually really satisfying your motivation just go so much higher you can actually play something that starts looking like a game our 4 actually starts looking kind of cool now I think so now we've got all these enemies here little yellow dots and they're clustering together they're doing the flocking the flocking is working perfectly you can see little blue thing around the other darker blue thing that's opposed through the shield mechanic I was mentioning so that working or I could hit the button on the controller and the shield would pop out and move around yeah so I fixed the flocking made the algorithm really nice I got the shield mechanic in and even start implementing the basics of physics the idea being that that white circle now I was not able to move through usually less I came from it from the bottom right that was live a bug there but you know four hours in so our five enemies start looking a little bit more interesting now they've got color and they're they're actually coming in and flying in at the player so I got the anger mechanic which is the PvE element this is where the the enemies would basically try to attack you at for amount of time so I'd be flying around the little groups and they start getting angry turning red when they got red enough finally to start doing a bean line at you and you know something there is actually danger in the game there's there's something to avoid I also note that our 5 5 hours in all right that's less than game class I think the entire sit down session at least was lost semester five hours in I was done with graphics I did not write a single line of graphics code for the next three hours which was the late hour project and had complete playable game with what you saw graphics was there our six start getting a little bit more in there you can start seeing actually don't really see a whole lot different I believe our six was yeah we'll see physics work I got a lot of bugs all the little things that I'd to work on there I'm not really much of a math head personally so this was actually probably the hardest hour for me just gives a lot of trying to remember the the kinetic energy algorithms and stuff from physics 200 which I completely forgot and was basically just getting a line looking at these algorithms and then implementing them slightly incorrectly anyone who is even moderately decent at math will probably breeze through that kind of stuff in ways that I could not I also got the shield bouncing working which is part of the physics work hour 7 I started making the pits a little bit more obvious what they were I was actually pretty cool at this point I changed it so that the enemies would respawn after you killed them not that she really could kill them at this point that a key for that but the enemies would spawn out of the pits so they kind of look like they're rising out of the ground although I didn't have animations it still seemed to look pretty much okay so the bigger pits doesn't have this stuff a dentist didn't have it implementor for you to fall into them yet but the voids were a lot more intelligent lot cooler looking seemed a bit more intelligent and I got the the multiplayer part working so I made it instead of just having a single hard-coded player you now had four players they could join the game and in the final hour I updated the map added the couple different types of walls got some more intricate level stuff in there so I got scaled boxes for walls I actually didn't use a tile map for that I know it looks like it should have been a tile map and that's because it should have been a tile map I tried to oversimplify did everything in game objects probably not the best idea but again it got things up and running very quickly kind of hurt me towards last couple hours I asked you got many's in there how the minis are bad they would totally fail DigiPen TCR but again menus are something you can you can spend another hour on I could have gotten up up and running I just lots of tweaks fixes making the game actually interesting so the game is done it is fully playable it's it's got it's got bugs got some some obvious bugs and it's certainly some tweaks to to make it like a really great game by any stretch of the imagination but it is I think fun right it's pretty good shape for eight hours one person right it's tiny it's simple I've actually been working on a little bit here and there since I finished the lecture just for fun because it's so easy to sit down to write about there's like no code there right it's a yeast it was almost all in one CPP file the only reason I split into multiple CPP files is towards about our six there was enough code that visual studios code completion would start going too slow so I split up into multiple files just to make visual studio stuff stop being annoying this that's how small this game is though is that it's not very big it's not complicated if I want to make a little tweak or a change out a new feature it takes no time so we can sit here and talk about iteration features like components so it turns out that complexity is also a a hindrance to iteration there's a balance between features that help you do complex things quickly and just needless complexity that makes even simple things too hard to do so if I could do this in eight hours by myself imagine where any four of you could do if you took a whole weekend you can not only make this game easily you can make it way way better than I did and in terms of game class this game would probably get if you fix the menus for TCR reasons I gave full screen support which i think is required you'd probably get at least a B I mean I don't grade the games I can't promise that but I willing to bet that if I turn this in I could get at least a B so a lot of people I know spend up like all this time working on their games like 40 hours a week sometimes you see these teams upstairs is working all the time on their games and you don't really have to write if you're if your goal is to like have free up time for your other classes to go up social life something like that one weekend you can write a game that will pass game class that it's really not that difficult and the other great thing is that if you decide you want to other school architecture stuff and cool features and learn and explore you know you've now got the rest of the semester do that worry free so the code for this game is online it's totally free if you guys do want with except used for game class because I'll be cheating if you guys want to check out you know what I did go ahead there's not anything technolog technology cool that you should look at for inspiration but more just kind of you can look at and say oh hey look at the stuff that it care about look at how I you know just half-assed everything and get up and running as quickly as possible I'm going to head and play the game here you guys can actually see it all right let's again the game here play around you get the enemies that spawn I've got the shield mechanic you can use so you open the knot guys around eventually they're going to get mad attacking you can also do this thing where you use the shield against the walls when it expands the of oh when it expands it's got a little bit of force to it and I'll actually send you flying and you can send them flying hey I can screen right here go ahead I'm going you're trying to be trying to join yeah I only oh hey there we go crap to babies little guys oh no you beat me yeah the death in the pits is actually unsatisfying it's the more I played there I realized that the more I play the realize that it is hard to tell when you were going to die especially because you know might not notice this but you can actually fly over the pits if you're going fast enough there we go but it's not obvious when that happens so it's kind of thing we're again some some time spent just tweaking it just kind of like maybe adding some really basic animations could take this well that was a lame all right but yeah just little a little bit of time now that we've got a game up and running I could spend a few hours doing some really whoa there's a really simple animation just tweaking the gameplay you know making making things feel a bit smoother and take this up to an a game for Game two hundred easily right oh yeah see the guys are getting mad they're at Sean they don't open ah me Oh No get away get away get away they also as you know as you get redder they will eventually kill you if you don't get rid of them but uh let's do one more round here whoa okay that was one of those fabled physics bugs right there that didn't work that was done what I go down here alright alright so eight hours we had that not not too bad for for one evening of sitting down and doing the blue coding all right so just some of my thoughts I had doing this is the first time ever wrote a game this quickly because again usually I'm the architecture guys I think about are like the really cool advanced C++ stuff so sitting down is writing a game as kooky as I could it actually took less time to write this game than the game object component library for my last game in game 350 you know and that's good like the serialization you got to read this stuff from the files like I was talking about in the component lecture you get I get all the management all this kind of stuff that it's just a lot of time getting that up and running and getting it tested and getting it optimized this whole game took less time met it was more fun too honestly as much as I liked doing that that cool C++ stuff I didn't think I could play with right it was so much cooler than you sitting there just doing with compiler errors for eight hours most of the bugs I ran into were actually just me failing at math again I'm not a math head there was just like right even right now the current version I have there's this bug where you gain kinetic energy sometimes new collide with things even quite free that went out yet but you know it's a sip little thing to fix once I figure out what the math is probably I sit back down again after I've had my head you know clear off for a while probably figured out no problem I still having fun working on it there's thing on there's bugs there's some tweaks but it's up and running if nothing else all right I've got a prototype now so you know if I decide that I'm going to go and spend you know three months building this this amazing version this game I proven the concept works i we just sat down me and Sean has played and had fun playing it now we know that sitting down worrying about the technology part of the build this game is a worthwhile endeavor rather than spending months building an engine for a game that might eventually we'll fight we won't find out isn't fun until three months you know too late so this is really valuable even if you are going to do something more complicated so as far as the next step goes like I want to point out that you can't have a next step until you have a first step which means you can't start worrying about where you're going to go if you haven't gone anywhere at all yet if you have nothing worrying about how you're going to design stuff is really it's just a huge waste of time so some of the stuff I get add to this powerup so that might be cool sound would be really nice that's actually kind of a big one the one level I have is kind of probably done I could have to make some more randomly generate them do something like that but I'm not going to sit here and worry about cool features that of the engine the only code I'm going to add to the engine is the stuff that I actually think I need not so I might add components if I decide I start adding like say three or four more game objects at that point now maybe I've got enough repeated code that'll be worthwhile to have a component but if I'm going to keep you know the same more objects I have now even if I just had power-ups again that would be so much complexity that it wouldn't help me out at all I wouldn't even worry about it you know I might think about doing physics the physics code is kind of bad if this wasn't for DigiPen class I'd use a physics engine because that no this isn't for a class actually but this wasn't for you guys for DigiPen I would just use a physics engine because running your own from scratch is just a horrible waste of time if you don't need to do it you know but for you guys you know and for the like project like this I get to sit down a probably read this a nice collision library instead of the cut and paste math I have all over the place so a lot of you might be wondering what this game this little sample game has to do with people who are you know seniors juniors you know the upcoming sophomores taking this lecture is 1st 2nd 3rd multiple game engines right the approach I use for designing this and just sitting down and getting things done is going to work for any level of class and it's going to work out in the industry as well so for game 200 I said I'm fairly certain that this game for 8 hours could get at least a B you know after I fix of tcri she's like the menus and all that for game 300 the requirements actually aren't that much higher if you look at the the syllabus for game figuring game 200 they're pretty similar they probably expect the graphics a bit nicer they might maybe like you know light or something and sisters sound would be a requirement for both classes but there's actually really just not that much complexity the physics requirements for game 300 are very very low right you know this this is pretty close to being able to pass that no problem and then seniors you know Master students your your guys biggest worry more is actually making something that looks interesting to future employers so if you're Senor work on this cool architecture that you can't show someone on a resume or show someone in a playable demo it's not going to help you a whole ton having the knowledge is certainly valuable that's what's going to help separate you from other people in industry but if you're trying to get a job getting something up and playable like this is way more valuable than you know thinking about the best way to thread an engine there's something like that so now again I like architecture and I know a lot of you guys like architectures is why you're coming to game engine architecture club you know we like solving problems we like learning new things we like you know doing really awesome kind of stuff and this learning is important but we can start adding this these base games after we get them up and running at you know we've got the whole rest of the semester to experiment if it turns out that all that advanced stuff you're doing paint yourself into a corner doesn't work you can't get it finished by the end of semesters all these bugs you've got something you can already turn in you're just sitting there from their beginning of the semester if you start like this you know you can also just kind of relax and they go to such a rapid pace you can give yourself some free time some breathing room constituent other classes and actually pass them as all kinds of all kinds of nice things you can do if you have a playable game you know near the beginning of the semester or even before the semester even starts and now certainly some games you know this this keep things simple and don't use advanced features doesn't make much sense for kind of all right so take Nitronic rush everyone here smart Nitronic rush I'm assuming everyone's seen it at least vaguely familiar with it looks really really amazing right it's plays amazing so these really cool physics the car can fly around and it's got you know the actual wheel physics going around sticking different walls and all that if you guys saw their first tech demo it really wasn't that impressive at all it was it was his card I remember it was the car Shaundi member if it was the car or was it the tank from CS 250 the Jeep okay yeah so they had the gap through her Jeep driving around on a flat plane it did not look pretty and the physics actually didn't work in the general case if I recall like it didn't deal with the tons of situations properly it was just a car driving on a flat plane but it was a tech demo but they can play it you could sit down he had the controller you can see the car move around you know kind of do a little bit of the sway and stuff so it was fun it was motivating for them you know instead of working in all this architecture and stuff that they they you know didn't really care about they had the core mechanic of their game up and running and they were so happy because in here they were just totally ready to actually now make this car do cool stuff rather than just sit here wandering Alwine are we finally going to be able to play this game they'd do it right then there's also again a prototype it proved that they could do the hardest part of the game which is getting the car mechanics to work so that they didn't then spend an entire semester building all this other stuff for a game that they could never manage to get working so this to say this this saved them in the event that they couldn't get it up and running but thankfully of course they they measured off quite amazingly well same thing with triple-a titles all these big you know 20 to 100 million-dollar games a lot of them are prototype for most of them our prototype first and a lot of the times these bigger engines that you see being used are used more for prototyping are used because of the ability to quickly prototype to go Riva this idea for what we want to do we're not sure how it's going to work we're just going to build something as quick and dirty and ugly as possible just to make sure that it's up and running and we can put it in front of somebody and say hey does this seem like a cool idea you know two weeks spend two to four years of our lives and you know 100 million dollars working on this that's really important they don't sit there and do four years of development does then find out if a game is fun you know so these engines have a lot of complex features but these complex features are there to help save time because they don't have to implement them that's the whole reason these complex engines are valuable when you're a DigiPen student or you're a hobbyist or you know indie developer is doing things from scratch those complex features now are costing you time you have to implement those features so the complex features themselves aren't actually valuable the time-saving is valuable so implementing complex features that's not saving you time is not valuable all you know only think about the features you actually need another thing about triple-a engines so something I think most people know after they work as some of them is that there is no perfect engine and they all pretty much suck they are some of them are really pretty some of them are really fast some of them have some some really great qualities to them but if you sit down a work of them you will almost certainly have many moments you're just banging your head against a desk because they're doing something just horribly wrong and when I say all game engines suck I mean all of them whatever perfect engine that you have sitting there rattling around your head your think this cool idea to make it perfect no it's going to suck I hate to break it to you but you're going to get it up and running and afterwards you're going to regret large parts of your engine and that's just the way it's going to go all right so instead of sitting here worrying about how to build a perfect engine worry more about making the perfect game because that's actually attainable that's something that we've all played we've all got games that we love to death that you know the reasons we came here to DigiPen right those things can happen the perfect engine can't worry about the perfect game not the perfect engine so in summary make a game not an engine right that's the important part only write what you need and nothing more if you don't need scripting your metadata or threading don't worry about them I get what you need and if you want to play around those technologies do it later once you essentially when you're on your own time when your hope you don't have your whole team riding on you're trying to get something go pass class be you know quick and dirty don't worry it necessary about how clean the code is or if it's well architecture to will abstract get it up get it up and running and you can refactor after it's complete option prototypes and still be fun so don't think that prototypes are boring or have to be you know uninteresting this was essentially a prototype and it seemed pretty fun to me and primarily engines come from games all the big triple-a engines all these all these really popping as you see they didn't start out in this vacuum some guy making an engine and then sold it for a hundred million dollars or a hundred thousand dollars to these people licensing it what happens is some company makes a game this sigalas code most of its again pretty crappy you know the game successful so to make a sequel so they take the first game they clean up bits of it add some features that game successful might be to make a third one and at that point because they've built three games they can now take the common parts of these games the reasonable part of this game and separate it out and that's where their engine that came from all right that's where the engine and the source engine and the Unreal Engine all these and all these big you know fancy engines that's where they came from they came from games not from someone sitting down thinking about how to write the perfect engine and that's all raised so questions anything nope okay so the question is if you don't have a game concept should you work on the engine I'm leaning towards saying no you should probably start brainstorming game concepts and the nice thing is again eight hours I built that prototype if you're not sure if a game concept is fun don't think about an engine just build your just build an idea and if you're not sure now you can set it down exciting up that wasn't fun or you can say yeah you know I was on the fence about that idea but yeah this is this actually this was a blast right and then that can help you now decide we're going to go especially because if you don't know what game you're building you don't know what engine to build the features that will work for certain games are completely useless for their games will actually hinder you so you really want to aim towards having an idea there's certainly games in DigiPen that have succeeded fairly well by changing their concept several times they had a nice engine to to be able to rapidly iterate so I mean there obviously is still value in having some engine components and there are certainly things that you know you're going to need you're going to need some kind of math library things like that but again you can only go so far before your team is stuck not having anything to build on except for these little bits and pieces they don't actually do anything you know and even if you're talking about you want to wrap the iterate on something again having a simpler codebase might make that a lot easier than having a complex code base any other questions all right thank you
Info
Channel: DigiPen Game Engine Architecture Club
Views: 76,730
Rating: undefined out of 5
Keywords: DigiPen, Game Engine, Game Architecture, Software Tutorial, Sean Middleditch
Id: GK7ntA7a2vk
Channel Id: undefined
Length: 34min 49sec (2089 seconds)
Published: Sun Jun 17 2012
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.