Showing posts with label General. Show all posts
Showing posts with label General. Show all posts

Feb 9, 2020

Making Unique Combat

While Testing Playground is a sandbox of various creations Rin and I make, I wanted to create a foundation that allows me to be creative with anything I make in the future, especially those that are very conditional. In addition, the idea of making a combat system that felt very dynamic was always something I've always wanted to attempt and I'd say that I did a decent job. To make the place stand out from other beat-em-up roleplays on ROBLOX, I wanted to utilize the environment and real-world thinking to solve problems and succeed in taking someone down or escaping with your life.

Although it wasn't the first thing I made, the first thing I want to talk about is the status system. In Testing Playground, you may find yourself with a notifier telling you that you're wet or hotter than usual. These little changes to your avatar affect the way your character acts and how other entities may interact with you. One of these status effects is wetness. In Testing Playground, the wetter you are, the darker your clothes become. Once you reach 70% wetness, your stamina regenerates more slowly and the speed you sprint at is 60% slower. Some sources of wetness include fire hydrants, swimming in the ocean, standing in a fountain, and standing in the rain. In the future, wetness will allow players to be electrocuted or extinguish burning fires.


Towels to be added 2025

Another status effect you can find yourself having is temperature. Temperature measures the change in heat or coolness of the player. When higher, the player is hotter than usual while conversely, negative numbers indicate how cold they are. The player's temperature could change from eating warm foods or drinking cold beverages, being near water sources, or experiencing friction. While extreme temperature change currently doesn't affect the player, it lays the infrastructure for future stands such as Sheer Heart Attack or The Grateful Dead.

One major source of wetness is rain. Every two minutes, the game has a 5% chance of summoning rain if it hasn't been summoned yet. The game turns grayer for one minute then the rain begins to pour for 6-7 minutes. Once the rain begins to fall, the sounds of raindrops fill the player's audio. If the player is underneath something, the sound becomes a bit more muffled. If you're not underneath something, you begin to get wetter and wetter so if you value being able to run fast and take a breather, you might want to invest in an umbrella. 


Singing to be added 2029

In addition to rain, swimming almost instantaneously grants the player complete wetness. Not only that, but while you stay in the water, your stamina begins to deplete at a steady rate; you can't swim forever without getting tired, you know? If the player mismanages their stamina, they'll find themselves floating to the surface unable to move. If the player attempts to dive into the water and hide from someone, they'll discover they possess a small reserve of oxygen. Once that depletes, their health begins to drain. With both of these mechanics together, one must be very careful with how they address being in the water.


Cardio training to be added 2049

Lastly, the game has a day and night cycle that's a bit different than most other games. In Testing Playground, when the game turns to night, the environment becomes noticeably darker. Often when the game turns to night, first-time players note that the game is too dark and needs to be fixed while others who are familiar with the game will say night turns Testing Playground into a totally different game. When the game turns to night, light is absolutely crucial when it comes to finding a player you're chasing or hiding from one chasing you. In addition to making the game dark, player nametags only appear when you are directly in front of them, making it easier for a player to hide in the darkness. Many of the game's lights are on at night however most of the light sources in the game are destructible, allowing the player to manipulate the light in the game.


Nightvision to be added 2186

All of these elements mesh together to allow the players to utilize what's nearby in order to give them an advantage. I wanted the players to feel smart for knowing what's nearby or for being familiar with the various interactions in the game. For example, knowing there's a window on the second floor of the music shop can come in handy if you're being chased by someone, so long as you have something to break the window. The game also stunts your stamina and health regeneration when the player's health is very low, allowing clever players to recognize that their wounded target couldn't have gotten far, just like you see on TV. When designing a game, it's common knowledge that heavy consequences out of a player's control can be very frustrating to those playing it, therefore, conversely putting a lot into the player's hands gives a sense of satisfaction and accomplishment when a player's plan works. The freedom of the game coupled with the game's forgiving death mechanics makes for a relaxed and light-hearted PvP experience that I hope to expand in the future.


Mar 29, 2019

Back in the Rhythm

It's been quite a while. It really has. I haven't really been anywhere, I just wasn't as active in the ROBLOX community. After all that had happened, I believed it to be best to not be so involved in the social space of others so now I prefer to keep to myself and immediate communities I'm personally involved in. In addition, I haven't really had a need to develop or create small projects so I  tried to make a game myself (which I didn't complete, but that's for another time). Being a core part of the MeepCity development team, I didn't have an urgency to produce a new game so I decided to slowly work on my own larger projects.

