I'm Makin a Game: Saves

What's New?

I've been up to a load since the last update but it's such a scatter shot of areas that I think it'll be hard to cover everything. I've started making notes in a separate document as I'm making changes and adding things which helps me keep track of what's going on to a certain extent. I'll try to hit the big notes.

Saving

The biggest of notes is that I've finally got saving and loading working correctly and in a hot manner. I'm working on both the PC version and the 360 version concurrently so this means I've got the save features working on both. Right now, it's still bare bones but I've got it all down to a point that I feel very comfortable with the system I've got set up and can choose to save whatever I want pretty much whenever I want. Saving is obviously a very important aspect of any game but I feel it'll be doubly so in my game as the mechanic will actually work with the gameplay. I don't mean this in just a basic, you can use tents to restore mana on a save point, or along the lines of say ink ribbons in old Resident Evil games. I've sort of decided that I'll hold off on revealing some core elements till I'm far along enough that I can show them properly so as not to spoil what I'm going for just yet. Anyway, In the short video I'm posting, you can see that the game can be saved at any point. It also runs in the background once the saving occurs so that on the 360, it won't slow anything down gameplay wise and can be used in a checkpoint fashion. Speaking of 360.

Xbox Live

I've implemented XBL into both the 360 and PC versions of the game. As far as I know, XBL has only been implemented into a scarce few PC games, and I'm not even sure if it's of any use so I may or may not remove it from the PC version in the future, but as of right now, you can hit the home key and bring up the PC version of the XBL menu with friends lists and whatnot. The 360 version has a bunch of back end stuff going on for saving as well. The press start screen is only there so that on the 360 build, you can choose what save device to use. Funny enough, you can save my non-game to the cloud =P It's got basic functionality such as asking to change save devices if the currently selected one has been removed (though who would do this in a real world situation I have no idea).

Continuing work on the dialog system

I've been putting more effort into the dialog system and it's turning out pretty nice. I'm still going to need to make refinements (and an actual interface) but the system I have for implementing the lines of dialog is coming along nicely. To understand the actual unique things I'm trying to do with dialog, as with the save system, I'll have to show it once they're all in place together. I'm beginning to see why developers rarely show really early anything having to do with their games as it's embarrassing to show off pieces of an incomplete puzzle. While I'm also keeping this blog as a means to track progress personally, I also feel very self conscious of my work and really don't like how downright shambly it is at the moment. Especially the combat. . . That's sorta fallen by the wayside as I've gotten more and more into other aspects of the game, but seeing as how they're all equally important to me and to the experience I'm trying to create, I don't think that's really a bad thing.

Improvements to Loading

Previously, the loading would just be a fade to black then a fade back in. It's not easy to tell from these videos, and especially on PC since load times are non-existent on PC but some of the changes I've made make a pretty big difference on the 360 build. The biggest difference is that previously, I had the game fade to black, and THEN begin to load the next stage. The way I've got it set up now is a separate thread will start to load the game as soon as the fading begins. This actually makes the load seem a lot shorter since all that fading time is now loading time. Also, I've restructured my loading class so that I can run whatever I please on a separate thread as the loading is taking place. I expect for loads to take much longer as I add more content (textures, sounds, music, etc) so now I'll have an area to play around and give the player something interesting to do as the game is loading. Depending on how long the loads end up being, this can be just a variety of text (Call of Duty, Bastion) or something the player can actually interact with (Assassin's creed, Bayonetta). The player class is never released, so I don't think it'd be difficult to allow something like that to take place. The boxy fade in and out is just something I threw in as an example to someone else making a game that wanted to know how to do it.

More Back End Boring Stuff

As I'm doing all this, I'm constantly reading up on and trying to learn more about game design and programming. I've come across some really great stuff having to do with pathfinding and AI. This lead me to breaking off any objects in my game that have AI into a separate subclass. I've also learned that it's more efficient to run AI/Pathfinding on waves of enemies instead of all of them at once. What I mean is, if I have 50 objects that need to check paths, ai, etc, it's better to run say 10 of them per update (which happens 60 times a second) rather than all 50 objects every update. I've set up that whole shebang and it was an ordeal at first but now that it's implemented, I feel much more comfortable having the AI do some more complex stuff without worrying about it really slowing down the game. The pathfinding stuff I've been boning up on is also really damn interesting. If you're interested, look up A* (A-star) and you'll realize it's used for almost every game you play from civilization to starcraft to uncharted. Really great stuff. I can't wait till I can start designing some real enemies rather than mindless potatoes that just move towards the player and try to attack.

Wanna Help?

