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


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

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.