this post was submitted on 05 Jul 2023
21 points (100.0% liked)
GameDev
2826 readers
1 users here now
A community about game development.
Rules:
- Adhere to the general lemmy.blahaj.zone rules (#1 being no homophobia, transphobia, racism or other exclusionary content)
- Self-promotion is fine as long as it's not spammy - share your progress, insights, techniques and mishaps! If you recently posted, update the previous post instead of filling the frontpage with your project
- Hide NSFW/NSFL content behind a clear warning, for example: [NSFW Nudity]
More rules might follow if they become necessary; general rule is don't be a pain in the butt. Have fun! ♥
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I don't see a way out of this other than refactoring until #2 isn't true.
#1 isn't really problem; a text adventure needs a lot of written text, but you can keep the actual programming limited in scope and just sit down and write the text. Think of simple Twine games where all you can do is move from page to page but it's still a full game because there's a book or a short story's worth of text in there. Compare the text adventures that limit their parsers to two-word commands like
talk guard
, versus the ones that expand in scope to make sense ofask guard about bell, book, and candle
. One is way easier to code than the other.This ties back into how you absolutely need to fix #2. You can get away with not using something like Inform or Twine or TADS to make a text adventure, but then you really do need your own data-driven engine to do what those systems give you for free in terms of simulating an object physics and a room map and the connections between them. You do not want a bunch of
switch(room_number)
; you want structs or on-disk files or macros that let you define the rooms and objects and so on in one place, and then you want a bunch of code for parsing commands and interacting with the room and object databases in a different place. Even if you don't want to write a Z machine game, learn about how the Z machine or other similar systems work under the hood, how they model game worlds, and generally why they chose their solutions to the design problems you are also going to face.#3 is the underlying cause of #2 and will resolve on its own. There really is nothing that helps you develop a good design sense like the fear that comes with having had several prior projects collapse when you lost the ability to keep track of everything you put in them.