If anyone has some free time and wants to do something stupid for fun, I'd be much obliged if any of ya'll could record a couple lines of VO. Pretty much, I'm going to be using just greeting clips for NPCs to give the player a feel for the voice without voicing the entire thing. What I'm specifically looking for is maybe a neutral greeting, a happy greeting and an annoyed greeting. While it most likely won't make it into the final game, I need them for testing purposes since I need to start building it into the dialog system soon and I feel sort of silly recording a bunch of lines myself =P Anyway, if you're interested, just send em my way and I'll be sure to plug your name in any vids they appear in and in the credits if they actually get used in the game right proper -_-;;

26 Comments
27 Comments
Posted by Fobwashed

What's New?

I've been up to a load since the last update but it's such a scatter shot of areas that I think it'll be hard to cover everything. I've started making notes in a separate document as I'm making changes and adding things which helps me keep track of what's going on to a certain extent. I'll try to hit the big notes.

Saving

The biggest of notes is that I've finally got saving and loading working correctly and in a hot manner. I'm working on both the PC version and the 360 version concurrently so this means I've got the save features working on both. Right now, it's still bare bones but I've got it all down to a point that I feel very comfortable with the system I've got set up and can choose to save whatever I want pretty much whenever I want. Saving is obviously a very important aspect of any game but I feel it'll be doubly so in my game as the mechanic will actually work with the gameplay. I don't mean this in just a basic, you can use tents to restore mana on a save point, or along the lines of say ink ribbons in old Resident Evil games. I've sort of decided that I'll hold off on revealing some core elements till I'm far along enough that I can show them properly so as not to spoil what I'm going for just yet. Anyway, In the short video I'm posting, you can see that the game can be saved at any point. It also runs in the background once the saving occurs so that on the 360, it won't slow anything down gameplay wise and can be used in a checkpoint fashion. Speaking of 360.

Xbox Live

I've implemented XBL into both the 360 and PC versions of the game. As far as I know, XBL has only been implemented into a scarce few PC games, and I'm not even sure if it's of any use so I may or may not remove it from the PC version in the future, but as of right now, you can hit the home key and bring up the PC version of the XBL menu with friends lists and whatnot. The 360 version has a bunch of back end stuff going on for saving as well. The press start screen is only there so that on the 360 build, you can choose what save device to use. Funny enough, you can save my non-game to the cloud =P It's got basic functionality such as asking to change save devices if the currently selected one has been removed (though who would do this in a real world situation I have no idea).

Continuing work on the dialog system

I've been putting more effort into the dialog system and it's turning out pretty nice. I'm still going to need to make refinements (and an actual interface) but the system I have for implementing the lines of dialog is coming along nicely. To understand the actual unique things I'm trying to do with dialog, as with the save system, I'll have to show it once they're all in place together. I'm beginning to see why developers rarely show really early anything having to do with their games as it's embarrassing to show off pieces of an incomplete puzzle. While I'm also keeping this blog as a means to track progress personally, I also feel very self conscious of my work and really don't like how downright shambly it is at the moment. Especially the combat. . . That's sorta fallen by the wayside as I've gotten more and more into other aspects of the game, but seeing as how they're all equally important to me and to the experience I'm trying to create, I don't think that's really a bad thing.

Improvements to Loading

Previously, the loading would just be a fade to black then a fade back in. It's not easy to tell from these videos, and especially on PC since load times are non-existent on PC but some of the changes I've made make a pretty big difference on the 360 build. The biggest difference is that previously, I had the game fade to black, and THEN begin to load the next stage. The way I've got it set up now is a separate thread will start to load the game as soon as the fading begins. This actually makes the load seem a lot shorter since all that fading time is now loading time. Also, I've restructured my loading class so that I can run whatever I please on a separate thread as the loading is taking place. I expect for loads to take much longer as I add more content (textures, sounds, music, etc) so now I'll have an area to play around and give the player something interesting to do as the game is loading. Depending on how long the loads end up being, this can be just a variety of text (Call of Duty, Bastion) or something the player can actually interact with (Assassin's creed, Bayonetta). The player class is never released, so I don't think it'd be difficult to allow something like that to take place. The boxy fade in and out is just something I threw in as an example to someone else making a game that wanted to know how to do it.

More Back End Boring Stuff

As I'm doing all this, I'm constantly reading up on and trying to learn more about game design and programming. I've come across some really great stuff having to do with pathfinding and AI. This lead me to breaking off any objects in my game that have AI into a separate subclass. I've also learned that it's more efficient to run AI/Pathfinding on waves of enemies instead of all of them at once. What I mean is, if I have 50 objects that need to check paths, ai, etc, it's better to run say 10 of them per update (which happens 60 times a second) rather than all 50 objects every update. I've set up that whole shebang and it was an ordeal at first but now that it's implemented, I feel much more comfortable having the AI do some more complex stuff without worrying about it really slowing down the game. The pathfinding stuff I've been boning up on is also really damn interesting. If you're interested, look up A* (A-star) and you'll realize it's used for almost every game you play from civilization to starcraft to uncharted. Really great stuff. I can't wait till I can start designing some real enemies rather than mindless potatoes that just move towards the player and try to attack.

