Hi all...
This seems like a busy community. Lots of people burning brain cycles about games. Me too.
So, instead of searching for specific answers to specific questions, I thought that maybe the lounge would be a good place to have a conversation... a little back and forth... ideas, experiences, brainstorming... specifically about conceptual structures... In the beginners area, there was a whole lot of "where on earth do I begin?", and while there is probably several good answers, I thought that one of them happens way before fingers touch keys...
I'd like to entice those that have experience with making any game... to talk about their experiences with respect to how to think about game structure... pros and cons, gotchas...
Can I count on you to join it? Grab some coffee... hang out.
I'd like to be introduced to new ideas, or be cut off from going down the wrong road -
For me, I've been thinking about what I call transaction systems... player interaction where a systematic approach is called for, especially in things like crafting type game elements...
The first thing I think about is "data". Crafting is really just data that relates to other data, so I started to wonder if a formal database structure is a smart thing to do, right up front.
I suppose in basic form, a list would do... with a few elements to each "line in the list": oven, stone, wood, fire might be a way to know that to make an oven, you need stone, wood, and fire...
But then thinking ahead, what if you want to be able to burn paper, wood, coal, or natural gas? What if you want to change how fast the oven functions, based on what is burning in it? Suddenly... things are getting far trickier.
I guess some generic concept of "strength" for a given item could work - Paper.strength = 1, Wood.strength=2, NaturalGas.strength =5, Coal.strength = 7...
With these weighted items... one could calculate how fast the oven operates.
But wait... wood can be used in other places... the strength value for burning, might be a poor choice for a value when used for another purpose, like making a tool or a bridge or a house.
Now I'm thinking that context matters... Holy crap... what a god-awful mess!
Then my head thinks: Database...
Now, I'm no expert on them... at all. While I'm sure that a db could handle this... I have to wonder if it's overkill... or if it is flexible enough to grow or even fundamentally change if the game evolves a new twist.
Maybe it's a case of maintaining a few tables?
One table can describe all of the basic attributes of an item... how well does it burn? How hard is it? How destructible is it? How flammable?
Then in another table one might have a list of objects, and what goes into them... perhaps using and/or to describe those things.
Oven = stone or sheetmetal, wood or paper or coal or gas, matches or torch or disposablelighter
I suppose for ultimate flexibility, one could write a function for the creation of each kind of object to be crafted... and you could do some crazy stuff... like... what if you wanted to "craft" photographic film... but the film would be ruined of you crafted during the day, or with the lights on...
Suddenly I feel like I went down the rabbit hole...
Perhaps the best design decision would be to set up hard limits to the kinds of interactions possible... just for the sake of sanity!
Did you have to deal with things like this?