Search Unity

The Hero's Journey - A Sidescrolling Swordfighter!

Discussion in 'Works In Progress - Archive' started by AndrewGrayGames, Apr 3, 2013.

  1. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Hmmm...the player should be fitting within one block. I'll have a word with the player when I get home too, to ensure he's just the right size. Good find virror!
     
  2. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    I was meaning the horizontal speed when I said move faster. This is probably just a me thing. It's just odd with how high you can jump up, that your horizontal movement only allows you to move 2 blocks or so. It's not a big thing and probably is just me. :p I tend to get picky.

    As for the movement, as stated, you can use the built in smoothing of get axis to work with your movement system. Assuming you are using a vector3, you can simply *= the x movement by the horizontal get axis before using the character controller's move command. It's actually fairly simple way of doing things.
    Code (csharp):
    1.  
    2. moveDirection.x = Input.GetAxis("Horizontal")*speed;
    3.  
    With that, you not only accelerate smoothly, but you also decelerate like you are wanting.

    As stated, I've gotten pretty good at movement systems. T_T I really need to get a job as a developer. XD

    Also, if you didn't know, there is a value called Physics.Gravity. This is a vector3, and can mess with the physics of the game. By default, it's -9.8 on the y axis, but can be changed to anything. Might be kind of cool to do something upside down, or on a wall. It's fun to mess with things like that. My main point is that you don't have to apply your own physics system this way.

    And just to say, while in this game, it probably doesn't matter, but in the future, you may want to look at using rigid bodies and their movePosition command. You simply use the same system you would for the move command with a character controller, but add it's current position to it. This makes you not have to worry about gravity, and you simply apply a force upward to jump. This not only lets you mess with gravity like I said above, where the entire world is effected by this gravity, but the big thing is, it lets you effect physics objects.

    For instance, if you throw in a bunch of boxes and add rigidbodies, they'll fall to the floor. They'll even bounce off of a character controller, but, if you try to walk into those boxes, the character controller stops, and the boxes don't budge either. As a rigid body, you can push your way through the boxes and move them around.

    It's a little more of a pain since there are not collision flags, but as stated in a past post, you can just do a sphere/capsule cast (similar to a raycast) and do it yourself.

    In fact, if you aren't intending to run special functions for a left or right collision, you simply don't program them in. Technically a little faster because it has to do less collision detections.

    Hope this is a little insightful and didn't cause any hurt feelings. T_T I seem to be good at that. (I'm not trying to push anything on you at all. Just letting you know about it. It took me a while to figure out that rigidbody.movePosition existed, and now I like it more because of interacting with other physics objects automatically.) Have fun, and keep up the good work.
     
  3. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Btw, getting both treasures without taking a single damage was easy ; )
    Just one slime to avoid.
     
  4. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Caliber - no offense taken!

    I have my underlying movement system keyed to Physics.gravity actually. I try to avoid magic numbers, like any good programmer.

    As far as push block puzzles are concerned, I'm not sure Im going to do that in this game. Sure there are plenty of potential uses for it, but its not really too original. Worse, I would need more sprites for it. I have some other ideas though that up-play the swordfighting side of things.

    In the end its a matter of tuning, and having a game or two out there dosen't make me a seasoned veteran. Thanks for all the crits so far, they're all appreciated.
     
    Last edited: Jun 6, 2013
  5. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 10
    First things first, thanks to everyone - specifically, virror and Caliber Mengsk - for the great feedback on my digging-cave demo! Planning another build, probably of the same level, just to see what my controls need. Obviously, being the developer, I have a bit of bias and have 'learned to like' my control scheme! Thanks for keeping me honest, fans and friends.

    This week, I've been working a lot with the dialogue system (adding the capability for sidequests), revising how skills/heart runes are obtained and noted as being collected, and adding a new map or two. An interesting fact: as of today, I have (roughly) half of the maps created that I need, barring complete re-builds of a map per user feedback.

    I got da POWAH!
    I've been changing a lot of things on the back end around this week, but the main thing I've been designing are the powerups that are obtained from the Evil Castles. Here's one I'm really proud of:



    ...Wait, what!? It's a glowy crystal. How is that a powerup?

    Well, there's an item called the Hero's Hilt that lets Tim's sword store light energy. Striking a crystal gives Tim a projectile weapon for as long as he's on the same map. Often, there will be an unenergized crystal, that when energy is restored to it, will cause something to happen. It could involve spawning something nice, it could clear the path to somewhere you couldn't go before, but the point is, you want to move light energy around! And you can only do that, with the Hero's Hilt.

    Something else I've implemented is the Earthbane Gauntlets that allow Tim to burrow through rocks. No screenshots yet, because I don't want to ruin the first Evil Castle.

    Don't hate the game; where's the Webplaya?
    Planning on releasing an updated Cave 4 demo this week with the improved controls for tuning fixes. As for everything else, know two things: A) I'm building it, and B) I want it to be darn good.
     
  6. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Quick update: The Hero's Hilt/Light Crystal/Light Charge mechanic is scrapped. While it was a cool idea, I felt it didn't emphasize the swordplay aspect of the game nearly enough.

    As for that Webplayer I promised, I'll build and upload it when I get home.

    I also spent hours of research, training, and vespene, for my new avatar. Fear it!
     
  7. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 11
    So, my demo plan didn't wind up happening this week!

    The Wind Beneath My Snazzy Crystal Boots
    In short, as I played with the mechanics on paper, what I found was the the Light Crystal was a unreliable way of moving a character towards some goal. Giving the player a powerup, whether double damage, AoE strikes, or sword projectiles, seemed like something that should be built into the Hero's Hilt anyhow. Coincidentally, with my current architecture, the last one, which would make the most sense given the Zelda 2 context, would be by far the hardest. So, that idea was forwarded to the Great Dev Team In The Sky. Let us have a moment of silence for it.

    However, to encourage re-exploring old maps, I created a useful mechanic - the Perseus Boots, and Wind Blocks. Pretty much, Wind Blocks are all over the place, you just can't see them...until you get the Perseus Boots. When you get the Perseus Boots, it becomes possible to collide with them, and use them to get to places you couldn't before. But, if they take any damage at all, they will be destroyed, so be extra careful! I'm redesigning Forest Secret 3 to use Wind Blocks, as a proof of concept. Originally it was going to be a digging map similar to Cave 4, but I don't want to overuse mechanics to the point where they can be called 'gimmicks'.

    Various other little things
    I also made some slight functional changes to the dialogue system (advancing dialogue won't make Tim stab people in the head anymore), as well as how the manager objects persist (they weren't doing it right before.) I'm working a bit on the Title Screen for the Game Demo, and working on creating the Save/Load system. This game will not be available from that demo onward as a dev webplayer, though, because the webplayer cannot load or save files! Also, PlayerPrefs are not a save/load system, and while I doubt I'll bang my head on the 1MB limit...well, I want to have an actual save/load system in place.

    I'm not anticipating a webplayer demo this week, but you never know...
     
  8. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    For saving, you can decide what components you need to save, and use something like this with an if statement for only the things you want to save on an object, and when saving, just cycle through either all objects in the scene, or make a growing list of important objects that need to be saved.

    http://answers.unity3d.com/questions/28514/is-there-a-way-to-get-a-list-of-properties-variabl.html

    To be honest, I'd suggest a growing list (static array of game objects that are added to the list when created), then use the linked code to get the name and values you need to save.

    Save those out to a file (xml would probably be the best way to do it) and TA-DA!!! Save file. You also have to make a loading system to read the xml, and generate things that need to be created, and then update their script information.

    You should be able to figure out how to use an XMLDocument to load/save xml files. http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx

    Hope that helps some.
     
  9. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    That did - it confirmed my 'growing list' direction I'm already taking!

    I'm also considering serializing to JSON instead of XML; it's smaller, and (at least, in my current design) I don't need the extensibility of XML to do what I want. Further, I'm storing many key/value pairs, which is pretty much how JSON works in the first place.

    I referred to this piece of pro-JSON propaganda when making this consideration. I've used XML before and it's pretty nice, though!
     
  10. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    New Webplayer!

    Created a new Forest Secret, with the player pre-equipped with the Perseus Boots. To get the Heart Rune...you have to go through my newest creations: Steelguards!

    Good luck.

    EDIT: On playing through my own scene, a few things to note that I need to fix:

    1: Attacking the guards' shields is useless. They will absorb the damage from your sword. That being said, Tim has a shield too. I'm going to fix this by creating an audio clue that the attack was blocked.

    2: Blue crystals are Super Health Crystals. They restore 5 hearts instead of the 1 heart a normal Health Crystal restores. I need to create an audio clue for them as well.

    3: Steelguards get stuck in their attack animation, until you cause them to come after you again. I'm working this out right now. :)
     
    Last edited: Jun 22, 2013
  11. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 12
    Let the picture speak for itself:



    While not a full-on busy week, I've been working on the fifth enemy, the mighty Steelguard! While not quite perfect as of this week, the Steelguard fulfills its purpose in the grand scheme of my game - forcing the player to swordfight. Smacking its shield is useless; you have to hit the undefended area to damage him!

    Further, I built Forest Secret 3 to use the new Perseus Shoes and Wind Blocks - you can't get the Heart Rune without them! Also, I added the Super Health Crystal, which restores a whopping 5 hearts of health! Since Forest Secret 3 is all about fighting Steelguards, they're placed such that you can't possibly miss them when you're making your try for the Heart Rune.

    Bigger Picture Coalescing
    Not pictured? The first Evil Castle.

    I've started actual work on the Evil Castle, which will emphasize breakable blocks (after all, the Earthbane Gauntlets are the first dungeon item.) I've gone through a few concepts for it on paper (and in Unity), but I've finally gone one that appears to be sticking! Once the Dark Valiant Garlan is built, I can finally build the rest of the Arc 1 demo that I've been promising for so long. Am I excited? Ohhhh yeah.

    Cool, can I try it?
    Sure, go for it.
     
  12. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Nice work!
    Some thoughts:
    -I think they are to easy, just dodge and hammer the attack button and they are dead in a few sec and often without loosing any life at all.
    -Found a bug with the guards, if you jump at their attack you can do a "super jump" enabling you to jump way over the top of the screen, might be a bit game breaking with the wind blocks : ) Easiest to test with the last guard since the other ones have roof above them.

    Looking forward to test the game when its done : )
     
  13. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    The first one is a tuning issue, I can do something about that. The second I find odd, though...I turned down the damage force on their weapons from 30 u/s to 10 u/s, because I was seeing those super jumps occurring on my local build. Good finds, I'll go back, and check the y-axis constraints as well.

    EDIT: I'll also get to working on the graphics of the wind blocks - those white, transparent blocks are wind blocks! :( The Perseus Boots give windblocks solid form.
     
    Last edited: Jun 24, 2013
  14. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 13
    True to my text last week, the game is coming together.

    I've integrated all of the Forest Secrets into the Aylea world map, and have been working feverishly on the writing and NPCs, as well as making the text system less invasive to the player experience.

    I'm still building the Evil Castles and their bosses. Garlan, the Dark Valiant is the first on the list, and he's a bit of a badass!


    I, Garlan, WILL KNOCK YOU DOWN!

    I'm currently working on his 'boss sequence', which will emphasize the player using all the power they can throw at Garlan to knock him down. But, that's in the design/internal prototype phase.

    Cool text bro! Webplayer?
    I thought you'd never ask.

    In this webplayer, you can start to look for the Forest Secrets, as well as enter all the caves, and the updated Town of Dunamne. Manseles and Karikako are still in development, and thus not implemented.
     
  15. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    It was nice to switch levels finally. One thing that definitely needs to be put in is a keyboard key to start a conversation/interact. The entire game is keyboard based except the interaction. It feels odd to just use the one hand for so long, then switch to the mouse just to enter a door or talk to someone.

    Overall, it's coming together pretty good. Controls feel much better then before. I don't walk half a second afterward :p Though, using the sword is still quite clunky feeling, and I noticed that most the time, rather then swinging the sword only when I needed to, I was holding it down the entire time. Perhaps you should make a slightly more animated attack and require lifting off the button between attacks. That way it's not just a hold button and walk towards enemy. Makes for boring gameplay that way.
     
  16. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Good critiques!

    For the interactions, I'm already planning on how best to move those to button presses anyhow, in preparation for phone UI and OUYA controller integration.

    As far as the sword use is concerned, I'll take (yet another) look at my animation/hitbox animation systems. I had implemented code that should have allowed for one-shot animations to occur; that it's not happening makes me need to re-examine some of the code running on the periphery of that modification, because I think it's getting overruled!

    Thanks for the great crits!
     
  17. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 14
    I'm feeling the pressure to get The Hero's Journey done!

    This week, I did a partial rewrite of the controls and sprite systems based on previous critiques, particularly around the usability of attacking. Also in the heading of engineering, I'm prepping the game for OUYA deployment; I've began integrating the OUYA plugin packages into the game!

    A Tale of Many, Many Stooges
    Beyond engineering, I'm still building the in-game storytelling, one event at a time. So far, the main story thread spans nine events (on paper; four of those are actually implemented thus far), separated by a good amount of gameplay. Speedrunners can still complete the story quite quickly, but they're going to have a very hard time of it.

    I'm also fleshing out some alternate threads that can take place within what I currently have, as well, to give the Kingdom of Aylea a little bit more flavor. As Tim the Knight is a foreign observer, effort must be made to ensure that he has a lot to see. And, laugh at.

    Webplayer?
    ...Naaah, not this week. With the completion of Garlan's Evil Castle, I'll put out another webplayer to solicit feedback on.
     
  18. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 15
    The plot writing continues! Having created the Mountain Cave, I've set to work on the first major dungeon of the game, Garlan's Evil Castle, which is where the player obtains the mighty Earthbane Gauntlets. More details later this week.

    In my work, Lachadonan has provided some great feedback on my bedrock and breakable 3D tile textures; while I don't have a texture I feel good with showing (yet), I already see a vast improvement. These changes will be ready to go in the next webplayer.

    Like A Boss
    The tricky thing about designing a boss? Everything.

    First, the boss has to be beatable. He's got inflated stats, which are enough of a challenge. However, much like the Zelda games, that dungeon item you picked up should have some use! Also, the boss has to feel like one; one-shotting clincher characters may work in Pokemon, but in a sidescrolling swordfighter, it would totally break the suspension of disbelief needed to make the game feel right

    My next webplayer, needless to say, will include Garlan, and you'll get to fight him for yourselves. Suffice to say, as I've planned it, he will be barely beatable, make you use those shiny new Earthbane Gauntlets, and most importantly make his defeat at the hands of Tim the Knight the cathartic experience we all love from boss battles!

    I can haz Webplayer?
    Not yet.
     
  19. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 16
    I've been working hard on the first Evil Castle, and it's nearly done!



    I've created various mechanisms that will make the Evil Castles, well, evil, including switches, firewalls, and Evil Motivation Posters. The actual Dark Crystals, and the bosses, are what I'm working on this week.

    Spriting Sprites of Spritefulness!
    For those interested out there, I could use a hand with updating some of the sprites from their prototypical version. Anyone who helps should know that I can't pay, as I'm working on a limited budget. However, should the game be successful, I would be happy to share some revenue. I just can't promise that it will. (If curious, refer to this collaboration thread for details.)

    Is there a Webplayer for that?
    Working hard on it. My deadline is approaching, too...
     
  20. CVgames

    CVgames

    Joined:
    Jun 30, 2013
    Posts:
    25
    Very happy to see this thread updated so often :)
     
  21. Pelajesh

    Pelajesh

    Joined:
    Dec 7, 2009
    Posts:
    363
    some notes:
    -while on map view the guy really likes walking backwards - caused by setting the rotation on button release
    -i think it would be good if you could walk diagonally on map when pressing up and right etc at same time.
     
  22. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    @CVGames: Thanks! I try not to overload with updates; that's something that paralyzed me in the past. Besides, no one cares that much if the smallest minutae gets done; people care more about seeing new screenshots or new webplayers, so this time 'round I've focused more on that.

    @Pelajesh: I have no plans to include diagonal movement, because it's more frames to sprite, which takes a good bit of my time (I'm working on boss sprites/animations at the moment, which is no small feat.) I'll file it under 'would be nice', though. As far as the world map issues, that's a known bug caused by my sprite system reimplementation. It's something I'm working on as I go along, but I'm also trying to build content. I totally feel the deadline pressure!
     
  23. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    :p Blehg, you can use the walk left and walk right sprite for diagonal, no extra art needed. Many older games used that, and it works fine for the most part. It only doesn't work in very few situations.

    New screenshot looks good, though the candle particles seem off. They aren't on the center area of the candle at all.
     
  24. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Alright...I'll give it a shot, since I'm working on it anyhow (referring to the world map diagonal direction movement.)

    As far as the torches/candles/whatever go, I'll tighten up the emission sphere so the particles actually appear in/on the candle.

    Great feedback guys, please, keep it up!
     
  25. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 17
    I know no one cares about my engineering, but this week was an important one, because I went back and did a little bug hunting and documenting. First, I finally got the world map animations working once again! Also, I found some other minor glitches that I'm tackling as I go along.

    As far as new features, I'm working on ways to activate/deactivate groups of GameObjects at once, such that I can seal or unseal areas with various trigger actions (e.g. walking into a dialogue trigger, pressing a pressure switch, and other cool things that you'll see only in Evil Castles.)

    No screenshots this week, because it's boring behind-the-scenes stuff.

    Hmm...How about Webplayers?
    After I finish uploading my latest episode of Let's Play Pokemon Gold, I'll be uploading a WIP build.

    On a related note, this week, I'm planning to pump out a couple of webplayer builds as part of my fixing and tuning process. This should comprise the entirety of the July milestone, which is the completion of the plot up to the end of Garlan's arc. This arc will be fairly short.

    Update: Updated Webplayer (7/28/2013)
     
    Last edited: Jul 29, 2013
  26. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    As far as the group enabling/disabling, I'd just set a "Master" game object for the everything in the level that is one group, then cycle through it's children doing the same thing, so just put everything you want to modify as a group as a sub object of the empty master game object. I believe this code should work:
    Code (csharp):
    1.  
    2. public void SetValue(GameObject go, bool value)
    3. {
    4.     go.enabled = value;
    5.     //sets initial parent's value
    6.     //This would be the code that you want to apply to all objects
    7.     //Replace as needed
    8.  
    9.     foreach(Transform child in go.transform)
    10.     {
    11.         SetValue(child.gameObject, value);
    12.         //Sets all levels of children
    13.     }
    14. }
    15.  
    I haven't tested this code, but it should work. Don't remember if you are using c# or not, but that's what that chunk of code is. Hope that helps some. (I'll play through the new webplayer sometime.... if I remember....)

    You would just call the function from another script.
     
  27. Forge Vault

    Forge Vault

    Joined:
    Feb 18, 2012
    Posts:
    214
    To be honest I would just set the group(s) up manually in the scene - would probably be quicker to do and more efficient than coding it. Then just activate/deactivate the parent.
     
  28. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    The reason I would do it progmatically is if he wanted to enable/disable groups based on finding an item.
     
  29. Forge Vault

    Forge Vault

    Joined:
    Feb 18, 2012
    Posts:
    214
    Sorry, I misunderstood what you posted actually - I thought you meant move the objects progmatically in real time into groups, but I see I was wrong.
     
  30. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    :D Not a problem. Everyone's just trying to help out. :D
     
  31. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Indeed! Great ideas.

    A simpler experiment I set up at home is to create a root game object with other behaviors like mesh optimization, which I simply call SetActive(true) or SetActive(false) on (this allows for 1 event influencing n objects at once). My Dialogue GUI communicates with this through a humble GameObject.SendMessage call...

    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections.Generic;
    3.  
    4. public class ActivateConversationObjects : MonoBehaviour
    5. {
    6.   #region Variables / Properties
    7.  
    8.   public bool DebugMode = false;
    9.   public List<GameObject> Objects;
    10.  
    11.   #endregion Variables / Properties
    12.  
    13.   #region Methods
    14.  
    15.   public void ActivateGameObjects()
    16.   {
    17.     foreach(GameObject current in Objects)
    18.         current.SetActive(true);
    19.   }
    20.  
    21.   public void DeactivateGameObjects()
    22.   {
    23.     foreach(GameObject current in Objects)
    24.         current.SetActive(false);
    25.   }
    26.  
    27.   #endregion Methods
    28. }
    I'm going to be testing it out when I get home tonight.

    EDIT: My plan worked, I just had to have a word with my Dialogue GUI, since that's where the magic happens.
     
    Last edited: Jul 30, 2013
  32. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 18
    Real life has a tendency to get disruptive when you least expect it!

    The good news: Garlan's AI is nearly done and working, the Dark Crystal (the final objective of every Evil Castle) has been created, and I've got some plot points added to the game! Also, I've been able to start designing Barbariccia's Evil Castle and Barbariccia herself. She'll be a different kind of boss and dungeon - to even get to her boss chamber, you'll have to go exploring and puzzle-solving. When you fight her, you'll have to do a little quick thinking (sadly, not as in-depth thinking as some of the puzzles I have planned, but she'll be my first puzzle boss. I never said I was a pro at this!)

    The bad news: Garlan's AI is nearly done, not 100% done. That means, still no boss, in a game that wants you to fight three of them. I know, I know, step on Asvarduil! Get movin'! Move it or lose it!

    Webplayer?
    Not yet. :( Workin' on it as I get time.
     
  33. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 19
    The game plows on! While I've hit a roadblock with Garlan's AI, I can't afford to stop now. So, I'm giving Garlan a rest and building the remaining two towns, Manseles and Karikako. Since my town stuff is pretty solid, I can get that at the least out of the way.

    I'm also figuring out cool puzzles for the remaining two Evil Castles, to really make the experience more engaging. Obviously, Garlan's Evil Castle is short and to the point, but the other two are going to be a bit more complex, and take a while. I want gamers who choose to pay for this game to get their money's worth.

    Webz?
    Coming soon to a monitor near you.
     
  34. MarkrosoftGames

    MarkrosoftGames

    Joined:
    Jan 5, 2012
    Posts:
    442
    hey this looks awesome! i never got why people gave links adventure such a hard time, i always loved it. haven't had a chance to play your demo yet but maybe tonight i can. looking forward to seeing the full thing!
     
  35. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 20
    Garlan is proving to be quite the boss! I had to take some time off from building the game to re-evaluate my design of Garlan.

    In true Zelda fashion, I wanted the Garlan fight to include a usage of the Earthbane Gauntlets. Among ideas were Garlan summoning a barrier of breakables while he casted a certain spell, an AI phase where he starts hopping around and trying to Underthrust poor Tim the Knight, and a case where he summons blocks and bombs, and you have to break a block to land a bomb on Garlan.

    When I got to thinking about it, though, none of this is what The Hero's Journey is about; this is not a Zelda game, per se, but an evolution on an old and reviled installation. This is a Side-Scrolling Swordfighter, with items that allow the player to find new ways to grow their powers. The main mechanic of this indie game is the 6-direction swordfighting (yeah, you start off with 4 directions, but you gain the other two through the course of the short plot.)

    So, I've wasted about two weeks of dev time trying to bang a square block into a round hole; taking some time to play with World of Warcraft's Kung-Fu Pandas put everything into perspective (in a way; it also wasted a few more hours of dev time, but let's not linger overlong on that.)

    Lesson: Don't stray too far from your game's core conceit.

    So, I guess there's no webplayer this week, huh?
    Nope.
     
    Last edited: Aug 19, 2013
  36. Caliber-Mengsk

    Caliber-Mengsk

    Joined:
    Mar 24, 2010
    Posts:
    689
    O-o you can fit square pegs (new ideas) into a round hole(original idea).... the whole just has to be larger then the square peg. :p

    By that I mean that you can change some of the things inside your original plan to make it more interesting, just remember that there are still areas around the square peg (new stuff) that has to be filled in (old stuff) to fill the hole entirely.

    Changing one fight to use all these different mechanics isn't necessarily a bad thing, as long as you keep the scope of it smallish. A great example of this is many original NES games. Many of them the entirety of every level consists of very similar bad guys, with the same mechanics, but when they get to a boss, it's nearly completely different.

    Just saying, just cause it's a bit different doesn't mean it has to be a bad thing.
     
  37. Kelde

    Kelde

    Joined:
    Feb 28, 2012
    Posts:
    629
    oh man great to see ur still at it! ive been working fiercly on a mobile game so had to stay away from these forums since im always tempted to post for feedback...and its SECRET!:p

    i was looking for this post a while back and couldnt find it so i got afraid it was long gone. I see web players are still to come so i will be back:D

    great job man
     
  38. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Thanks. Really, other than time investment, Garlan has been the first real stumbling block for this project (I don't count the controls, because those are always nasty.)

    I appreciate the vote of confidence. I've started rewriting Garlan's AI so that I can actually continue this darn project.
     
  39. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 21
    So, my original release date of August 31 is about to fly by, but I've nearly finished the first boss! Pyrrhic victory, much?



    The idea of this boss fight is that Garlan is a legendary Steelguard; he has a ton of health, and going toe to toe with him is an extraordinarily bad idea. However, some of his WMDs - those nasty-looking bombs - are propped up by poorly built breakable blocks. And, you got the Earthbane Gauntlets earlier in his Evil Castle. If only you could do something silly like drop one of those on him...

    Beyond Garlan
    I've also been working on some NPCs in Manseles, the second town of the game. Writing text takes a while, and refining text to live in the '2-second' rule adds a bit more time (and spice) to the task! But it's a fulfilling goal.

    Sounds cool! Can we play?
    You sure can now. Just bear in mind: houses in Manseles do not work, and Garlan will attack immediately when you face him in his Evil Castle! That is a bug I am working on fixing.
     
    Last edited: Sep 1, 2013
  40. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Updated the webplayer - you can see what I have up to this point now.
     
  41. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 22
    So, I kept my promise and got a webplayer out on Saturday with the foundations of Manseles, and a (bugged) version of the boss fight against Garlan. Not perfect, I know, but I'm keeping the forward momentum going.

    $sidescroller-32.png
    Pictured here: not everyone reacts to news of Evil Lords the same way. A homeowner has made a simple, but effective modification, to ensure that an Evil Lord can't get to the bedroom where his wife is, no matter what ancient magical artifacts they might have in their possession.

    I also gave myself a retrospective of everything that's happened up to this point; it's not a post-mortem as this project isn't finished yet, but rather a look at how I got to where I am, including what worked, what didn't, and what I can do different. Since we're all developers here, I'll share.

    What Worked over the last 6 Months
    • Buying assets from the Asset Store: This saved me so much time.
    • Iterating Features: This allowed me to get relatively solid features locked down in the game, so I spend relatively little time bug-hunting.
    • Version Control/Kanban Board: Management tools that help me A) backup my stuff, and B) know where I am in the project.
    • 2D: This project taught me I work quicker in 2D than 3D.


    What Didn't Work over the last 6 months
    • Controls: I've stubbed my toes on the control system for my game literally every other week, which has eaten a lot of my limited dev time.
    • Boss AI: I lost a month to Garlan, before I figured out that a boss at their simplest is an elite mook with more event hooks attached to them.
    • Kanban Overload: While a way to track what I've done/need to do is good, it can also overload you; I haven't looked at mine in a while because of this.
    • Sprite Animation: The code has some 'slight' problems (dosen't fulfill my original lightweight design), but actually animating a 2D sprite hasn't gone so well, because of the tools I was(n't) using. Good thing I recently found out about Pencil2D.
    • Asvarduil Project GUI System: My wrappers for Unity GUI allow me to build GUIs really quickly, but my design hasn't really supported relative scaling of elements, or relative anchored positioning of elements, which is a big deal given that I want to push to as many platforms as possible.

    Going Forward?
    • Use Pencil2D to animate, and Ultimate Paint for creating still 2D objects.
    • KISS applies to bosses, too!
    • Keep iterating features until they are sufficient, as this is the quickest way to get things done.

    Informational. What can I play?
    I've uploaded my August 31st webplayer, which can be played from the original post. This week, I'm planning to flesh out the rest of Manseles, resolve the few remaining bugs with Garlan, and get started on the story events surrounding Lady Barbariccia.
     
    Last edited: Sep 2, 2013
  42. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 23
    Building a village is hard, but fun and rewarding work.

    $sidescroller-33.png
    Pictured Here: The snazzy Town Center in Manseles.

    This week, my content-building efforts were focused on fleshing out the Town of Manseles, on the western border of Aylea. This town is a bit larger than Dunamne, because it's Aylea's major point of contact with the rest of the world. Also, because of its diplomatic nature, the Ayleans have conformed to the expectations of other societies, and not integrated the Inn into their Town Center.

    Other things I've been working on include some minor bugfixes that crept into my last demo (not all are fixed just yet, sadly), and the groundwork for the second Evil Castle and the run up to meeting Lady Barbariccia, the second Evil Lord.

    Dude, sounds good! Can I try it out?
    Why, yes, you can!
     
  43. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Not a status update (yet, that's coming tomorrow), but...

    I've got a brand new site for the game that I'm working on! You can find it here. I'm still working on a few things such as the blog, and voluntary donations for the game.

    Tomorrow's status update will be pretty fun. I've got a few new things that I'm really proud to show off.
     
  44. Sooshi

    Sooshi

    Joined:
    Jul 21, 2013
    Posts:
    32
    im really liking this game Asvarduil, I think you have a great gameplay concept.
     
  45. Iceblitzyt

    Iceblitzyt

    Joined:
    Sep 27, 2012
    Posts:
    52
    I liked this very much, one thing i thing i think you need to change though is the fact you have music set to reset on levels, I noticed when i was in one of you're towns when you entered a house the outside music stopped then reset on entry. I suggest you make a music manager that doesn't get deleted onload to different areas and just set it to play tracks when a trigger is set. for example you could have 20 tracks and say when number 1 is called play 1 and when you move onto the land change to 2 etc etc. But apart from that, I love it! <3
     
  46. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Why, thank you! It's still very much in progress, though.

    Good suggestion! I'll see what I can do.

    EDIT: @Iceblitzyt - One thing in today's update (just to spoil it, since it's a minor thing), is that I've created a chart for being in a house, but I'll still take a look at the Maestro (that's what my music manager is called), to see if I can't make it such that the same tune continues across scenes.
     
    Last edited: Sep 15, 2013
  47. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 24 Project Site
    This has been a huge week for The Hero's Journey! I've been working on some improved special effects, a brand new enemy you'll see a lot of in Barbariccia's Evil Castle, and some bugfixes to previous problems.

    Teleghast for you, sir!
    First things first, I would like you to meet the new enemy, the Teleghast!


    Pictured here: the most annoying ghost you'll ever want to bust.

    The Teleghast will teleport around to various points, and fire a Blue Magic projectile at you. At first, you can't do a lot about the blue magic, until you find a certain powerup. Of course, the Teleghasts are vulnerable to being stabbed; they do stick around to watch their bullet fly away for a short time, but will swiftly teleport away.

    The Blue Magic projectile is something I'm especially proud of! It combines legacy particles, existing scripts, and a custom tag to make for an effect that I didn't have to sprite. This was a positive particle experience, and is one I may go back and apply to the Shototo's particle. Only, instead of making that one a flashy bit of Blue Magic, it'll probably be a big ball of dust that can injure Tim for half a heart.

    Bugfixes Ahoy!
    Another thing I did this week was fix various bugs that have crept in over time.

    • NPCs face you as you pass them, once again.
    • Also the Shototo's AI was broken, making it do absolutely nothing; this has been remedied.
    • I added some interior music to the houses, as it was found to be a bit distracting that the Town music would restart once you entered a house; it was felt that, true to the inspiration for this game, that house interiors should have their own music. At some point I intend to go back to the Maestro audio controller and do something with it such that the music system lives across scenes, but that's too much work as it is; I've already blown my time budget once, I need to get this game finished!

    More bugfixes, and features, and content, next week!

    Speaking of, webplayer?
    I never thought you'd ask.

    Note that you'll only see the fruits of the bugfixes in this build; the Teleghasts will come into play sometime this week, as I flesh out the next plot events, and start on Barbariccia's Evil Castle.
     
  48. Kelde

    Kelde

    Joined:
    Feb 28, 2012
    Posts:
    629
    still going strong, very cool! was looking for this
     
  49. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Yeah, still going strong. Sadly my schedule on it slipped a tad - sorry about that - but, the result will be a better game. I've released half-done games before, and it's not an experience I'd like to repeat for anyone. So, I'm investing the extra time to do this thing right.
     
  50. AndrewGrayGames

    AndrewGrayGames

    Joined:
    Nov 19, 2009
    Posts:
    3,821
    Week 25 Project Site
    This week, some less-glamorous, but totally necessary work was done on the game.

    I hereby grant you a title.
    I've been working on the startup sequence of the game. By 'startup sequence', I'm referring to the startup scene, that prepares everything, as well as the Title Screen which is the player's initial access point to the game.

    One of the lessons learned earlier in my dev cycle is that my GUI needs to scale well to the aspect ratio of the screen the player is playing on; sure, I could attempt to force the player to play my game in 640x480 resolution, but what about people with widescreen? Sadly, it's a problem I'm still solving; while my buttons, sliders, checkboxes, labels, and various other GUI controls all work as they 'should', images, which form the backdrops for most of these controls are generally just images, and images aren't behaving in my relative setup.

    I've been saved!
    The other thing I've been working on is the save and load system. Not glamorous, filled with cool visual effects, but it's a necessity - people have to stop playing my game sometime, even as short as my game is. Fortunately, my setup allows me to keep track of what the player does and does not have; all I'm working on are good ways to save the file correctly under the correct circumstances; Android devices will require special permissions, PC can save to a specific location, webplayer can't save at all thanks to Unity's security model for webplayer.

    When development gets significantly closer to completion, I'll be asking for volunteers to test the Save/Load system. Until then, just realize that I've got it in and am testing it in-house.

    Speaking of, player?
    No, not this week; I'm working on the back end concerns, and making sure my preview build can show off the title screen without trying to do things that can't be done.
     
    Last edited: Sep 22, 2013