site top

trying to get back into gamedev

it's been a few years since the last time I flamed out on trying to get into making games, so I'd like to get back into that. I'm going to keep a record of it here, since that's what I'm doing for everything else. I want to have a more structured approach to making games this time, so I'm going to try and at least come up with rough design docs before starting this time

log

2024-05-24: spent the last week continuing to struggle with figuring out what to write. Iterated on the bird girl design a bit today

2024-05-17: back to being stuck with blank page syndrome while I try and figure out which direction I want to commit to with the game, and then how to execute on it

2024-05-13: did a basic world map, started finding some scripts to beat the battle system more into line with what I want, got DOT stacking working, got the turn processing to be faster and more informative with yanfly's plugins.

2024-05-11: no updates, I've just been beating my head against a wall trying to figure out how to write.

2024-05-06: Spent some time today using imagemagick scripts to downscale and transparentize some of Toriotto's free game enemies so I'd have something a bit better to work with. I would've liked to have kept the shading more intact but the python script that purported to remove backgrounds would erase parts that shouldn't be erased, so I decided it would be better to just cut out the black parts of the image and put the image onto a solid-color background, get a distinct look.

2024-05-05: debated using VX Ace or MV, but decided to go with VX Ace because I like some of the basic tiles a bit more. I made a small map and then spent a few hours trying to figure out how one of the games I played the other month got itself to open in a larger window. This led me to this repository of old VX Ace scripts. A combination of Zeus81's Fullscreen++ script and Vlue's Basic Window Resizer allowed me to get the game to automatically open at the highest full integer multiple of the base resolution, which solves the most annoying part of playing VX Ace games on modern machines.

2024-05-04: Opened up RPG Maker VX Ace and started modifying some values in the database and scripts because I had an idea that should be entirely implementable with minimal alterations to anything that, as a bonus, relies narratively and thematically on using only the default assets. Might be able to juggle this with the other one.

2024-04-27: starting from scratch again, drawing some character ideas

dunno if I'll make more progress this time than last but if nothing else this will end with some concept art.

2024-04-21: started working on a monochrome tileset to maybe think about prototyping with

2024-03-14: doing some more concept art.

I'm stewing on some ideas some more, I thought it'd be cool if the Gorgon sisters Euryale and Stheno, being snake people with wings (under a generous interpretation of the myths), were coiled around a pillar in their temple and looked like the Rod of Asclepius. No idea where I'm going with this yet, but it seems neat.

Additionally, since I've been working on this sort of greek pottery style I think I might be able to get away with scaling the project back to something that works in RPG Maker. I bet it wouldn't be that much work to make a small monochrome tileset that I can use for most things in Aseprite and save myself several months of work on building a backend and database editor from scratch.

2024-02-17: doing some more concept art.

wanted to draw a Medusa, so I drew a Medusa.

2024-02-12: started stubbing out a main function to start thinking about trying to start debugging it and seeing if anything I'm doing is even remotely in the ballpark of starting to work.

2024-02-10: wrote in some structs for the dungeon, started stubbing out a quest log. There are some weird ideas I have for the dungeon, but I think I'll start with the game doing things sanely and then see if I still want to do the weird bits later. I've been starting to mess around with the art style some more, try and figure out how to get the greek pottery look to a good enough state. Didn't do much over the last few days, but I did start figuring out how I want to handle the death/revival bit and I started playing etrian odyssey to see how that game all ticks.

2024-02-05: Started picking away at the battle manager. There are many pieces it depends on that I haven't put in yet, but I'll hook those in later.

2024-02-03: set up a trello. picked away at some type planning.

2024-02-02: wrote up more of the design doc, started looking into project management software

2024-02-01: I started writing up a design doc.

2024-01-31: I tried getting a feel for what I wanted the menu to be like today.

I'm not sure how I feel about it yet. There's not a whole lot of room to show other information and I think a few of the ideas I've got are conflicting with each other. I'll probably need to sit down and see how the battle system properly shakes out and find out what information I need to convey with the menus. I do want to keep this kind of ornamented framing though.