After several months, maybe even years, I've decided to go back to my roots and have made a testing playground for me to display all my new creations. At the moment, there is only one tool based on a stand from JoJo's Bizarre Adventure, which I've been really into for the past 3 years. I will most likely be recreating a lot of stands from JoJo but in my own style. When developers recreate the abilities of stands from JoJo, it's often for the sake of a combat oriented game and not for the purpose of faithfully recreating the power. Considering this new place is simply a sandbox, I don't have to worry too much about making each stand viable since not all stands in JoJo are equal; I don't see how I could make Catch The Rainbow be on the same level as Star Platinum or White Album but I don't want people running around one shotting people with Purple Haze.

I brought them back!
Another topic I would like to address is the Project Fight Club remake. It's finished, sorta. There's a lot of behind the scenes technicalities that need to be addressed to be considered complete. There's also no proper map rotation despite there being 4 maps and of course probably a hurricane of bugs to deal with along with hastily made item descriptions riddled with grammatical errors. Despite all the obstacles, however, I will most likely publish the game in its current state as is until I decided to complete it. I'll address any overwhelming changes that need to be made to the game like an update breaking the game or something in the game completely ruining the experience. In terms of new content: don't expect it often. I might work on it every month or so but that's the most I'll do for now. The new version of PFC has a new sword but that's all I can recall. There are several unfinished weapons in the game's files but they're not in a playable state. The game has revamped effects, animations, and some sound changes along with a new UI so there's that as well.

Looked pretty good before I stopped.


As this post comes to an end, I want to reiterate that I'm not really working on anything big right now in terms of personal projects, my primary work is, and always will be, MeepCity. Despite that, I will always have a hunger for creating tools, models, and scripts and I have the desire to satiate my starvation. Hope to see you soon.

Dec 9, 2016

Jokes First, Questions Later

It's been quite a while since I've posted on this blog; I've been pretty lacking in terms of content here even though I have content to provide. I'm unsure of how many people check this blog but I'm happy to update it again.

To pick up from where I left off I'm proud yet disappointed to say I've made progress on something completely unrelated to Project Fight Club. Instead, I spent the months of May and June on an update for MisterObvious's Animation Studio. To those unaware, it looked something like this:



The update started as a joke between the four of us (the other three being MisterObvious, BlazerC, and his brother Rhysmon). Back in 2014 shortly after PFCs inception, I made a joke saying there should be a tool that lets me recreate the falcon punch scene from the anime F-Zero: GP Legends. I myself never got around to creating it until around late May when I decided to tackle the project after successfully recreating You Have to Burn the Rope. Although I wanted to insert it in MisterObvious's game and just show everyone, I needed a reason to use it and to give the cutscene some context. We then created The Black Hole Event. In animation studio, an entity known as The Black Hole loomed over the map whose uncomfortable gaze gave the game's visitors an uneasy feeling of being watched. The black hole would grow ever so slightly whenever a player was banned ingame causing the black hole to grow to an astronomical size that nearly covered half the map in black nothingness. We then agreed the players of the game should combat the black hole in an effort to save the map. The rest of the lore can be told another time if anyone else requests it, but as with all good tales, it's better told by someone who was there so you should definitely ask around the local Animation Studio Senior Center to locate a black hole wheelchaired veteran.

The update added 4 enemies for the player to fight and a boss at the end of the update. The 4 enemies are named Roller, Doppelganger, Distraction Tree, and Golem. Over time the enemies grew in max health and spawn rate as servers grew larger and stayed longer. I'll be quickly going over each one and how they were programmed.




The Roller




The Roller's model was designed and built by my friend Rhysmon when I requested monsters. Originally planned to be a ranged enemy, I opted out for a constant nuisance that'd surprise players. The aptly named Roller would roll towards players and hop on their head, leeching the life of the player they latched themselves onto. The targeted player would need to either shoot the roller off or have another player assist in shooting them. Their weak spot is amongst the hardest to land being the hole in their mouth. They were relatively easy to kill having the lowest health pool of all the enemies but the highest spawn rate and areas of all of the monsters.

