Went to a writing meetup for some social pressure. It worked out pretty well - I did some more in depth worldbuilding for Erik's starting village, and answered most of the questions I still had at least on the main quest chain that happens there. Two of the quests I originally planned ended up being merged. And there are some side events that can have a stronger time component. I feel like it was ver productive, and am going to try to make it every week. Maybe next week I can use it to write some dialog?
The GoG connector for mybacklog is broken again - now they have a recaptcha for signing in. Ugh. If I want to keep that functionality I will have to implement a browser module to allow the user to sign in when the cookie lapses. I wish they would just make an api already.
I also did some light planning scoping out one of the erik quests - one about breaking into someones basement.
Started a new outline. Covers the first 2 chapters. Another attempt to at least consider the scope of the game so that my efforts will actually be directed toward some sort of game coming out the other end at some point.
Each chapter has 8 quests, which seems about right. On a given playthrough, the player will likely be only doing a handful of them. It's hard to calculate, as there is not really a golden path (optimal way through the game). The player can do zero quests, sit in the corner, and it will progress. But there are important quests, if you want a decent story, you will want to at least attempt roughly 3-5 of the 8 I have outlined. At 5-10 minutes per quest, a conservative estimate for the two chapters is 45 minutes.
I'm aiming for 3 acts, although due to the nature of the story I can add on to that if I think it's reasonable to. So I currently have a ~3 hour game, although I have hopes that people will want to play through at least twice. I've seen plenty of people spend money for 2-3 hours of gameplay, but few are completely happy with that. And for something that at least looks like a traditional rpg I think reactions will be pretty poor. If it's free, maybe it fares a little better. If the core gameplay is actually interesting in any way!
I do expect Acts 2 and 3 to be a bit more dense than this first act though.
Edit: Oh and I just realized that my calculation in terms of quest time is quite underrepresenting overall time. There will be non quest-related time, intros and outros to the chapters, exploration, travel between areas when not on a quest, and time spent figuring out what to do next. So that's like the speedrun time :)
Another thing. This is just a first pass, and at a glance very few of the quests I've outlined have a significant timed component. Even worse, at almost no point are the quests running alongside each other, where doing one of them prevents doing the other. This may be something I am subconsciously doing intentionally, in easing the player into the timed element of Erik. On the other hand, I may just not be quite comfortable with that element yet. I'm definitely going to play with this outline quite a bit more before I set it in stone and start gearing my dev time to matching it.
Watched the first talk in this video, where Emily Short discusses her semi-failed experiments with her conversation engine versu:
Brainstormed with some scenario design.
No real progress, but just thinking about how to make the ai more dynamic and work for progression. I am still stuck doing moment to moment things but actually connecting story points is really hard. And I haven't really seen anything else do it to create the kind of experience I see in my head. I'm probably going to end up putting a lot of BS in there myself. I think I'm just full of BS in general.
Anyway, I'm leaning away from top-down to an even more bottom-up approach. Current thinking is that a "module" is made up of a set of states. Each state has a set of preconditions and postconditions. Preconditions are things like "this character is alive" or "this character is in range of X". Postconditions would then set some of those flags. When a character has a blank space and no direction, he will sort through these modules, ignoring the ones that have no current relevance, and then choose based on a priority system which one to follow. This will then assign a directive or goal for the lower level modules to attempt to carry out.
The modules will have to be reactive to failure - if he can't complete the directive, he will have to change his mind and choose a different module. Implementation leads me to use behavior trees for this, as I already have them working well. Hand coding trees for all of the story elements though sounds like a nightmare. I don't know if I will prebuild some generic trees that than get filled in with specifics through variables; or have some sort of preprocessing step that takes those module definitions and dynamically builds trees for them.
Where these trees are processed or how they hook into the normal ai trees I have no idea. What happens with modules that involve multiple characters I have no idea. (Separate module for each ai involved in the event? Single module with directives to each agent? No clue)
Is this even a viable approach? No clue.
I'm sick so wasn't able to do a lot yesterday, but I did return to Erik, albeit not in a big way.
I'm going to work on the intro a little bit more. I did come up with a tweak to the scenario that makes sense and will help teach both the time aspect, conversations, and stealth, so that makes me happy.
Wrote a bit more backstory. I came up with an idea I kind of like, but it's not well integrated at the moment. I'm still trying to figure out the direction and structure of the story. I am pretty sure what is going on with the main character, at least in very general terms, but less sure about the events happening on the periphery, which are actually pretty important. I don't need everything, but I at least want to nail down what is going on right before act 1 starts, so I can write the intro. I plan on nailing the intro tomorrow.
In coding world, I am tweaking the perception of npcs. I had a very basic vision cone down, which would register objects in range instantly, and then it had a slight delay when objects went out of range before it forgot about the object. While testing a stealth-related section, I found it was far too easy for the npcs to see me. They change direction so quickly, and there is no line of sight or objects to hide behind yet, so it is almost random whether you are able to stay out of the cone while the npcs move around during their conversation. I've added a delay to the start of the vision process as well as on the end. It takes a short time after seeing you before they can perceive you - and the longer they have seen you, the longer it takes before they forget where you are.
It's still coming along. Needs line of sight. Might need to rotate it independently to get away from instant directional changes as well.
Well, I have had things every day this week, so it's been hard to really get much done sadly. I'm surprised I even managed to make the event system! I've started to implement what I'm calling the third tier of gameplay (hmm, why is it the third tier. I don't even remember what the first two tiers were...) - an action mechanic. Anytime you attempt to interact with something in game which is above trivial difficulty, you will have to play a "minigame" of sorts. This minigame consists of a progress bar that fills over time, and a percentage chance the task will fail. You can speed up time by holding the run key - but this will both deplete your endurance AND increase the failure chance of the task. It's simple enough that you wont be frustrated at having to do a dumb minigame for so many actions, but has enough depth to play into the other mechanics of the game. Since so much of the game will rely on you completing tasks in a limited time, you will be managing your endurance and speed of completing the tasks, in a similar way to managing your potions, mp, and hp as you go through a dungeon in final fantasy.
Anyway, I got the action ui and mechanics working (to a point). The next step is to actually hook up the ui to different actions in the game.
I was going to use today to work on the event system, but stuff came up, so I am just going to do some planning and thinking about how I will spend the next 30 days. Mostly I just spent a little bit of time in my ticketing system (bitbucket for those interested in that sort of thing, it's close to jira which I use at work but free) creating some tickets and rearranging priorities.
I've pretty much decided to stick with my original plan and not really do any pivoting. Every time I doubt my concept, I always come back to it, which I hope is because the concept is strong, and not just me being stubborn. I am planning to finish the game this year, at least as a prototype. And that is more to give myself some direction and motivation than to set up any kind of release date.
Step 1 is to finish Act 1, at least as far as I've envisioned it so far. I'm going to spend less time on features, making them just the bare minimum that it needs to hold the thing together. It will give me an idea of what features are actually important and need the extra care, and which ones I should cut or just not spend as much time on.
Step 2 is to make a quick interactive "sketch" of the whole game as I see it. It will only have the clearest decision points in the plot, the most basic outline of each area, and very quick and dirty dialog. I want to get to where I can play through the whole game. Again, this will help me decide which areas and features need to be polished.
Once I have, essentially a minimal but complete act 1, and then a VERY minimal full game sketch, I can come up with the right plan of how I will be able to finish the project. Yay!
I also realized a hole in the features and a way to fill it, I think it will be a great third tier of development. It unifies the endurance bar used for running into other game actions. Rpg without combat? Easy peasy. Most jRPGs are an optimization problem. HP + MP + opponents, how do you maximise the first 2, and minimize the last one? My game is about managing resources, time, and objectives. Which objective can you actually complete within the limited time, using your available resources.
How I handle time is now the most up in the air part of the design. The point of working on Act1 is really to answer that question.
That darn fox. He keeps running away from me, I don't want to hurt him! I keep shouting at him not to mind about the bear trap that I so carefully placed next to the cute little pond, but he just keeps using his very poorly but quickly coded "flee" ai routine. I guess the refugees won't be able to eat tonight.
At least the new smooth camera makes my attempt a little more exciting.
I have been playing a lot of Final Fantasy 4 recently, as it's one of my favorite FF games and I have never beat it. (I actually have beaten very few of the final fantasies, usually losing interest at the mid point where the world opens up to you and the game is often unclear about where you should go next. It's like, you're playing this VERY linear game and then they suddenly throw you into the world some 10-15 hours in and say, "great, now go have fun!" and I start to lose the narrative context of my actions. I digress).
Anyway, I look at how those games differ from what I am trying to build. Though graphically it certainly looks like a snes rpg (at least with the free and rpg maker ripped graphics in the prototype) I'm going for something else. No combat, rich npc and environment simulation, and a story to which you as a player may be of limited involvement depending on how much you try to find it. It's complex, and I still don't know what all of the pieces look like.
In FF4, there are the combat sequences, which make up 95% of the gameplay, and the towns. I am impressed by way the simple mechanics are used to tell the story. Towns break down into 3 pieces:
Of those, probably my favorite thing is finding all of the secret items. They accomplish this with secret walls, and are always putting a treasure chest somewhere that you can see it but don't know how to reach it. The mechanics are simple, but they keep finding ways to hide stuff in a way you haven't seen before.
I was messing with the collisions in the first area of my game and found I could recreate this feeling rather well. The way the tree tiles were designed, they are pretty hard to layer properly in my tilemaps to create an actual wall. I ended up having to use 4 layers in order to have the trees be very close together. And yet with some fun, I can space them in such a way that it looks like they are blocking you, when you can actually sqeeze through. It gives me some ideas of how I can hide things in the future.
Without combat, I'm going to have to find a lot of things to include to keep the game interesting!
What does it mean to see? Is what you perceive also perceiving you back? Is the interpretation of the senses that are witnessed on the inside of the cornea truly an accurate depiction of what is actually on the other side?
Philosophical questions aside, my agents now have some rudimentary vision capacity. If they want to catch you, they will head toward you while you are in their visual range, but get lost if you are outside of that range for a long enough time. This will come in handy when you want to sneak into the pantry and witness the maid and the prince getting into trouble while letting slip some very important secrets that you may want to profit from later...
I'm working on a running system. I'm trying to think of the mechanics I want, but for now I have implemented a generic GTA style endurance meter. As you run it goes down, if you stop running it goes up (at a little bit of a slower pace). I'm pretty sure this isn't quite the mechanic that is right for this game though. A big portion of the game is about trying to satisfy constraints, choosing which tasks are important enough to complete, and which ones you can't make it to in time. So how the player chooses to run will be important. There could be areas where running is frowned upon to stop Erik from just constantly running everywhere. There could also be danger of running into obstacles or other people. Maybe that would be enough to not have any kind of statistic? But the benefit of a statistic is the ability to modify that statistic, such as eating food that gives you more energy to either run longer or faster, or leveling up your speed. We shall see.
I spent most of the day socializing with my fellow gamedevs rather than actually getting any work done. One thing that became clear is that I am not sure what game I am making, because as the ideas flowed, I didn't have any clear guidelines to say "no that doesn't fit this game, because...". It was just like, "well, maybe... doesn't sound right but, I dunno?" Going to have to think about that some more in the future, but keep focusing on the stuff I know the game/engine will need from a technical side for now.
It sort of feels like it was a sidetrack, but perhaps a sidetrack that needs to happen every so often. Like, what the heck are you building?
There were a few small concrete tasks I did complete:
* I use the broadest definition of realistic here.
** They have the answer to the question of "is the player character a dick"
*** OK, not this bad. Maybe we can skip the bridge. Never skip the bacon. ****
**** And I don't even really like bacon that much. I mean it's OK, but I'm not like "BACON! WOO!" or anything.
Very light day, I decided to take it a bit easy. Tomorrow I'm going to an indie meetup where we all work on our projects, I'll be there at least 4 hours. Rather than do a lot of coding tonight, I'm just going to do some planning and design work, that will give me a nice chunk of stuff to focus on tomorrow. Nothing really to show, except that I've named the characters for the opening scene.
tracker - Trask
mother and son(player) - Yelda, Erik
young widow - Ulressa
father and his 2 boys, and their grandmother - Stone, Bok and Breen, Glae
mother father and baby - Sifa, Tan, and Babe
older unmarried sister and brother - Jes and Id
single man - Luka
Do any of the names sound really dumb?