December 30, 2018
Posted by on
Anyone require a shoe?
After some messing around and attempting to figure out a good template/system for handling dialogue and all of it’s limitless possibilities, I think I’ve come up with a decent solution to the issue. None of the dialogue is currently hard coded into the game. Each entity/NPC (basically anything that can talk), will have its own unique save file with all their dialogue printed into it. Each text block has a few special qualities attached to it besides just the text. They ca have a remove tag, which takes something (if the user has), they could have a choice tag, which requires the user to pick a choice, or it could have a lock tag at the end where the character shuts up after the last dialogue.
There are still quite a few options I want to incorporate into this system, first being having a detector for some people to react differently to what item is equipped, speech might change when the user has a specific special/normal item in their inventory, have the NPC move/disappear after some dialogue/item/etc. Multiple speech paths at the same time.
So many options to come!
I worked a ton on saving/loading on the weekend, now everything tends to be in order. I now save more of the user information, where they are in the map, the camera shifts/positions and the user’s inventory. There’s also now a rough main screen that allows the user to choose a new game, or load a game (if there are saves). The controls for these menus have also been re-vamped, I switched the menu screen and the save screen keys with each other for a better feel. Of course though, eventually, these keys will be able to be altered by the user at their discretion. The functionality is already there, just not the practical part of it, it’s on the docket.
I’m going to continue messing around with the dialogue and attempt to clear up most of the needed possibilities that I’ll require. Then I’ll probably shift back to the in game menu to further clean that up. After that I’m planning on adding more map interactions and eventually leading to…. tiles!
December 28, 2018
Posted by on
Sphere is interesting in more ways than one. Sometimes I wonder if it’s Sphere’s behavior or if it is the robust nature of variables that make Sphere act obscure or maybe it’s just me and I honestly don’t know what I’m doing. The reason I bring this up is that depending on the function I’m calling, it doesn’t like taking a string verses a number, and vice versa. However, when I use alternate functions which in the same type of structure requiring the same results, things work fine. Drives me bonkers.
I’m only guessing this is because of filenames and how some functions return results.
After some late night headaches I managed to accomplish a fairly big deal (in my mind), saving & loading. It was a nightmare in some regards which required a great deal of testing and debugging. There were a few instances where I was like, “wow, I got it!”, then I dug a bit deeper and it was a false hope. But after a ton of meddling and play testing… it works. So after that major hurdle, things can continually progress.
Speaking of debugging, if you’ve noticed the last couple of screenshots posted in the mouse folder, you’ll notice the garble of text on the left side of the screen, it’s mainly debugging information. I managed to squeeze in my own debugger console (as I have previously with Traders and Canasta). Makes a lot of bug testing go a ton faster as opposed to using logs and Abort calls.
Now since I’ve got saving and loading files/information under control, now I’m going to implement “save points” to further add information to be saved (mainly, character information, inventory, keys, camera positions, etc) then to story handling with dialogues and eventually, cut-scenes.
December 27, 2018
Posted by on
So, it took a lot less time to figure out a decent (albeit lame) screen transition when changing the map from one to another. It’ll do for now, It’s not exactly the idea I had in mind, but it’ll be a perfect placeholder for now.
So first leg of the transition, covers the screen in squares, tile by tile, randomly.
Secondly, the screen is covered in a brief black mask, in time, this is where the real change takes place. The map is changed underneath, the old mapEvents are saved and the new set is now loaded.
Last leg of the transition is simply a reverse of the beginning transition, once all blocking tiles are removed, movement is restored to the player and game resumes.
I want to touch on something I’m a bit proud of, well, maybe not proud, shocked that it worked the way it was intended. So each map has an associated save file which holds all the map changes and interactions. All these have unique ids. The best part about the system is that some of events are a single time use; for example, picking an item that was readily available on the ground. The item isn’t meant to be re-spawned, so therefore, it would hold a dead id once the user acquires the item. The map also holds a dead id array that can be re-used if the user places a new item and essentially creates a new map event. The only reason I thought about doing this was because I was messing around picking items up and then dropping them in new locations on the map. After some testing I noticed my event count went up drastically. (Some times I’m smarter than the average bee.)
I’m happy about the progression so far.
December 26, 2018
Posted by on
I’m not sure if this will work, but I’ll post it anyways.
Sorry for the awful quality…
It’s supposed to be a short animation (GIF) of how things are progressing with my little… technical demo nightmare. Actually, things are progressing quite well as I’ve had time to sort through a bunch of plausible outcomes. I’m continually making all of the actions, key presses, map events totally robust and flexible.
As from the animation, you can see I’ve settled on a old school screen by screen type of game play a la the original Legend of Zelda on the NES. I was always a big fan of the game. Of course I could always limit this to “dungeons” or other areas, it definitely isn’t totally restricted. This is just simply exiting the frame of the camera by stepping on an exit tile.
Just accomplished this morning I’ve managed to load all of the interactions of the map from a single text file. The plan is to now be able to manipulate the map by placing different objects around the world, saving those new events, and then being able to re-load the map, with the updated changes.
This is basically a small todo/tasklist I’ve compiled
– saving current map on exiting the current map/saving the game.
– finding dialogue/stepped dialogue from text files
– NPC movement (random, fixed)
– changing maps
– new game, load game, settings, exit game options when game is started
– save game, save and exit game, exit game menu while in game.
Back to the grind stone…
December 19, 2018
Posted by on
It’s been a weird last week, work was… odd. I literally drove more than I worked. Now that’s an odd statement. I was in the truck more than I was out in the field working. Anyways, easy money…
So I’ve been slaving and muddling along with mouse’s systems the last few days and trying to make things as modular and customize-able as possible so that it can be easily manipulated as needed.
Now, as you can see it’s a very vague and basic menu system, but everything in it can be easily changed. The X&Y coordinates can be moved anywhere on the screen, the controls can be altered exceptionally easily. As you can see, the brick (dummy item) is being selected, and there are four options. Now, I’ve given the brick multiple tags and with those tags, options are generated to what the user can do with that item.
Now, I’ve labelled the letter as a special item, so the discard option is not available as it was with the brick.
Now I’ve got to integrate a view other nuances with the controls of the menu and make it a bit smoother and bit more practical. After I’ve explored and filtered out some more menu actions, I’ll move over to NPC interactions, mainly choices, dialogues and depending on if the user is holding certain items, they’ll interact differently and say differing messages.
Lots of the plate this week!
December 9, 2018
Posted by on
It was a tad bit of shock this afternoon when I fired up the old blog. I checked and to my surprise, I found 12 pending comments to sift through. Usually they are legit because from what I’ve noticed, wordPress does a pretty good job of filtering spam for the most part.
Unfortunately, they went 0 for 12. Good, fun time, spam.
Anyways, purpose of this post was to show you something I haven’t done in at least a couple of years (I’m too lazy to officially check), and that is to show you a terrible screenshot of mouse. Ha.
Anyways, as you can see, this is a test environment and I’m currently re-learning a lot of scripting nuances about the MapEngine as I haven’t toyed with it in a few years. My end goal is to create all of the systems and presumably all the cases of interaction and game play. After I’m able to complete these, the rest of the game can come together and by god, progress can finally be made.
Can you tell I’ve had some free time?
December 7, 2018
Posted by on
Version 2.0 of Canasta is finally here.
The game will likely get updated again in the near future once I’ve reworked some of the animations/game play.
You can press Enter to pause the game (current animation will finish), then press Escape if you wish to quit or press Enter again to resume play.
I’ve included a brief overview of the rules in rules.txt, should come of some aid for new players, but if you want more detailed instructions on how to play, either contact me here by commenting, or let google be your friend.
A more detailed version of the rules/game play will be coming in the future as well.
December 6, 2018
Posted by on
I started rewriting canasta with a bunch of good intentions. The purpose being, clean up the code, improve the AI and remove some redundancies. At first, I did a damn good job, cleaned a few messy parts and streamlined a few things to make it easier to follow and track when/if errors occurred.
I made one crazy mistake, I neglected to improve/fix the animating functions. I knew they were in a bit of chaos beforehand, but now with some more animations added to the mix, more AI options, it’s becoming a disaster per say.
Now I’m at the point where I’m debating to continue “patching/hacking” to improve gameplay, or to completely overhaul the system in general, and cleaning it up even further. I’m first leaning on continuing the course until the game can reach it’s finished state, then in turn, release version 2.0. Then, in due time when I complete the “renovations”, release a 2.1/2.5 version, with only bug fixes and the improved animations.
In the coming days I’m planning on tracking through with Mouse (finally), and basically filling it more with technical demos/systems before I continue with a concrete game/story going forward. There are a few systems I want to incorporate into the game, therefore I figure I should commence in some regards to get the ball rolling and display some of the “goodness”.
In real life news, I’m going to update some things in regards to Star Wars Force and Destiny as the guys and I are going to try and make in a recurring thing, possibly with me stepping down as the DM/GM. I’m also going to outline some of the pros/cons we’ve already come across while playing.
December 3, 2018
Posted by on
So after being a tied up with the world of Destiny 2, it started getting a tad repetitive and I was started to lose a bit interest, then of course they come out with forsaken. Well, fuck my life.
So I’ve been back in the grind until Red Dead Redemption 2 came out… well shit, there we go again.
Fallout 76…. yea, haven’t even touched it yet…
Farming Simulator 19…. (yea, I fucking play it sometimes, usually when I’m super bored.)
I’ve been steady hacking away Canasta 2.0 trying to seep out some odd behavior from the AI which is painstakingly painful. Its been doing some crazy things and sometimes I keep opening a can of worms which leads to another can. And then another. I have however been able to polish the game a bit and add some new animations and cleaned up some of the game. I’m hoping to release 2.0 before the new year, time permitting of course.