The Roller's AI is a simple one: roll towards them and pounce when close enough. The AI used a while loop that constantly looked for players via the :GetPlayers() function of Players. Once the table of players was acquired, it simply compared the distances between the player and the roller and picked the closest one to roll to. Once the roller was within 7 studs of the player it would speed up and jump towards them and weld itself to the player's head, dealing damage and healing the roller. Rollers didn't use pathfinding or any ledge detection because we thought pathfinding wouldn't be necessary since we wanted them to surprise players that pass through doors or pass by rocks they hid behind. We let them fall off the edge because, well, we thought it was hilarious.
Nobody liked you anyways



The Doppelganger



The Doppelganger's model was hastily made when I noticed a lack of ranged enemies; I just slapped on the classic zombie face with no eyes and gave them the same color and material scheme as the roller. I thought the idea of an enemy using the same weapons as the players would be a fun foe to go up against. The fact their bodies were the same and their combat styles were the same, I decided to make them wear the same hats as a random player in the game. Their weapons were randomly generated using the same algorithm as the vending machines that dispensed the weapons for the players and did the same damage as theirs. These guys were either a joke to fight against or were a huge trouble to deal with. They had the same base health as players and were the second most common to spawn. They tended to spawn in areas where players commonly hung out at.


Their AI was much smarter than the roller with pathfinding and edge detection. They were also fully animated and had accuracy based off the gun's stats. The game would roll a number between one to six; if six was selected, the doppelganger would aim for the head with one through five being the other body parts. They would run towards nearby players and fire when within a reasonable range. They also could toss their weapons in the trash if they managed to touch it, which was quite rare. If they tossed their weapon out, they began to break down crying exclaiming their frustration for tossing their firearm in the garbage.


dude y



The Distraction Tree


These were designed by MisterObvious while we were making monsters and boy are these just great. These were just fantastic: balancing the tone of the game to make sure the update wasn't too serious by giving them hilarious AI to match their old fashion appearance. These guys had the second most health of all the enemies and spawned in open green areas. When approached they'd spin and yell DEMACIA, harming players who get whacked by its distraction tail with the barb at the end, dealing more damage. The best part about these guys is that their crit spot is actually the face in its chest, which is actually its real face. Why else would it be called distraction tree?

These guys had the same AI as the Roller with the exception of its behavior when a player is near. They'd spin using BodyAngularVelocity isntead of, well, jumping. The best part about their AI was how they'd get on the roof because they'd hit the teleport pad on the floor. There wasn't much else to these fellas but they definitely rank amongst my favorite NPCs I ever made.





The Golem


The Golem's design was inspired by Runescape's Brawler enemy from the Minigame Pest Control. These hulking enemies were the bulkiest and the deadliest enemy of the four with a whopping 3.5k base health that could scale into the ten thousand range, a max speed that nearly doubles the default speed of the player, a tiny weak spot in its eye, and hard hitting moves to hit both single targets and groups of players. These spawned the rarest and only spawned in 3 places: behind the apartment, in the desert, and near the MisterObvious statue.

The Golem's AI shared the same pathfinding as the Doppelganger. The game would count how many enemies are near it; if there was only a single enemy, it will punch the player in the face, if there's more it'd slam the floor knocking nearby enemies into the air, damaging and stunning them. Being the tankiest and the deadliest of the four, they were notorious for killing multiple players and required multiple players on the server to take one down, especially when their health is at its max.

You can still find a Golem in Animation Studio, albeit a friendly one that goes by the name of Jimmy. You won't be able to see it attack but you can see it walk around the map.

I plan on posting a part two of the event going in depth on the weapon system and the game itself. I also have some PFC progress to share to those who follow this blog.

Oct 17, 2015

Hello world!


So I started a blog. I don't know what I'll do with it but I'll post whatever comes to mind whenever something comes to mind. I'm going to be posting progress on whatever I'm working on like for One Piece Online or Project Fight Club, or maybe my opinion on a certain update or on a popular game. This blog will have a more serious tone, but that won't mean I provide a post with the usual snarky or stupid remarks I make. Just know I won't be making stuff like shit posts or hollow rants.

Why should you, the reader, care about what I think? I dunno maybe you can only construct your beliefs off others' opinions and you're trying to find another source to annotate for your "totally" original concepts. Maybe you're curious about one of the projects I'm working on and want to know its progress. Maybe you just want to see what I got to say or what I'm up to. Whatever it is, I appreciate you stopping by.