2024-01-30: I started trying to think about the overall program structure today and naively set about going like "alright, I'll try making a singleton to hold and manage state and a couple other things", and asked if that seemed alright to try and see if someone knew better. At said they throw a DI container into all their projects so they don't have to think too hard about the problems I was trying to solve. I asked what that was and they pointed me to this page describing the theory behind it. It seems interesting but a bit beyond me right now. Sean pointed me to Game Programming Patterns if I wanted to look into some other ideas. I could've sworn I had a physical copy of that, but I couldn't find it after getting distracted looking for it for a while. Blunderjack pointed me to a description of the humble object pattern, which seems to be separating out parts of classes into interfaces so that it's easier to test them. I didn't get too much done today, but it doesn't hurt to learn more theory while planning the project. While reading up on how to implement some of these things I was reminded that I never really learned how virtual functions work, and it seems like that's a big part of what I'm missing when it comes to making and applying effects.

2024-01-29: I did some more work on the schema today, and tried asking around the dogpit to see if there were better ways to handle state than the way I had it last time and I also asked around to see if anyone knew how to get the effect that Wizardry had, where walls don't take up a full square like they do in the Experience dungeon crawlers. TooMuchAbstraction was exceedingly helpful on this point and got me thinking about the tiles on the map as an array of some kind of struct or enum, depending on how much state I wanted to have. This makes a lot of sense and, actually now that I'm thinking about it, bears a lot of similarity to the sort of styling you might apply to a spreadsheet. I should probably look up how people handle those.

I also went and started writing the structs as I've laid them out in the schema in c#. Doing these in tandem has unfortunately given me more ideas, and now I'm going to have to figure out how to implement them.

2024-01-28: I can't shake the desire to want to make a dungeon crawler, so I tried seeing if the RPG Maker MZ 3D plugin I've had my eye on for a while would address what I want. It did not. Giving up on that plan, I decided that the only option left short of emailing Experience Inc and seeing if I could work with their editor in the longest of long shots was to start trying to build my own. I briefly looked at what I did the last time I tried thinking about doing this, and decided that it would be better to start from scratch and try building the back end of it first. That way, I figure, I can test each part and make sure it's working before I start getting into the weeds of GUI. I opened up VS Code and started writing, and then one of the people I was talking to, Nihiloss I believe, recommended that I make a data schema before jumping into it. After asking what a data schema was and getting informed that it was a diagram/spec sheet to lay out how they all relate, I agreed that that was a good idea that I should do, and asked if there was a program I should use for it, to which I was directed to Draw.io.

I got about this far in trying to think through the structure of a typical encounter today. I think most of these can be handled with structs, but I'll probably want to sit with it a bit longer to see if I notice anything weird or remember something I've forgotten.

2024-01-16: I got the disease to start trying to make an RPG again, and got about as far as following a tutorial to get a character moving around before I remembered that I haven't spent enough time reading up on databases or how to properly organize and stub out a program to start understanding how to do the rest of the stuff that an RPG requires.

2024-01-15: I had a rough idea for a microgame to get me back into the swing of things a little while back, where I wanted to try working with some of the ideas for approaches I've been seeing from Sakurai's youtube channel, so I drew up a quick sketch of the idea.

Which is to say that the idea is that clicking mouse buttons and holding chopsticks are kind of similar, and that's a decent enough basis for a microgame. It shouldn't be too hard to implement, and should give me some basic tools to make dealing with Godot less intimidating. I don't have a good asset pipeline right now, so I went and compiled Aseprite and put a few images together and threw them in Godot, and then tried to figure out how to do some basic transforms. Took me a few days to get around to all of it, but here's where I'm at right now:

this is all well and good now. I have some idea how to get input from the user and how to do basic rotations and transforms. Next I'll go and figure out how to make colliders, get them interacting, and then think about maybe adding buttons or something.