Everything posted by Oafkad
-
The Signs...Watch the Signs!
Ended up watching the Sonic Movie tonight. It was quite good! I really enjoyed Jim Carrey as Robotnik. Lots of great visual gags and it gave me a good smirk from time to time. Definitely a good time. I don't really do letter or score reviews, but on my "Hated, Disliked, Experienced, Liked, and Loved." It gets a solid liked from me. But, I can only assume that the reason you are on this part of the internet is you are curious if I reached my goal for the weekend. I'm not sure...I wonder if there is any way to know. thesignspart2.webm One thing I am realizing is I need to update the interaction logic. That little blip was me adjusting my position to actually talk to the sign. The collider solution might not be precise enough. I'll add some debugs tomorrow to see what is up, maybe examine an approach involving a sphere of influence and our angle. Not sure yet.
-
Saturday Mulligan
Per usual, today was a me day. I was tempted to do some work but I also recognize that I need to relax sometimes. Liz and I have been playing a good chunk of Pandaria Remix. There is even a checklist that was made by a user that I've been using to see how much of the things I've unlocked during the event. It can be a little hard to invest any kind of time into games like this for me. Especially with the rise of Private Equity gluttony and Public Company implosions. It just feels like every media controlled by a corporation is not long for this world. No real reason for it either, games like this make plenty of money. But they cannot realistically make more money year over year without fail. And that obvious truth is too much to understand I guess. So I play for now because I'm enjoying myself, but I'm never going to grind in this when it isn't fun. Which I guess by my own definitions wouldn't be grinding. Anywho, going to go get some rest and have a nice productive Sunday. We'll see if I finish that goal from Friday-Me, I think I will but never know until you've done it!
-
Speech Box - End of the Week
With the construction and work looming ever more on my day to day, I find that I'm not getting as much done as I'd like. But that's ok, I'm making small progress almost daily and that does mean inevitably it'll get done. Tonight I updated a few of the classes, got some of the code comments updated. Cleaned up areas that were rough around the edges. This weekend my goal is to get the sequential conversation hooked up and have the window close in one of two scenarios. You put enough distances between you and the target (or something similar) OR you finish all their dialogue and interact one final time. I think that's a realistic bar to set. Sunday evening me will see how it fares.
-
Speech Box - Day 4 & Event System Upgrade!
We'll start first by saying that I noticed a way I could optimize my event system today. Not necessarily for performance but for when I need to make new events and listeners. I was able to reduce the parameters necessary from 3 to 2. That might not sound like a lot but that's 33% less work to do every time I have a new event to make! It adds up when you get to be my age lol. Secondly, we've made even more progress tonight! We now have the framework I discussed in the prior post started. The next thing I'll want to do is create the messages to iterate t hrough and to have it close if you walk away. But that's for tomorrow, for tonight I go to bed! talktome.webm
-
Speech Box - Day 3
Alrighty, we've got both parts of the relationship hooked up for the conversation. The Handler Conversation on the object, in this case Sign, and then Handler UI Chat Box on the chat box. The initial conditions for connecting the two is also ready. Not that I've made the event or listener yet but that will be trivial. The next step, if I've got the energy (a common comment from me but I am edging towards 40), is to create the first structure for housing conversation. I think it'll be a list of a class that for now only contains a string. Later we might include images and other information so that when you move pages we can update popin art or similar. It is slow goings but we DID have to clear out an entire room today to get ready for more construction work tomorrow. So overall I don't feel bad about it. Just do what you can and eventually you'll get somewhere.
-
Speech Box - Day 2
Before I head off to bed, lets do a little brain storming. I've got the chat box setup, realizing that I've been an idiot this entire time and trying to take care of the more complicated system before doing the simpler one that'll satisfy most of my needs. This simpler problem is a chat box that will appear when you talk with actors or objects that have things to "say". It will appear, sometimes with menu options, and will close if you walk far enough away from the target. Perhaps even if you just turn I'm not sure, we'll have a menu option for disabling movement during conversation in case people want to use WASD (or similar) to make selections. I can't use a dialogue wheel I believe because EA will sue me into oblivion if this game ever actually released and people played it. So we've got the Item Data, this determines what happens when you interact with the item, using game actions. One of these actions tells the chat box to spawn. So next we need to figure out what text information to display when this happens. This can be solved in a few ways, the most obvious is linking the actor and the chat box. I think if we do this and have the actor be "iconversational" then we can begin iterating through a collection of strings. These strings already support being colored or animated, and I believe I can call events during the conversation through the text as well. I have yet to test this, maybe tomorrow if I'm not too burned out. We'll give the sign say...3 pages of messages. You will move to the next page each time you press the interaction key. Then after there is nothing more to say the box will clear the reference to the actor and close. I might do a dummy event to play a sound or something just to test it out. Yeah, alright. This was good, I'm glad I got this out because it gives me more of a gameplan for tomorrow.
-
Speech Box - Day 1
Alright. I think I have a plan. We will generate the box on a canvas layer, this will need to be placed just above the speakers "head". We will want this to snap to the edges of the screen as you look around, until a certain "stretch point" causes the object to "snap off" and stop being visible. If it works out I might also make it fade out if you walk away as if you can't hear it anymore. I played a fair bit of Warcraft today because A) I'm really smitten by Pandaria Remix and B) I wanted to see what talking looked like in the game. I really dig how naturally it all just works. These are the kind of things that really impress me with design. Like a good camera controller, you never notice just how much work goes into them until they stop working properly. So here's hoping I build something that nobody notices. Ominous foreshadowing perhaps.
-
Weekend Updates - Speech Actions
It is a bit of a cliche with my updates but I am, shocker, very tired. So what I'm about to write not even be very coherent. Today I did manage to create the speech game action, and a very basic sign made out of a thin cube and a cylinder. When you interact with the sign it triggers the speech action which then prints to the console log. The next step is adding in a handler for this object that is raised by the game action. This would contain the text and other details pertaining to this actor, and all others like it in the future. Once I have that done I'll have the interaction medium and the data storage and recovery system. What I am also working on is the popup when you talk to these things. I think fundamentally the camera is too zoomed in by default. This leaves not much room on screen to post a text box without it blocking your view. I'll play around with a few things and see what works best. I'm also curious how hard it would be to make the box center on the speaker, point towards the center of the screen, and then anchor to the edges of the screen when you run away. Maybe having it fade the further you get from the speaker to represent it being quieter and quieter. Maybe, something to mull over while I sleep. Our little bean is still limping, but she's otherwise acting normal at least. Gotta give her lots of cuddles and pets.
-
Weekend Updates - Small Break with the Actual Moosecats
Today, our little Bean, of Moose and Bean fame, has a limp. Not sure what she did but clearly her body didn't appreciate it. I know it might sound a little silly but it completely threw out the window any chance of me concentrating at least for today. Hopefully by tomorrow with a bit of rest she'll be back to normal or at least less pronounced in her pain. We've scheduled a vet appointment. I still plan to do dialogue work in the morning tomorrow but I'll be keeping a close eye on our little kiddo. They are both too sweet to be dealing with injuries.
-
The Beginnings of Speech
I've got support added for very fun and animated conversation text. So this weekend my goal will simply be to add a sign into the game that has some message. Once we've done that, which I think will be an overhead box above the sign, we'll start thinking about text boxes with cutins for people. I think that's something I want to do and the next part of this whole party. Should be a fun weekend!
-
Ye Olde Mulligan
Tonight we didn't see any updates but for good reason. Work today encompassed basically the entire day until it was sleepy time. This happens sometimes, that's just how life goes from time to time. The next step of our work, I believe, will be starting on dialogue. It does feel like we've officially hit that point. This will either be fun or frustrating, either way I'm looking forward to it.
-
28th and 29th Update Omnibus!
Woo boy! The exhaustion from work and just life in general really got to me. I reminded myself multiple times yesterday to not forget to post and yet I forgot! So today we are going to get yesterday's update and today's resolution. I was just not feeling the item and world actions flow when I tried to implement it yesterday. For some reason it was just not really vibing with me, I'm sure you've felt this before. You do something, anything really, and it feels off. There isn't anything morally wrong with it, not even nothing technically wrong, but it unsettles you. Your mind wonders what you are thinking and why you don't do something, anything else. That's where I was when I was working on Moosecats and it was really unpleasant. For some reason a single night's rest and I come back to it. Today I find myself doing the exact same solution and yet it feels all the better? Perhaps it was because of two additions. /// <summary> /// Returns whether this item does anything when interacted with! /// </summary> public bool Interactable => _itemWorldActions.Count > 0; and /// <summary> /// Returns whether this item does anything when used! /// </summary> public bool Useable => _itemInventoryActions.Count > 0; I couldn't tell you why these simple little additions helped my brain feel better about the whole thing but they do. All of my items implement the two interfaces IInteractable and IUsable, this in itself actually *is* a misuse of interfaces. But honestly I think it'll almost always be true of all items. So at a certain point the question becomes what do I gain from splitting it out? Additionally I haven't made very many items, so if I find that this makes my skin crawl in a few months I can always update it to be more proper. The foundational goal is just to make sure that before I start adding tons of things that I feel good about where the game is. And we are moving closer and close to feature completion. One of the major next steps will be the talking/dialogue system. But first we need to walk before we can run, which means I've got more item work to do! Also bit of humor, signs and people that can talk are also implementing IInteractable. So in a weird sorta way, Humans are *kinda* items if you think about it. But don't worry I promise to not have them literally inherit from ItemBase lol...they'll just be actors like the other "living" things.
-
The Final Night
Alright, this is the final night before construction. The entire room is cleared out and I'm mighty tired. I've got to wake up early in the morning which isn't super great. And I've got work which will obviously take the morning and half of the afternoon. BUT once that is done we are back on the horse for getting work done. The next step will be hooking up the logic for using an item you are holding. I believe it should be pretty straight forward. When we pass you through the item we'll want to collect if you aren't holding something, since you I think we'll have you able to either hold something or interact with things. If you ARE holding something then you eat it instead. This isn't perfect I'm immediately realizing, I feel like there is likely some combination where you would consume a world item instead of the one in your hand. Hmmm, we might STILL do this as the immediate solution and come back to it later if it is a problem. Perhaps we can differentiate between interacting with items and consuming items. That would be the simplest solution and help differentiate between the two flows. We could use a collection of game actions for both. I like this a lot actually, sure! That's what we'll do tomorrow.
-
Calm before the Carpentry Storm
I didn't do much of anything for Moosecats today. But for good reason. I've had to strip down the office because starting Tuesday its going to be getting remodeled. This is a three week process and that means I'll be doing both my job and Moosecats from either the living room or occasionally the back porch. This should be interesting and I'm looking forward to seeing this room once it is done. The only hope I have is that by the end of it I have no regrets. The contractor we are using is not cheap, but if the result of that is no bumps then it'll be worth every penny. Anywho, tomorrow once I fully strip down this room I'll see if I can get a little something done.
-
The Importance of Subtlty - Held Items Vs. World Items
I've got the system setup now such that you can set yourself to "holding" or not. If you are holding and cycle through your action bar we will add your item to the hand, if it is something that can be held. Now unfortunately, I have realized a subtle nuance between interacting with say an apple on the ground, and interacting with that apple in your hand. When the item is on the ground I want you to collect it, but when the apple is in your hand I want you to eat it. I'm going to think about this tonight and figure out the smoothest way to handle this. I'm sure it'll be pretty obvious but for now it isn't striking me. On the bright side we are making some good progress with each passing day and that's the biggest thing.
-
Toggle Toggle
As I've said before. If you can, take a little step as often as you can. Eventually you'll travel a great distance. Today was another one of those small steps. Something that many people won't even notice because it'll feel intuitively like it should just work. The item setting takes care of moving your items around if they were already on the bar. In this way we don't have to worry about someone filling up all 12 slots with a cheese wheel or what have you. Not that I'm judging, sometimes you need a lot of cheese. Anywho, here is a fun little gif of it in action. togglebar.webm
-
The Thousand Year Game
I need to update the name of this forum section. It's more like a daily dev log than anything else. Today we didn't see any meaningful progress. But that's super fine. I've had a hard time with work lately and I'm kinda burned out in general. But, tomorrow is the start of a four day weekend for me. I'm very excited and next week is the remodel! Looking forward to seeing how it goes.
-
Halfway to Holding Items
Tonight we've added a few concepts. The first is the save data for a held item. The idea is quite simple, when you select an item on your action bar you can press the hold item button, which I think will be Y on a controller, not sure yet. After you are holding the item you can then press interact, if the item can be interacted with this will trigger the game actions associated with that item. If it cannot be interacted with then nothing will happen with the item. However, if you happen to be interacting with an item in hand that can't be interacted with, AND you happen to also be standing near something interactable, you'll interact with that item instead. So, maybe, just maybe, you might find situations where holding something like a coffee cup and interacting with a coffee machine would cause the cup to be filled and replaced in your inventory as a filled cup. Fun right?! I hope so. We'll finish this tomorrow or at least this weekend as I've got a lovely 4 day weekend incoming.
-
Action Bar Updates on Player Load & Moosecat on Adventure Save Updated
Boy howdy my eyes burn! Tonight I updated the action bar so now it actually does save and load properly. This includes from a fresh run, so when everything else loads from the player so does that. I've also investigated that adventure bug I mentioned. Funnily enough it DID work but not for the right reason. All cats currently spawn on load, even the ones on adventures or otherwise away. So the cat would spawn in, then immediately go on an adventure. I've added in support now to track the active state of the cat. So if they are "off" when the game saves it'll spawn them off when the game loads the next time. Then when something like the adventure completes it'll find them in the pool and recover them. So yeah! Glad I looked into that.
-
Long Nights and Late Days
We had a stormy night last night, and tonight sounds like it will be as well. I can tell I'm getting a smidge older because golly is this just absolutely dunking on me. Not only that but I had a long workday that ran later than usual. So it was little sleep and even less time to get anything done with the project. But do something I did! The action bar needed one final bit of polish before I could move on. Namely if you have an empty field it would try to find data for an undefined asset in the item catalog. This is a no-no and my checks worked as they should. The request was blocked and the error print out I wrote before was clear on the mistake that had happened. Fixed it in about 5 minutes and am feeling pretty good about that. Tomorrow I want to fix the Adventure bug I mentioned in the prior post. Or at least validate I'm not mad and that it is real. Then from there we will finally move into how we want the item interaction/usage system to work. I'll be honest, might find myself playing a bit more of games like Stardew and Satisfactory soon to see how a competent person keeps it all together. I'm not ashamed, I'll wear my inspirations on my sleeve. Good games from incredible people are the reason I like doing this at all.
-
Weekend Updates - Lingering Bug and the Upcoming Week
I've got a bug that I already know exists and will need to clean up this coming week. When you send cats on adventures, if you save while they are gone and reload, the adventure will save at the proper length and finish as expected. But the "return cat from pool" logic I don't believe actually will generate the cat from scratch, rather it'll look for the cat in the pool and try to turn it back on. Once that is validated and repaired I can move onto the next steps of the inventory system. Spent most of today playing Pandaria Remix and doing some yard work. You can't have every day be a nonstop grind, and I've learned this. But I'm very excited that we are entering into the final week before the office remodel. It'll either go very well or be very frustrating, I'm not sure which yet. I suppose we shall see! Soon we'll be back to having gifs and pictures because I'm gonna have to do some demonstrations of upcoming features.
-
Weekend Updates - Summer Snooze
True to form, I ended up just doing this tonight before I sign off. I guess better now then something more interesting tomorrow. Or maybe some Pandaria Remix!
-
Weekend Updates - Summer Snooze
Today was interesting. Every Saturday we take a bike ride downtown to have some very good food. One thing we are noticing is that when we DO take these long trips we basically pass out for the entire day after. Which is fine, it is a pleasant way to unwind. But for game development or game playing it isn't the best. I did manage to discover a mistake in the code before I ended up passing out for the day. I have duplicated code in the player info (save data) and the action bar. So tomorrow I'll probably take a moment to remove the duplicate code from the action bar and link it to the player more directly. This was just a matter of one of my past selves doing something without reminding my future self. It happens, hope you all had a solid Saturday. I'm currently mulling over how we'll handle holding items, I think I need to dedicate a key and button to "whipping out" an item. So that you can interact with things in the environment OR interact with a thing in your inventory.
-
UI Week - PT 4
Some days are more productive than others. For tonight we didn't get a whole lot done. The action bar slots are now hooked up to the player's save data. This will mean that your action bar status will persist between sessions. Or at least, it will once I hook up the state actions to initialize the action bar. This will be pretty straight forward, I need to implement the initializable interface, then add our action bar to the initialize state action. That will trigger after the load event and BOOM action bar is populated. Won't be doing that tonight though, too tired. Long work week, lots of challenges. But hopefully the coming weeks will be much more quiet. I'll actually be interested to see how my updates go during the time my office will be getting remodeled. I guess we'll see how dev work feels from the couch at that point.
-
UI Week - PT 3
assignToActionBar.webm Aw yeah folks, things are really coming together. Will make this look a bit nicer tomorrow. Gonna need to start hooking up usage and placement soon!