Wanna Help?

If anyone has some free time and wants to do something stupid for fun, I'd be much obliged if any of ya'll could record a couple lines of VO. Pretty much, I'm going to be using just greeting clips for NPCs to give the player a feel for the voice without voicing the entire thing. What I'm specifically looking for is maybe a neutral greeting, a happy greeting and an annoyed greeting. While it most likely won't make it into the final game, I need them for testing purposes since I need to start building it into the dialog system soon and I feel sort of silly recording a bunch of lines myself =P Anyway, if you're interested, just send em my way and I'll be sure to plug your name in any vids they appear in and in the credits if they actually get used in the game right proper -_-;;

Posted by Hizang

Awesome, this has come along nicely.

Posted by wefwefasdf

Following your blogs and development has been a treat! Just thought you should know.

Posted by Enigma777

Watching Abe Lincoln falcon punch a potato never gets old. Ever! 

Posted by MistaSparkle

Making games is hard! This looks like its coming along nicely, though. I remember when your were putting up videos showing jumping and a few animations. Keep at it, duder!

Posted by Fobwashed

@Hizang: Very slowly tho -_-;;

@SpikeSpiegel: Thanks! Glad you're enjoying them. I'd love to follow someone else's progress as well. Lemme know if you know of any others doing the same so I can keep up.

@Enigma777: Soon it'll be more than just potatos. Soooooon. . .

@MistaSparkle: Yea, doesn't it? That was over a year ago. Man it's slow going. I'm finally at a point though where it's starting to be more design and less just coding the engine. In a lot of ways, design is harder since it's not just figuring out how to do something specific and more figuring out why to do it. I may write up some blog posts about the design behind the game but I think that may have to wait till after I'm actually done with the game so as not to spoil anything.

Posted by nintendoeats

I'll do VO!

Excellent progress my good man. I'll probably nick that AI trick at some point.

Posted by Little_Socrates

Still happy to help with the VO whenever you're ready!

Posted by Fobwashed

@nintendoeats: @Little_Socrates: Forgot to mention. Either send me a PM or just go ahead and e-mail the clips to fobwashed@hotmail.com =D I'm currently working on a sound manager so chances are, I'll have any clips I get in game by the next vid update. I think =P

Posted by SSully

Awesome stuff man! I am really liking the progress you are making. Its all extremely interesting.

Also don't be so down about the combat, it obviously isn't where you want it, but you have come a long way. It looks so much better then when you first showed it off, you should be proud.

Online
Posted by afrofools

Make him do a flying kick that takes him go 30 pixels across the screen or until he hits something :) But make it require energy so people can't just use it to move faster and do this and that...

I've barely started making a game in Stencyl, I don't have to do hardly anything unlike you who does everything, and I'm having trouble (it can't find my iOS SDK). So kudos for being smart and making something. I read your post with the jumping in your original engine ages ago, that was pretty cool.

Edited by Jay444111

Just starting reading your blog... and I must say on how impressed I am on your work so far... I would as far to say that you should STOP looking foreward to the indie games section of Xbox Live and just head strait for steam instead. Mainly because many indie devs are just plain SHAFTED when it comes to xbox indie marketplace.

Also... is this game gonna have a story? if not then I think you should really think about it. One of the main reasons people do NOT like indie games overall is because they don't have philosophical questions or good storylines at all... I am one of those people... I am at a point were I am willing to give ANY indie game with a story... even crappy a 10/10 for the fact that it HAS a story... Thats in my opinion anyways.

I don't mean to sound ungrateful or anything... but good writing and a good story go a long way to making cult classics. If you are up to it, I sugguest trying to figure something out for a good storyline when finished with main gameplay design... I would love to play another Braid style indie game with actual story. Even if it involves our old president Abe beating the crap out of potatoes. Just personal thoughts on the whole indie business... Curiuos to hear your thoughts on this subject.

Posted by Truckalicious

Seems pretty cool man, I really like the art style. But that music...I don't know if it's just me, but I was severely unsettled by that music. But hey if that was what you were going for then you totally nailed it! :D

Regardless, definitely keeping an eye on this thing as I'm also trying to make some kind of a video game atm (albeit at a way earlier stage than this one)

Keep on Lincoln-ing!

Posted by Daryl

Can't say I'm a fan of the outcome so far, far too generic but good luck with future iterations.

Posted by Fobwashed

@SSully: Thanks! While I'm not too keen on how long everything is taking, I'm definitely happy with the progress I've made so far. Even with little things like saving, I'm pretty stoked that it all works the way I want it to and more importantly, how and why it works.

