Jump to content
  • Advertisement

WaterMoon

Member
  • Content Count

    21
  • Joined

  • Last visited

Community Reputation

10 Neutral

About WaterMoon

  • Rank
    Member

Personal Information

Social

  • Twitter
    watermoongames

Recent Profile Visitors

1402 profile views
  1. Hello Readers! Development continues at a slow but steady pace. I finished level two and have been working on level three. I hope to have it completed very soon, but It looks like my new and improved timeline from the last post is already experiencing delays. While getting off schedule is not ideal, I'd rather create a quality game that is a little off schedule than a rushed game that is less fun. I must say, I continue to struggle with time and motivation as there is still a lot of work to be done. That being said, I keep going back to the old saying, "how do you eat an elephant? A piece at a time!" Being that this is my first game, I'll just take this issue as a learning opportunity and keep moving forward. In regards to development, I've added some fun obstacles, elements, and even a new character that is proving tough to beat.I hope you'll keep reading to see some of the new additions. Rising Lava The third level starts out with the hero in a deep cave with lava as an environmental hazard. I created a section of this level that has lava rising upward, requiring the hero to move quickly to keep from becoming a crispy critter! Switch Walls The third level has a number of walls that require the hero to find "switches" in order to unlock the wall. When the hero has found all the switches, the wall opens and the hero is able to pass. Skeleton Knight The skeleton night is a new addition to the enemy pool. He slashes the hero with his sword and makes use of his shield to block the hero's attacks. I've died more than once facing this valiant dead knight. Timed Platform There are now platforms that will drop from under the hero's feet after he has been standing on them for a certain amount of time. These platforms paired with lava are really heating things up (corny pun intended). ________________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. _________________________________________________________________________________________
  2. Sorry about that, Khawk! I appreciate the heads up and information. I'll make sure to not to simply post a link in the future.
  3. Hello all! Please follow this link to read today's post.
  4. Hello everyone, please follow this link to read the entry on the games website.
  5. Hello all! Rather than cutting and pasting my blog into this one, I've included a link below. I hope you'll take the time to check it out! Untouched Earth Weekly Game Development Blog May 26, 2018
  6. Hello All! After some great feedback from members of the community, I decided to create a trailer for the game. I welcome your feedback! _________________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. _________________________________________________________________________________________
  7. Hello All! I had family in town this week so I took a break from game development to spend time with them. I did, however, create a short screenshot slideshow for Untouched Earth. I hope you'll take a look! _____________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com _____________________________________________________________________________________
  8. Hello folks! I’d like to use today's blog entry to discuss some motivational tricks I’ve learned about game development. I create games as a hobby in my spare time, and am actually a mental health professional in my daily life. It’s amazing how many parallels I’ve found between game development and counseling. I often work with individuals on setting goals and see lots of struggle, triumph, and challenge along the way. I’ve come to find there’s both an art and a science to staying motivated to achieve long term success, and below I highlight three tips that were specifically relevant to my experience in development this past week. Development Tips 1) Use imagery to create a mental image of the day your game is complete 2) Slow down to speed up 3) Set SMART goals and share them with others Tip 1: Use imagery to create a mental image of the day your game is complete I heard a TED talk the other day about motivation. It turns out that humans stay more highly motivated when we conjure up images of successfully completing a goal and then stay focused on that image. This process makes goals seem more achievable and in turn bolsters motivation. If you find yourself struggling with motivation of any kind (to work on the game, to finish the game, etc.), I encourage you to sit quietly for ten minutes and think deeply about where you see yourself and your game when it is completed. Hold on to this image anytime you find yourself struggling with motivation, and review it after every time you work on your game. My prediction is that you will find yourself more motivated and overall more hopeful. Tip 2: Slow down to speed up Mindfulness is a common term these days, and refers to the ability to be aware of our thoughts while simultaneously calming the body. When working hard day in and day out on the same project, it can be easy to try and work harder and faster in an attempt to finish quicker. While I don't believe working harder is a bad thing, there’s an old saying that goes “work smarter not harder.” This is exactly where mindfulness comes into play. In my experience, deep breathing relaxes the sympathetic nervous system and calms the mind, thereby improving creative problem solving, enhancing perception, and restoring a level of relaxation and balance; challenges become much less challenging, solutions reveal themselves, and creativity has an opportunity to bloom. I encourage you to put on some calming music, and come back to the breath every couple minutes. Tip 3: Set SMART goals and share them with others SMART is an acronym that stands for Specific, Measurable, Achievable, Relevant, and Timely. In addition to staying focused on the end result, setting small goals that can be achieved in a relatively short amount of time rather than large goals that take days, weeks, or even months to complete can enhance the feeling of accomplishment. Try breaking down each development session into a smart goal. For example: make at least two new animations for one enemy character by the end of today: specific – yes; measurable – at least two animations; achievable – yes; relevant – yes; timely – yes. Once you've created the goal, tell someone about it! The act of having someone check in with you and ask questions about your progress will make you accountable to more people than just yourself. Game Updates Development hit a few snags this week when I started having major problems with enemy characters. I’ve been working on bug fixes over the past couple weeks, and realized this week that the enemy code is confusing, unnecessarily complicated, and needed an overhaul. After developing a personal rule of not changing core game mechanics this late in development, I was hesitant to scrap the current code and start over. Sadly, there was no other choice. I spent a good bit of time reading up on the Animator Controller, and ultimately created a solid script that allows enemies to perform the same actions as before, but in a much easier to understand and efficient way. _________________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. _________________________________________________________________________________________ ***Original blog post can be found by clicking HERE***
  9. ***Original blog post can be found by clicking HERE*** ***Untouched Earth Website can be found by clicking HERE*** Good day everyone! If you had a chance to read my last blog post, then you’re well aware I had the opportunity to have some very kind individuals play test the game two weeks ago. In addition to discussing the game’s progress, I’d like to use this post and future blog posts to discuss the tips I’m learning as I continue implementing suggestions, fixing bugs, and creating the game. Development Tips 1) Use raycasting to stop character movement instead of relying on colliders. 2) Improve performance and limit excessive calls to the garbage collector by disabling game objects instead of destroying them. Game Updates 1) Improved playability and enhanced visual appeal in level one 2) Created an animation for the maya coin 3) Fixed bugs associated with bullets 4) Implemented object pooling for bullets 5) *See Picture* Created a Boar Character 6) *See Picture* Created a Goat Character 7) Updated combat mechanics to utilize triggers rather than colliders 8) Fixed bugs associated with climbing, hanging, and swinging 9) Fixed bugs associated with Poker obstacles 10) *See Video* Fixed confusion about which walls are climbable through enhanced artistic presentation 11) Fixed confusion about which objects are swingable through enhanced artistic presentation 12) *See Picture* Updated bounceable object _____________________________________________________________________________________________ Tip One: Use raycasting to stop character movement instead of relying on colliders. Consider the scenario above. The hero is running toward a wall with the expectation that he will stop when the two colliders meet. From what I’ve found, this method works just fine most of the time and tends to be bug free. However, I’ve also discovered that collision detection can be inconsistent, and the hero occasionally runs through thin walls. The problem is that the code allows the hero to continue moving with the expectation that the collider will stop his forward progression. While it would be possible to stop the hero from moving forward when the colliders collide, I believe the following solution produces better, bug free results. Basically the raycast detects whether a wall is in front of the character. If it is, and if the hero is close enough to the wall, the code signals to the hero to stop updating his forward motion. This way, the hero isn’t relying on the colliders to stop his movement, but is using code to stop him in his tracks and no collision is even necessary. This solution may be more resource intensive, but I believe it is a worthwhile trade off for the benefits. _______________________________________________________________________________ Tip Two: Improve performance and limit excessive calls to the garbage collector by disabling game objects instead of destroying them. In the scenario above, the hero is climbing up a wall and is about to pick up coins. If each coin is destroyed when it is collected, it won’t take long before the garbage collector activates to get rid of all the excess, destroyed objects. Considering that a level might have 200-300 coins in it, then the number of destroyed game objects quickly adds up. Rather than destroying each coin when it is collected, simply setting it inactive when the hero picks it up prevents the garbage collector from running as often. The code above is a portion of the coin script, and shows how this solution is implemented. I believe it results in less calls to the garbage collector. ___________________________________________________________________________________ Update Pictures & Videos Original character was purchased in the asset store and updated by me. Thank you Mimu studios! Original character was purchased in the asset store and updated by me. Thank you Mimu studios! Updated Bounceable Obstacle _________________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. ***Original blog post can be found by clicking HERE*** ***Untouched Earth Website can be found by clicking HERE*** ________________________________________________________________________________________
  10. I couldn't agree more! I've definitely had my fair share of lost work from not saving. Thank you for the reminder!
  11. Hello Readers! I had a great opportunity this past weekend to have some people play test the game. For the most part it went well…that is, until the frame rates dropped to a point of being unplayable, glitches caused the player to reset to random places on the map, and the controller seemed to invert itself through an act of black magic. The experience was very enlightening and served as a gentle reminder that making games is a TON of work and requires loads of dedication to see it through to the end. In the spirit of humility, I thought I would use today’s blog entry to discuss the lessons I learned, and how I intend to progress moving forward. I welcome any insights and comments, and I would love to hear about some of the lessons you've learned along the way. Lessons 1) Play test early and often with people other than yourself. 2) Profile early and often on the target devices. 3) Don’t leave highly problematic bugs and errors for later. 4) Don’t change the algorithm for essential game mechanics too late in development. 5) Keep lots of backups. 6) Learn from other's mistakes Play test early and often with people other than yourself This lesson was a hard one to learn. When the first level of the game was complete, I thought I could simply play test it myself and would get good feedback. This was true, but only to an extent. When I let other people play it, I quickly found out that the controls are confusing, the map doesn’t provide enough direction, and players will use the main character in ways I never even thought of. It would have been incredibly helpful to test the core mechanics on another person early on while I was developing them, rather than waiting until multiple levels have been made. As it stands, I’ve spent around 12 hours changing the controls on the hero’s climb animation so the mechanic feels more natural. Profile early and often on the target devices There were some serious frame rate drops going on that I didn’t realize because I was only testing the game on my home PC, which has a strong specs. When I put the game on my laptop, the frame rates dropped to the point of losing playability. I learned that profiling isn’t something that needs to wait till the end of development, and it would have been wise to profile as I built up the core mechanics. Using the profile after each new level or major game change and responding to its results is a great way to avoid these types of issues. Don’t leave highly problematic bugs and errors for later. It’s easy to become so fixated on finishing the game that errors and bugs are pushed off until a later time. I find, however, that engaging in this procrastination results in a ton of errors that compound on one another. For example, there was a problem with the hang animation, which caused a problem with the physics system, which caused a frame rate drop, etc. etc. Fixing these errors and bugs in order to build a strong foundation for the game mechanics is essential. Don’t change the algorithm for essential game mechanics too late in development In an attempt to fix the problems with my climb mechanic, I decided that the current algorithm had too many bugs to be salvageable. I spent a good number of hours creating a new algorithm that ended up failing miserably. The worst part is I screwed up the main characters script so much in the process that I had to revert to an earlier backup. After restoring the backup, I discovered a way to upgrade the mechanic as well as fix many of the bugs. Nothing is more heart breaking than losing hours of unnecessary work, which leads me to the final lesson. Keep lots of backups After every major change, make a backup. After every development session, make a backup. After every optimization, make a backup. The point is, keep lots of backups. I made the mistake of optimizing a lot of code and then trying to redo the algorithm for the climb mechanic. Had I made a backup AFTER the optimization, I wouldn’t have spent so much time redoing work. I know there are a lot of lessons left for me to learn. Learn from other's mistakes All these lessons bring me to my final point - Learn from other's mistakes. I do a good bit of reading about challenges other developers experience, but it is so easy to think "that won't happen to me." Humbling oneself and learning from another person's mistakes is wise, and I plan to listen to the advice of seasoned developers. Which brings me to my final question, what lessons have you learned about development along the way? _______________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. _________________________________________________________________________________________
  12. Hello all! Welcome to this week’s edition of the Untouched Earth development blog. I had a semi productive week, which is great considering I had family visiting and various other things that required my attention. One of the things I love about indie game development is the flexibility it provides in terms of production. However, that doesn’t mean producing a game is without short and long term goals. I recently set the goal that I will complete one level every two weeks until I’ve completed 12 total levels. It’s really helped keep me on track doing updates on a daily basis. Which brings me to my next point, this week’s updates! Updates this week include: Continued developing level three (about 75% complete) *Spotlight* Fixed a bug causing the player to jump endlessly when performing air combat *Spotlight* Obtained logos for the game *Spotlight* Added new coins to the game Play tested levels one and two and fixed errors with world rendering and enemy behavior Added NPC’s who help the hero on his journey Fixed a bug that prevented bullets from causing damage to enemies Fixed a bug that inhibited the hero’s ability to land on certain terrain *Spotlight* Created a falling bridge obstacle Updated input manager to allow keyboard input for basic actions _________________________________________________________________________________________ Spotlight 1: Fixed a bug causing the player to jump endlessly from air combat I had this terrible bug pop up out of nowhere that allowed the hero to jump in midair as many times as he wanted when I pressed one of the combat buttons. This bug obviously allowed the hero to be more of a superhero, and had to go. It only took about 30 minutes to figure out what was going on, and I believe I have the bug ironed out. It turns out I caused the error when I gave the hero the ability to transition to his jumping animation from any air combat animation. Once I removed this code, it worked just fine. _________________________________________________________________________________________ Spotlight 2: Obtained logos for the game I love these logos! They looks fantastic! Every time I see them I feel like there’s adventure on the way and danger to be dodged. They were created by Jacob Garren, and really bring the adventure to life. Thank you Jacob for making great logos! _________________________________________________________________________________________ Spotlight 3: Added new coins to the game The coins I was using in the game looked a little out of place. They were bright colors and looked like they belong in a children’s toy chest rather than an exciting and adventurous 2D jungle game! I decided to investigate other options, and came across a great set of coins in the unity asset store (thank you Rexard for making great assets). I didn’t alter the coins in any way except for changing the colors. They look fantastic! While the implementation was relatively straight forward (drag and drop the new sprite into the sprite renderer) I did, however, struggle with a clean switch from the old coins to the new ones. For some reason, many of the coins didn’t resize correctly and weren’t responding to a prefab alteration. I had to go back over all of the old coins and reset their size. It wasn’t one of the more glamorous parts of game development, but it was necessary. Luckily these new ones look so fantastic that I harbor no resentments. _________________________________________________________________________________________ Spotlight 4: Created a falling bridge obstacle The hero often goes over bridges as he moves from piece of terrain to the next. I thought it might be fun to have the floor unexpectedly fall out from underneath him (sick and twisted, I know). It turns out it is fun so long as the hero doesn't plummet to his death too often. It’s a relatively simple obstacle developed with the animator and a small script. _________________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. _________________________________________________________________________________________
  13. Thanks! He’s actually a purchased asset from the unity store that I only made the animations for. They did a great job creating him. Too much fun to fight!
  14. Wow! Very productive week full of new opportunities, new items, and new bug fixes. I must say, development seems to be progressing wonderfully (fingers crossed I didn’t just jinx myself 😊). The game’s fun level continues to increase, and, to me, that’s the whole point of agonizing over the minute details of code and animation – to give others a fun experience. ***Original blog post can be found by clicking here*** Updates this week include: Continued developing level three (about 50% complete) Fixed the artificial intelligence and decision making on enemy characters *Spotlight* Created a “Spinning Wheel” obstacle *Spotlight* Created a “Springy Platform” obstacle *Spotlight* Created a “Smasher” obstacle *Spotlight* Created two new characters called “Howler 2” and “Piper” Started creating a new Booster – “Slow time” *Spotlight* Created and implemented a rendering algorithm to Frames Per Second. Fixed a bug causing enemy health decrementation to be inconsistent Fixed the code that caused the “Howler” enemy to freeze when landing Fixed an error causing bullets to instantly be destroyed and not collide with enemies _______________________________________________________________________________________________________________________________ Spotlight 1: Created a "Spinning Wheel" obstacle I’m in love with this obstacle! It’s incredibly fun and presents a tough challenge to the hero. I died multiple time when testing it, but the thrill of successfully maneuvering it was invigorating. Basically, the obstacle has six platforms the player can jump on. Each platform moves around a center point at a duration and intensity set by the code. The first challenge was getting the six platforms to rotate around the center in harmony. I tried to create a script to manage the movement, but it was a big failure (failure is okay though!). Ultimately I ended up attaching an animator component and just creating an animation in the unity editor. The wheel spins faster by simply increasing the animation speed – Simple...so I thought. The startDelay variable causes the animation to wait for a number of seconds before starting. The animation variable refers to the types of animation available - either an animation where the "Spinning Wheel" moves and pauses or an animation where the "Spinning Wheel" moves continuously. _______________________________________________________________________________________________________________________________ Here's where a big error came in. The hero was not staying put on the platforms. The platforms would rotate out from under him, and he would fall to his untimely death (brought a tear to my eye to see such potential wasted so unfairly). I ended up creating a script for each platform that determined whether or not the platform was touching the hero. If it was, the platform script adjusts the hero’s position to keep him on top of the platform. heroScript refers to the script attached to the hero. If the hero is colliding with the platform, the touchingHero variable is set to true. This variable then signals that a change in position each must be calculated (deltaPosX & deltaPosY) during the FixedUpdate(). This change in position is then added to the hero's transform to correct his position. _______________________________________________________________________________________________________________________________ It worked like a charm! The spinning wheel was complete, and I could set how fast it moved in the unity editor. I created two modes for it: pause and continuous. Pause mode (featured in the video below) puts a brief pause in between rotations, whereas continuous mode rotates without any breaks. _______________________________________________________________________________________________________________________________ Spotlight 2: Created a “Springy Platform” The springy platform was pretty simple to make, and only took about an hour or so of development time. I had never used the SpringJoint2D, so it took some trial and error to make the obstacle usable. I love how it turned out, though! The character can land on it and bounce, making it hard to keep his footing. It really presents a challenge to game play, but, just like the “Spinning Wheel”, feels great when you defeat it! Victory! _______________________________________________________________________________________________________________________________ Spotlight 3: Created a “Smasher” obstacle I had originally created a larger smasher obstacle that would plummet downward upon the hero and send shock waves of crushing force through his body! This obstacle is simply an adaptation of that obstacle, but gave me a few challenges. The obstacle is intended to be used when the hero is climbing down a rope or vine. However, if the hero falls from the rope or vine and lands on the “Smasher” he is unable to move and receives damage until he dies. I foresaw rage quitting if I didn’t fix this bug. I ended up updating the hero’s detection manager to include “Smashers” as elements the hero can move on. (see the detection manager section of the game mechanics section if you’re not familiar with the detection manager). _______________________________________________________________________________________________________________________________ Spotlight 4: Created two new characters called “Howler 2” and “Piper” Two new characters joined the world, and boy oh boy do they make my skin crawl. Creepy and scary with a hint of horror. One of the characters, who I uniquely named “Howler 2”, is an adaptation of the “Howler” Character – Thank you again HQ game assets for making great assets. I did some art work to make him spookier, and augmented his script to make him more lethal. He’s able to evade hero attacks, is bigger, stronger, and can leap further than the “Howler.” The other character is called “Piper.” He is a distance based character that fires bolts of energy at the hero and runs away when the hero gets close. He’s a real challenge, but a lot of fun to beat up. _______________________________________________________________________________________________________________________________ Spotlight 5: Created and implemented a rendering algorithm to increase game speed. This update was huge! HUGE! There was a very serious problem where the frames per second were absolutely horrible when playing the game on a solid gaming PC. I realized I simply had far too many game objects active at once. I did a little research into several topics including object pooling, and ultimately created an algorithm that sets certain sections of the map active and other sections of the map inactive. I created a “Render Trigger” game object, which is basically just a game object with a trigger component, and set them up across the entire world. You can find the entire code below. Super simple and super effective! The game looks stunning, fluid, and has crazy high FPS now. The sections that are active are loaded into the render array in the unity editor. The sections that are inactive are loaded into the sleep array. When the hero touches the trigger, the render game objects are set active and the sleep game objects are set inactive _______________________________________________________________________________________________________________________________ As always, thank you for reading. I would love to hear from you and would love to hear any comments or ideas you have. Feel free to leave a comment or email me at watermoongames@gmail.com. _______________________________________________________________________________________________________________________________ ***Original blog post can be found by clicking here*** ***Visit Untouched Earth website for more details***
  15. A lot of exciting updates this week! I spent a good amount of time updating the enemies and creating new challenges for the hero to deal with in the game world. I also fixed a few bugs that were causing some minor annoyances and affecting game play. ***This blog post is copied from a post on the game's website. The original post can be found here*** Update 1: Added a slider cable I added a new element to the game that allows the hero to grab hold of a "sliderCable" object in the form of a vine or rope and use it to slide down a longer vine. The mechanic threw a few curve balls at me, but overall didn't take more than about an hour to develop. It still has a few kinks to work out, but is functional and fun. The main challenge was getting the hero to stop abruptly when he reached the end of the vine. As you see from the video below, he was overshooting the vine and falling off the map. The mechanic is pretty simple. The long vine has a trigger collider at the end of it called a "stopPoint." When the stopPoint triggered by the hero, it activates all of the RigidBody2D constraints on the sliderCable to instantly stop the sliderCable and hero. Needless to say, it wasn't working that way. The sliderCable was using a SliderJoint2D, so I spent some time researching complications associated with the joint. It turns out the problem was with my code. When the hero initially grabs the sliderCable, the sliderCable code turns off the RigidBody2D constraints in order to allow the SliderJoint2D to take over. This is where the problem developed. The hero was being separated from the sliderCable as it was sliding and then touching it again when it stopped abruptly. By touching it again, the RigidBody2D constraints on the sliderCable were turned off by the code right after they were turned on by stopPoint code. After changing a few lines of code around, it worked great! It's a really fun game mechanic, just has a few more bugs to fix. _________________________________________________________________________________________ Update 2: Made enemies turn red when hit I wanted to make it more exciting and noticeable when the character strikes an enemy, so I decided to turn the enemy characters red when they get hit by the hero. I thought it would be as simple as adding a coroutine that turned the enemy red, waits a few seconds, and then turns him back to his original color. Turns out it wasn't that simple. Since the character uses bone based animation (meaning tons of little sprites make up the character), I had to load the enemy's original colors into an array in the Start() method and then copy them back at the end of the coroutine. Success! The "ren" variable is a reference to an array that holds each sprite's SpriteRenderer component. The "color' variable is a reference to an array that holds the original color of each sprite. I copied the original colors in the Start() method. _________________________________________________________________________________________ Update 3: Added new enemy characters I created two new enemy characters. They're fantastic! They are both based on the "explorer" enemy - Thank you HQ game assets for making great assets! - I had to do a little creative artwork to make them look unique, and I must say they look great. One of them is a tiny little guy that moves fast, jumps, and evades the hero's attacks. The other is a big, slow enemy that has a powerful attack and doesn't move when hit by the hero. Super exciting! _________________________________________________________________________________________ Update 4: Fixed wall jumping bug There was a very annoying little bug that allowed the hero to jump up any 90 degree wall he wanted to. The bug was definitely exploited by some of my testing team (wife). I wasn't quite sure how to fix it at first, and ultimately had to add some new code to the CanJump() method of the hero's Detection Manager. It turns out the character's detection points were determining that he was eligible to run and jump whenever he was colliding with a wall, regardless of whether he was colliding with the wall while suspended in midair or not. Needless to say this isn't the behavior I was going for. I ended up creating a few conditions that dictate when the hero is able to jump. Basically, he has to be touching a piece of world that has a "Movement tag" (tags for objects that the hero can run on), and, if the front detection point (fp_2) is active, then the front non static ray will check whether there is a wall in front of the hero. If there is a wall, the hero is not eligible to jump unless his fp_Main detection point is active. It works so far, but I'm wondering if another bug might pop up from this fix. I'm open to any suggestions on how to deal with this type of problem. This code is from the hero's detection manager. Make sure you read the Game Mechanics section of the web page to fully understand what I mean by detection points, detection manager, fp_2 and fp_Main as they are game specific scripts and gameObjects. _________________________________________________________________________________________ Update 5: Fixed standing on enemy bug I've been having an issue where the hero lands on top of an enemy, and is then able to stay standing on top of him. This glitch allows the hero to safely ride the enemy around the map, and makes it hard to get off of the enemy when standing on his head. It was definitely taking the fear out of the fight. I struggled with coming up with a good solution, but ultimately decided to make the hero bounce off enemies when he touches them. The solution was relatively simple, and involved the creation of game objects with BoxCollider2D components attached. These game objects create an outline of the enemy and each have a script attached called "BouncePoint." You can see the full script below. When the character hits one of these bounce points, he bounces off the enemy in a direction determined by the BouncePoint script. I was looking at using a physics2D material, but was having trouble getting it to work. Instead I just added a force to the hero when he collides with the collider. So far it works great! This is the entire BouncePoint script. heroScript and enemyScript reference the scripts attached to the hero and any enemy. The bounceValue is used to determine which direction the hero should bounce in. The direction is dependent upon the direction the enemy is facing. _________________________________________________________________________________________ Any thoughts on how to improve some of these mechanics are welcome! Any questions are also welcome! feel free to comment or contact me at watermoongames@gmail.com. ***This blog post is copied from a post on the game's website. The original post can be found here*** _________________________________________________________________________________________
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!