Planning and Art and OBS Malfunctioning – Open Source Gamedev (Lenxion: The Cursed Castle) #5


hello I mean saluton al ĉiuj! today is Thursday it is the 7th of November I am done with my other job for the week so I have and my ASL classes not meeting tonight so I basically all day free and I’m pretty excited my husband bought me a half gallon of mango lassi so I have that to drink so that’s good Korra is still back here so yeah I’m going to try to maybe cover multiple topics today and then try to make it so they’re each not too long but again I’m still trying to work on this format and I’m also trying to make it so I can do the least amount of editing so I can try to make the filming process nicer more polished maybe but we’ll see so I have a few things to cover today and then probably Saturday I’ll do a retrospective of this sprint this one week sprint Friday or I guess Thursday night I can go pick up Death Stranding cuz i pre-ordered it really I just pre-ordered it this week I just went on the website I was like okay I’m gonna buy this so i pre-ordered it and I didn’t pay for it yet so I thought you had to pay for pre-orders but I’ll go pick that up tonight so I guess a little stream that Friday maybe with my sister um okay so I’ll talk about some sprint planning today I’ll just I guess talk about the organizational part of planning projects I’m planning on talking about the anatomy of a video game some more but not viewing code I’m going to be drawing I’ve painted my Wacom tablet pin this way so I don’t lose it as easily but I’ll kind of try to illustrate more visually what I’m doing I want to work on some more environment art just so I can finish that one map that will probably will just speed through it really fast I don’t really know what to say about it I guess I could also do kind of a breakdown – hi there’s anything interesting to say I’d like to get the animated character sprite or the main character moving in four directions just moving to begin with and then so once I have the map art I can make the map and tiled and then we can get to how do you load a map in a game and the tiles map format and all of that stuff so that’s my goal for today and it’s currently 11 o’clock so we’ll see how that goes [Music] so let’s talk about planning and making that schedule and sprint planning and stuff like that um I’ll try to do my best to try to explain what I do so I guess first like when I’ve worked professionally as a software / web developer almost every place I’ve worked at has at least claim to be scrum some of them have been actual scrum some of them have been scrum but so I tend to like agile scrum for the most part when it’s done correctly I’m not necessarily following necks I don’t have a team here but the idea behind like having agile scrum is like everyone like there’s not supposed to be a hierarchy you’re supposed to all have equal say in things when you’re pointing how long something will take it will have to be a unanimous vote between team members but that’s not really coming in here I haven’t waited any of these tasks I basically just put tasks together so I guess first is just thinking of when you’re making a game and especially if it’s your game and you make decisions on what’s going to be implemented you can kind of think of what features you’ll need ahead of time whereas like if it’s a big software project you’re gonna need people who know the clients who work with the clients to figure out what the features are so for this one like I chose venture for a reason because it’s a game that already exists and so there’s a limited amount of features that makes the scope very small so I know that for instance will need to have like keyboard movement so we’ll need to have let’s say let’s try to break this down into as fine-grain as possible without being to to find agree so there’ll be a player with you know keyboard movement or whatever with venture it’s top-down maps its top-down so the good thing about that is we don’t have to worry about gravity we’re not making a side scroller so that actually makes programming that very easy venture like just kind of has really thin walls as lines and a bunch of empty space but for me I’m gonna have tiles so I’m going to make this tiled grid based so that also simplifies things because I know that means I can use certain techniques for collision detection between the characters and that tile based map so you know I can know ahead of time that exactly these spots on the map are unpassable or solid or something um whereas I could make it and I think I could also do this with the tiled map editor as well but I could make it like just everything is kind of freestanding wherever I want it to be so if you think of a lot of more modern games modern 2d games where you can kind of freely place things then you have to think about collision more in terms of like actually hitting the objects whereas with tile based you can kind of just be like there’s a block here you can’t go in that entire block and kind of do some calculations ahead of time so I know that both of these will make it a little bit easier the easiest would be to not have any matters and I also know that I’m not gonna have any screen scrolling so I know these are going to be one map / screen or one screen per map screen so that’s also something that’s making the feature easier I know I don’t have to implement screen and scrolling so not that that’s hard to do but that almost in mean when I do that I have to implement like a camera system so that’s like a whole little feature unto itself you know so it’s you know from experience I know it’s not that hard I’ve done it before um okay player we have keyboard movement we’ll have some sort of collision detection so I’ll figure that out with collision against the environment that can just be squares with collision with other characters that could just be radius based like I don’t really need to implement pixel perfect collision detection here so we’ll know we need collisions the ability to detect will need to be able to detect when the player hits an item an enemy and walls of the map as well as like doors and stuff but that’ll be part of the tiles like I can have warp tiles that are programmed to say go to this map and then the player will need to attack so with that I made mine a little bit more sophisticated than what venture is I haven’t made yet but I was thinking of having like um like no attack at first and then maybe like a close range like you have to be really close to hit the thing or having a ranged attack where you throw something so this one right here if you’re allowing for movement in any direction then you have to come in with Trigg to figure out your velocity and engels and stuff I’m not gonna do that we’re gonna keep it simple in the venture you can move in eight directions which like you don’t you can still use the trick but you could just hard code the values instead so we might do it that way I am NOT going to draw the character walking and in eight directions one I’ve never I’ve literally never drawn a walk cycle at a 45-degree angle so we’re gonna let you just walk in like any direction like you can walk diagonally but I’m only gonna make like north south west east directions for animation okay anyway so this this is also gonna need its own collision this is gonna have its own collision so there’ll be some different methods so we’ll need versus the map and vs. enemies and then also possibly if the enemy is end up having any ranged attacks let’s just call them like bullets so you know projectiles something like it if an enemy has a magical attacks or something so that should be pretty easy as well I know with maps we also need the overworld map is what I’m calling it but it’s you know just the kind of big map of the castle and then you go into a specific room and we have room maps but really the only difference is that they player dimensions and the player size the sprite size is going to change the rest of that logic will be pretty much the same I know I will have enemies well I and it let’s HUD notes the enemies are probably going to be the most complicated part oh yeah we also need the a UI so we’ll put that down here maybe over here the GOI can be pretty simple enemies I want to have different types of enemies so this indicates different behaviors so we have to think about how are we going to program in that behavioral system so for instance if it were like this type of enemy always follows a path and walks in the square or something like that um maybe I could free plan a path maybe I could store that as like a series of characters like north north north north south south south south or I could predefined a set of behaviors and have it follow that it’s up to me to decide that and figure out how to implement that but that’s something another feature that we’ll have to do that’s more than just kind of your bare bones um different types they might have close range and projectiles which will be the same feature as for this here so that will be all one big thing like the the behaviors for instance say follow or no pass or random that’s um what else with the enemies really in the venturi the enemies kind of just wander around randomly I think and then there’s only one type of chasing enemy this is also gonna require the most art about that and I’m trying to think if I think of anything else for enemies I’ll put that in here then we also need the HUD so that’s just gonna keep track of like whether you’ve been spotted I’m thinking of putting in that spotted slash hidden mechanic that will be a pretty simple feature but it’s it’s own thing it’s not really part of the HUD it’s part of like the player and grouped with enemies but it’ll be shown on the hood score which will also come into play with the player and the items inventory because I want to show it’s not gonna be like a kind of standard inventory for a video game and this is just gonna be the inventory of treasure you’ve taken because Justin venture between levels it shows a square with all of the things that you’ve collected I’m just gonna put that in the HUD and then health which is also part of the player character so I guess lives it’s not going to be health Inventure if you get touched once you die so then you start over from the overworld but you get five tries and then it goes up when you have enough points okay and then finally the UI so you generally don’t just launch a game and you immediately get into it that could be a design decision if we want to do that but for the UI usually we’ll need at least like some buttons so I’ve implemented like a base widget before with a button I’ve implemented like you should I don’t do button label an image and then I’ll do like buttons are made from images and labels so you can or maybe in multiple images so you could have like the background for the button and maybe a little icon for the button and then the text so for instance like the play button would have the background for the button the little play triangle symbol and then the text play oh reminds me one more thing language yay and of course like just other miscellaneous stuff audio if you need audio you need a way to play the audio also not very complicated to make a audio manager so that’s gonna be that and just the ability to play it the ability to adjust volume language load language files and change the language so if you’re doing that and adjusting volume that indicates that we’re going to need to be able to save a config I’m not gonna have save games in this game I’m gonna make it so like if you die it’s just game over but that could be something for like decembrist project or something but for config it’s good to have like okay save the person’s volume for music and sound save their language and like if there’s a colorblindness setting so I have not yet tested my graphics for colorblindness friendliness but I’ll continue doing that as I’m working and double-checking and tweets and things cuz you know I don’t really do like the final thing first the one does that and that’s kind of one of the shames about game development you see the final product but you don’t like if you’re starting out and you’re making something kind of roughs and you feels bad because everyone else is so much more polished than you are you never get to see that like kind of rough beginning so yeah so I’ve unfortunately implemented all this sort of thing a bunch of times before that’s why I’ve written the cuoco framework but we’re not using that here because I wanted to show kind of everything all the steps but in my cuca framework this is already implemented and it uses Lua as the mark up for building out your UI so you just put in a bunch of Lua I guess tables objects to say okay button this image this X Y this with this text I have a basic like object class in kuku I have map loading to go I have config stuff already done I was trying to make it so like you don’t have to bother making an option screen with the audio adjustment and language loading options like that stuff is just there I was going to try to make it so you have accessibility tools already built in so you don’t have to like reroll it every time so language is in cuoco obviously managers are in control and I can show you that if you’re interested but it’s a little bit off topic for this I have it in get web [Music] so go engine I started this in 2016 to work on the Finland kit game and I really liked it and I still use it for little things here and there but I haven’t finished a game using this but there’s a lot written and I have doxy documentation files but I have widgets I have a text box this is written with SDL and C++ I have various utilities like to change strings to ends and so and figure out what platform you’re on make nice log files State which is just like what we implemented the other day scripts this one uses Lewis so there’s a lot of fluid script stuff so all of this is just functionality that interfaces with these scripts that you would have in your game to specify the config in the languages of the all the stuff config manager loads and saves configs font manager image manager input manager to deal with mouse keyboard gamepad language manager Luo manager just you know loads those scripts gets everything ready and then you can query for text values and Intel use and stuff like that from the blue files map manager how to load maps and store those maps menu manager which menus are made of you is sound manager state manager and entities so you have your base game object and then I guess character was anything that has like an animated sprite with it map contains tiles and just the application that initializes STL I guess a sprite wrapper fur to those and rectangles so those are those oh yeah look at all these issues I have to fix okay so that was breaking out what’s needed in the game I have not gone over how you make your issues so this is back here so also okay so another thing with scrum this is going really long I haven’t even started programming yet today but I guess that’s good I guess I’m just talking about how I make the games so one of the ideas I like from scrum is that at the end of every iteration you should have some working product that would be shippable even if it’s essentially like early access like maybe it’s not done done in any way but you have some features working it builds it runs you could give it to somebody I know with iteration one there’s gonna be that boilerplate coding and you know throwing a character on the screen having keyboard movement loading maps like that’s kind of the bare minimum on having sound effects having music kind of getting like your basics out there so iteration one I was like maybe I can do this in a week just kind of implement all the basics and then from there you build on so what would be the nice next feature to have well I don’t need to make it so you can move between different Maps right away maybe it would be good to work on combat next so then when you’re in this one map you were testing with there’s something to do and then you can work out that gameplay and make it kind of more fun so I couldn’t have said we’re gonna work on multi maps for iteration two but that would just be navigating between different Maps it could be boring we could have made it Maps and just items and then did the enemies later but I thought it’d be nice to kind of iron out the game feel sooner so combat and then I guess I have warping between maps but that would probably be the end of iteration that I need that so enemies oh yeah so okay I have enemies and maps in here that might be a little bit much but we’ll see um oh yeah also a special effects feature so that itself would just be like floating a number text you know like in Final Fantasy when you hit something and there’s a number pops off or really like any game with numbers iteration three was less of the gameplay stuff itself maybe I didn’t plan this very well I feel like I should put the map stuff here um I wanted to make Story cutscenes I forgot to lock that too that will mostly just be drawing and then having some system that goes this frame okay press this do next this frame and so on having the menus the menus can be pretty easy we can make them as simple as we want or you can make them more complex well see how much time we have testing technically I’ll be testing this entire time anyway but if I find something weird while trying to like play through the game try to fix that and then we have overflow so the last the fourth week of November I guess there’s ticking whoa one two oh no this is the week which week of the year folks so we have four weeks of November and I don’t like feeling rushed so I always kind of give myself will or wiggle room if something lags behind that lets me push everything forward and like in a professional context like working with scrum you would say that your tickets are rolling over which happens sometimes and it should be fine and so really the only deadline here is get the game done by the end of November I can adjust features to make it a little bit more simple if something’s take gonna be too long I don’t have enough time but that’s that so then in here I went in and I made some issues that’s not window I wanted list no issue set a title at a description assign it to me I set up milestones just in here github also has this I think bitbucket also has this and then I set up just different categories so yep so for this sprint it is Thursday I might not be I might do some programming tomorrow I don’t know it depends on how much I like death stranding but you know this if I were estimating these properly like this might take half the day I feel like the arts gonna be taking the most amount of time really loading in maps map loading and stuff Oh building the maps that won’t take very long loading the maps and getting all that worked out half the day just making a generic character player into the object if I want to put animations it’ll take a little longer but not that much longer I would also say half a day but you know I’ve never been really good at estimating things so don’t take my word for it we’ll see what I actually do Audio Manager very easy two seconds no longer um but yeah that’s all I can think of about my planning process I’m specifically covering this because somebody had asked me to in the comments Victor the van so hopefully that helps if you have any additional questions you know yeah and you know I’ve been talking for 25 minutes about planning and my video from yesterday was like 45 minutes on just programming and now I feel like these videos are gonna get very long if I just keep talking [Music] I still haven’t done any coding yet well do some sprites next and then to the coding this is a intermission I suppose I’m gonna show you some books I made because one of my more recent hobbies is making scenes and learning about book finding so one of the things I was doing for Christmas presents was buying old VHS tapes from thirst stores and turning them into notebooks so I bought this right here front and back I have a bunch of other VHS tapes from 90s and ease and then I just I used some special glue to glue it together I didn’t do a great job here this is my first attempt that’s why I used this one not a good one and then I’ve also been making scenes and mailing them out this one’s not a zine and I find them this ones bound with just yarn and it’s basically just a simple sewing the pages together so usually I’ll like print magazines on shiny paper and then bind them and mail them out this one is for my D&D stuff I just started playing D&D for the first time so I like soaked so a bunch of paper in tea even hung it to dry and of course stuff torn and things but that makes it more more I guess so I my character is a linguist because I want to be a linguist so I printed out information about the different languages in D&D and then I also have notes that I scribbled in as my character of like what happened so we’ve only did our character building in one gameplay session but so making books yay okay end of intermission [Music]

Leave a Reply

Your email address will not be published. Required fields are marked *