@afrofools: Combat has really fallen by the wayside as I've gone deeper into other areas of the game but I'm definitely planning on revisiting it sometime soon. I've got a lot of ideas I'd like to try out but the difficult thing about combat is that I have to make so much damn art for it. And for some godawful reason, I can't stand just throwing in stick figures or something super rough. . . which is what I really should do until I've ironed out all the moves. I'll get back to it soon. The good thing is, the combat engine (aside from air combat) is really well done (in my inexperienced opinion of course). Everything I've been coding, I've been doing in a way where it's easily expandable. That move that you mentioned would be a breeze to implement. If I had the art, I could prolly have it in the game and running in less than 10 minutes =P

@Jay444111: I've spoken to a few people who've released on the Indie channel on XBL and that's pretty much the story. It's generally a wasteland but to be fair, 90% of the stuff on there is pretty much just the starter kit with a few additional things and different artwork. I plan on releasing it on 360 just because I can but I'm fairly certain that the bulk of sales (if I get any) will be on PC. Once I get further along, I'll start really looking into distribution channels with Steam obviously being my top target. Also, yes, I've taken a ridiculous amount of time developing the story to my game. I think the premise is pretty unique and at least to my knowledge, has never been done in gaming. It will tie in directly to large portions of the gameplay. My dialog system is pretty much created to be in service of the story and it to is something I don't think I've seen done. I'm really damn excited about it and wanna just spill the beans on what I'm planning but I think it'd be better to show rather than tell. That and, as I've mentioned before, I'd be really sad if someone else used my ideas before I got a chance to build them out myself =P As unlikely as that may be, I'd rather be safe than sorry =) If you only need a little story to be happy, then I hope you'll enjoy what I'm doing later on!

@Truckalicious: I've yet to have any music made for my game specifically. I pretty much just play random music to fill in empty space in my vids -_-;; Once I'm a bit further along and I have a good idea of how many, and what types of tracks I'll need, I'm going to go out and try to find someone who can crank out some tunes for me =P

@Daryl: Can't really help but look and be generic at this point but give me another look in a few months. Hopefully by then you'll see some differences between my game and your typical beatemup -_-;;

Posted by MikkaQ

Man this is starting to turn out, I wanna get my mitts on this hot new game.

Posted by Marmalade

Already sent ya my dumb voices! :D

One thing I'm concerned with; will you be able to freely use Abe Lincoln once you're ready to ship to the public? I really know nothing about copyright infringement, so I'm hoping you're in the clear!

Edited by Brackynews

@jyluth: Just some quick clarifications if you're interested. :) Also I am not a lawyer.

  • You can't copyright someone's face or name.
  • Drawing a caricature of a person cannot violate copyright because it's not a copy. If it looks too similar to another drawing, that might violate copyright, trademark, or moral rights.
  • Everything the U.S. Government creates is automatically in the public domain. With specific exceptions.
  • Even the photographs of Lincoln are so old that their copyright has expired.
  • Lincoln only has one known descendent still living, in order for there to be a claim against use of his image under a defamation charge.

Basically there should be no problem. Conduit 2 and The Simpsons don't have to worry about satiring old presidents either.

Posted by Sjupp

This music is freaking me out.

Posted by Kazona

The more I read about your endeavour, the more impressed I am.

So now I have a question. If I want to get into game development in a similar fashion, what programming language should I start with? And do you have any recommended learning material?

Posted by Fobwashed

@jyluth: I've read through the fine print for XNA indie releases and I think I'm in the clear there. As Brackynews so kindly wrote out, I'm pretty certain I'm in the clear. =D

@Sjupp: It's from Earthbound I think. I should prolly stop looking through my music for ones that match the length of the vid -_-

@Kazona: I wrote a blog on just that a little while back. http://www.giantbomb.com/profile/fobwashed/so-you-want-to-learn-to-program/30-87943/ Hope it helps

Posted by Dagbiker

How are you saving are you just using a struct structure to hold the data, then writing that to saves, that's what i did when i made my nethack clone.

Posted by Pierce

The game is still in alpha, right?

Looks similar to River City Ransom. Huh, I wonder why no one has tried a historical beat-'em-up yet...

I'm learning Coldfusion, and the complicated work that makes trivial things like Save and Load are amazingly awesome personal milestones when you get it to work. ^^;

Posted by Hardgamer

Abraham Lincoln? Yikes! 

Posted by Marmalade

@Fobwashed: Awesome to know you're squared away in that regard! It just wouldn't have been the same without my boy Abe.

Posted by TheMustacheHero

Don't take this the wrong way, but the music in the video made me want to commit suicide.

Posted by miva2

It's interesting to read about the thoughts of a fellow game programmer

I should actually get something done too. Usually I make them in my head, or start coding but don't continue :P

Good luck with your game!

Don't forget to have fun while making it :)