Search Unity

Trial by Viking - Out today on Steam!

Discussion in 'Works In Progress' started by dqhendricks, Aug 7, 2014.

  1. Chemaxmax

    Chemaxmax

    Joined:
    Jan 27, 2014
    Posts:
    204
    The flying dragon is awesome :eek: Did you animate it from scratch or did you use an asset from the asset store?
     
    dqhendricks likes this.
  2. Tarey

    Tarey

    Joined:
    Mar 19, 2015
    Posts:
    6
    This looks so promising. Just want to ask, will this be on mobile or PC platform?
     
    dqhendricks likes this.
  3. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Thanks Ivan! I have been working on this since December of 2013, so about 15-16 months now. I do everything except the artwork and music on this project. I have been working with a hand full of talented freelance artists who do great work for various aspects of the game however. They are spread around the world, so we have only worked together via the internet. I think the only person I will be working with in person for this project is Erik Braa, the voice actor who is doing the narration. He lives right near me.
     
    Ivanskodje likes this.
  4. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    PM me if you are interested in licensing it for your own project.
     
    Chemaxmax likes this.
  5. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #28:

    Been working on making the dynamic lighting a bit more dramatic with the background elements. I've also been playing around with other shaders that make the effect even more dramatic, so there may be another update on this soon.

     
    Last edited: Apr 2, 2015
  6. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Thanks Tarey! It will be available for both eventually! Win/Mac/Linux will come first, around October. Then possibly consoles, and after that mobile.
     
  7. Ivanskodje

    Ivanskodje

    Joined:
    Mar 29, 2015
    Posts:
    57
    I have recently begun working with Unity (A few years programming experience, but none with actual game development) and love to be able to know more of your work process :)

    Where do you the freelance artists from? How much time would you say you spend on an average each week on the project? What motivated you to start this project? Any games you have taken inspiration from? :D
     
    dqhendricks likes this.
  8. Cherno

    Cherno

    Joined:
    Apr 7, 2013
    Posts:
    513
    Dynamic lighting looks good but often tiems it leads to levels that are too dark, I have the same problem in my top-down dungeon crawler. Visibility and hence, playability should always go before realism :) But it's always good to experiment!

    I'd like to see bigger GIFs, it's hard to see anything on those tiny images, maybe about twice as large? :)
     
    dqhendricks and Ivanskodje like this.
  9. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    >Where do you the freelance artists from?

    I find freelance artists all over the place. Twitter, at game conferences, trawling the internet, freelance sites like odesk.com and freelancer.com. I like to look through a ton of portfolios, pick a few I like, then reach out to them with a smaller test project, to see how they do. If I don't like their work, or there are other problems, I move on. If I find an artists that I love to work with, I hold on to that relationship, and keep working with them for future projects when their skills fit what I need. I typically like to have all my freelance work done through a freelance site, because they handle most of the paperwork.

    >How much time would you say you spend on an average each week on the project?

    This is really hard to say. Some weeks can be as much as 100 hours, while others are as little as 20 hours. It depends on real life, but there's always some time spent on it.

    >What motivated you to start this project?

    I've been experimenting with game making since I was a teenager. I've made dozens of Flash games. One time I got really in to Nintendo emulators, and I ended up making multiplayer Nintendo game, which I learned a bit of assembly code to do. We would play it four player on an NES emulator loaded on to a Dreamcast. I've made some other PC and phone games as well. I think the real thing that motivates me is that I enjoy the work. It doesn't feel like working to me. Like, the same feeling I got as a kid playing games, is the feeling I get now from making games.

    Just make sure not to be primarily driven by money, because 99% of indie devs make little to no money.

    >Any games you have taken inspiration from?

    That's a long list! Every game I've ever played! But here are some ones you may notice: Ghosts and Goblins, Cut the Rope, Castlevania, Rogue Legacy, Metroid, Mario, Zelda, Final Fantasy, and the Telltale games. One of my big inspirations for this game is also the television show Vikings, on the History channel in the US. That show sort of started my whole viking kick for this game.
     
    Last edited: Apr 3, 2015
    Ivanskodje likes this.
  10. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    I think on the larger sized screens, the darkness level doesn't hurt the playability. Also, there is something that happens when I make these gifs that makes everything a little bit darker than the actual game. Something about screen capturing on Apple computers I suspect. I would like to put huge gifs on here, but it leads to really long load times for the whole blog, and some people get annoyed when the file sizes are too large. These are already in the 3-6 MB each range. I should have some youtube videos soon however that I will link here. They have much better brightness and size, not to mention sounds!
     
  11. Ivanskodje

    Ivanskodje

    Joined:
    Mar 29, 2015
    Posts:
    57
    Well said! :)

    I can totally relate to it not feeling like work - I can work for hours on end (given a surplus supply of food, bathroom access and drinking water/energy drinks) just programming and trying to solve problems and challenges that arises :)
     
    dqhendricks likes this.
  12. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #29:

    Today I would like to talk about player tracking flyers. This basically applies to any sort of player tracking where the enemy can move in any direction.

    In essence, the idea is simple enough. Move the enemy towards the player's position. There are a few things you can do to improve on this however.

    You can give the enemy a direction, a target direction (toward the player's position), and a maximum turning speed. This gives the enemy more of a homing missile movement feel, where they have actual momentum and cannot just change course at full speed on a dime. It's much more interesting to battle against as well.

    You also have to worry about obstacles like walls. With just the basic code (following the player position), your enemy will run up against walls while aiming towards the player, making it extremely easy for the player to evade it. You can do some sort of path finding, but I don't really think that's fair, unless we are assuming the enemy is tracking the player using hearing alone at any distance with walls in between. Instead, I like to use line of sight to set the enemy's target. Line casting to find obstacles between the enemy and the player can be pretty expensive processing-wise, so I run it on a timer that only executes every 0.15 seconds or more, with a randomized lead time so the line casts for all of the enemies do not all fire on the same frame. The effect is, the enemy only sets it's target position when it can actually see the player (has a clear line of sight). This way the enemy chases the last position it saw the player at, allowing it to follow the player around corners.

    Here is a gif comparing the flying enemy tracking the player's current position, versus having the enemy tracking the player's last "seen" position:

     
  13. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #30:

    Due to popular demand, I have added a melee ability. If you hold still and press up or down while attacking, you can do a high or low melee attack. This, along with the dash ability, helps a lot when you are trying to get a small critter, too low for throwing axes.

     
    Chemaxmax likes this.
  14. Cherno

    Cherno

    Joined:
    Apr 7, 2013
    Posts:
    513
    Smooth animation. Looks like the timing needs to be right to hit an enemy due to the delay.

    If you didn't already know about it, Heimdall (1+2) ir another viking game from the early 90s on the Amiga and other platforms. It was by Core design and you created a party of viking warriors, rune mages etc. and visited a lot of small islands on a map by sailing there by longboat. Once arrived, you saw the action from an isometric perspectice and wandered around mostly walking up to enemies to fight them in a quicktime-style combat, and searching for treasure and keys. Graphics were quite amazing, with a slight comic style Core was known for. There were also some mini-games where you could gain gold I think, where you had to throw axes at wooden plank a poor guy or girl was bound to with his or head sticking through, and there was a hunt for wild boars as well IIRC (might have been the Asterix & Obelix game, though).






    Hope you don't mind posting those screenshots here :) Its always nice to have inspiration!
     
  15. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Nice! The graphics on that are great. I don't mind at all. The more inspiration the better. I had been thinking about some bonus challenge levels, sort of like that. Might be cool.

    Yeah, I've been considering double timing those animations. They look better slow, but take a whole second to complete. I think 0.5 seconds is a much better attack speed. It's looks pretty cool with the axes that have particles too, with trails that follow the axe head as he strikes.
     
  16. Chemaxmax

    Chemaxmax

    Joined:
    Jan 27, 2014
    Posts:
    204
    I'm interested in how you do the flying enemy pathfinding, the one that avoid obstacles. You said that the enemy chases the last position it saw the player at, so if it doesn't see the player when it reachs that position, What happen? Does it stop on that position?

    This is a great feature! This reminds my game. Initially, there were only ranged weapons, but we added melee attacks after a while to make the playability awesome!
     
    Last edited: Apr 16, 2015
  17. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    It depends on the type of enemy. If it gets to the last position that it saw the player at, and cannot find the player, it may stop and wait there for the player, it may switch to a patrolling mode, or it may navigate back to its starting position.

    Yeah! I like the melee a lot, but it definitely makes things more complicated for any mobile versions!

    I'm going to make a post about cutscenes next. I used to do cutscenes in a pretty terrible giant state machine, which was very hard to edit. Now I use a bunch of coroutines in a helper class to make a cutscene a nice linear script that's easy to edit.
     
    Last edited: Apr 21, 2015
    Chemaxmax likes this.
  18. infinitypbr

    infinitypbr

    Joined:
    Nov 28, 2012
    Posts:
    2,983
    This looks cool.
     
    dqhendricks likes this.
  19. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Thanks sfbaystudios! I'm from the bay area myself!
     
    Last edited: Apr 21, 2015
    infinitypbr likes this.
  20. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #31:

    I wanted to talk a little bit about how I do cutscenes using the game engine. The cutscenes move the actors around the screen according to a script. It may include dialog, position movements, rotations, following with an offset, and most of these with easing options. Here's a sample of what a piece of one might look like:



    I used to use a giant state machine to handle this, which was very difficult to edit. Now I use a helper class with a bunch of coroutines to handle each of the movements, then just put yields in to wait for their completion. Yields basically wait, and resume the code after a certain length of time. Coroutines are like functions, except the calling code does not wait for them to complete before continuing.

    This way I can stagger movements in any way I like. I can start a position change on an object that occurs over the course of 2.0 seconds, then wait until 0.5 seconds in to that movement, then start a rotation change on that same object that occurs over 1.0 seconds. The rotation movement will complete before the position movement finishes, because this is all going on at the same time. It makes it really easy to make complex synchronous movements in one big linear script.

    The helper class I created to move things around the screen is full of functions that look like this:



    It lerps over a period of time. It can ease in, out, or in and out if needed. So you can imagine the helper class has functions for rotations, beziers, fades in and out, music changes. Basically everything that I'm going to be using in cutscenes over and over again (Except for dialog, which is handled in a separate class). For dialog, the main cutscene script can choose to wait until the player has clicked/closed the dialog window before continuing.

    The result is a fairly easy to read linear script (sorry for the lack of comments):



    You could take this a step further, and make it run off of a text file full of text instructions that the class decodes into actual instructions for the cutscene. Something like that might be useful if you have a non-coder scripting your cutscenes.

    @0xlastlifegames
     
    Last edited: Apr 21, 2015
    Chemaxmax likes this.
  21. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #32:

    Have been working on the melee attacks a bit. They are now all one button, and you can combo your attacks with increasing damage. A little bounce back on the hits feels really good, but it does have the tendency to knock you off of small platforms, so I'm not sure exactly what to do yet. I'll keep tweaking this until the end.

     
  22. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #33:

    I have ben working on redoing the lighting and adding lightmaps to the game. I like the way it's turning out. Here's a few new screenshots.











     
  23. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #34:

    I think I finally got the shield belt how I wanted it. What do you think?

    I'm using Sin and Cos to find the position at distance and angle, so that I can rotate the balls.Then I use another Sin to modify the distance for that formula, making the shield balls pulse in and out.

     
    Last edited: May 31, 2015
  24. Cherno

    Cherno

    Joined:
    Apr 7, 2013
    Posts:
    513
    Cool effect. Reminds me of the old Bitmap Brothers game "Gods".
    Question is: Do the shields' positions correspond to their shielding effect, or does the shield-radius stay the same around the character?
    Also, The sprites themselves are very bright compared to the rest, dunno if that's intended or not.
     
    dqhendricks likes this.
  25. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    The shield positions definitely matter. Each shield ball has its own hit sphere, so when it hits an enemy, it bursts, hurting the enemy and knocking it back a bit. If the shield ball hits a projectile, it will destroy the projectile before it can damage the player.

    there is a dynamic point light that follows the player around, making the player a bit brighter, as well as whatever he gets close to. You can see the statues in the background shift in brightness as the player runs by them. I think it helps to define the background from the interactive foreground objects a bit. There are other areas where the background is more well lit however.
     
  26. Cherno

    Cherno

    Joined:
    Apr 7, 2013
    Posts:
    513
    I meant the brightness of the shield spheres :)
     
  27. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Ah, yeah I see. They are bright, but I think they are made out of some sort of glowing magic energy or something, so maybe it's okay. It's hard to se with such a small pic, but they kind of look like those plasma ball things they sell as toys, where you touch the ball and the plasma attracts to your hand.
     
  28. ambitious_sound

    ambitious_sound

    Joined:
    Aug 10, 2011
    Posts:
    31
    have you got your inspiration from "Gods" game from the amiga?




    in any case looks awesome.
     
    dqhendricks likes this.
  29. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    No, I didn't know about Gods until about the middle of this project. You aren't the first to mention it in comparison. People seem to like it though, so I take that as a good sign!
     
  30. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #35:

    Kara has always had this owl friend that follows her around named Bregoa. Sometimes during the cutscenes, and in game dialog, she will grab onto Bregoa's claws and fly away with him (or is it a her? i don't know). I made Kara a playable character for a few of the levels recently. She moves similarly to the main character, but instead of throwing axes, she has some very powerful double sword melee attacks. I had to give her a secondary action as well since you can't access your normal inventory during these Kara levels. I thought it would make sense to go ahead and make Bregoa her second action. An attack owl basically.

    There is a level where you as the main character get to ride Bregoa like a zipline, but they are on predetermined paths. I think it would be cool to someday give the player full control over using the owl like a hang glider. Perhaps you hold down jump, and the owl will swoop you and let you glide for a moment, similar to how the princess in Super Mario Brothers 2 works. I may never be able to get that into this game depending on time, but if the game does well, maybe there will be a sequel.

     
  31. JimiThePanda

    JimiThePanda

    Joined:
    Dec 22, 2014
    Posts:
    11
    I've just now noticed this thread, don't know how I missed it before as I'm constantly lurking...

    Anyway... XD This looks great so far! Do you have a target date for release?
     
    dqhendricks likes this.
  32. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Well thank you, and I'm glad you found it! If all things go well, I am targeting an October release for PC/Mac/Linux. Other platforms will come after that as fast as I can port and test. I will be running a pretty small Kickstarter next month though to (hopefully) fund the voice over narration, and some original music. I will release some trailerish video at the same time, and possibly an extended demo to writer/streamer/let's player types.

    if anyone wants a ping when it gets released, there's some social media and other links in the signature down below. :)
     
  33. Pashbee

    Pashbee

    Joined:
    May 23, 2013
    Posts:
    4
    Love the look of this. Exactly my type of game!
     
    dqhendricks likes this.
  34. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Thanks Pashbee! I'm glad you like it!
     
  35. Lachadonan

    Lachadonan

    Joined:
    Aug 8, 2009
    Posts:
    358
    Just had to say, very cool!
     
    dqhendricks likes this.
  36. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I like the idea to have another character we can control with different gameplay.

    How di you managed lightmaps with 3D tiles ? Did you use UT5 GI and enlighten ?
     
    dqhendricks likes this.
  37. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Thanks Lachadonan! I've been working really hard on this so that means a lot!
     
  38. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Hi zen! I do too! I like like the idea of changing up the game play fundamentals for a level here and there to keep it interesting, but I may take it a step further in my next game, where different characters you choose will have different game play the whole way through.

    I didn't use anything special for lightmaps, just Unity's Beast. I did however skip lightmapping the actual tiles. I only used lightmaps on the props/background elements. This helps keep the file size down a bit. They aren't really needed for the tiles in my case either, since most of the lights do not reach the camera facing side of them in the game. There is the one big dynamic point light that follows the player around however that does reach the tiles, which adds a kind of cool effect.
     
  39. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Cool.

    Changing gameplay is always good in such games. Like god of War you could have some levels where you must climb walls or another where you drive something or a shoot em up.

    Do you have some demo planned soon ?
     
    dqhendricks likes this.
  40. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Yeah but can't release until the Kickstarter, and I keep lagging on that xD I'm going to start drafting it this weekend, so hopefully soon.
     
    zenGarden likes this.
  41. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #36:

    i think i found the mathematical sweet spot for these black hole mechanics. somehow both annoying and fun xD

    this is basically just a depreciating velocity that gets stronger near the middle. you get your double jump back if you hit the center of the holes so you don't get trapped. science!

     
  42. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #37:

    i've been experimenting with bouncy fire balls. the green ones bounce off walls, and are also baseball compatible. I need to add more of these to other parts of the game because they are so fun xD

    by the way, you can also follow on facebook or twitter. I tend to post extra stuff in those places if you are interested.

     
    zenGarden likes this.
  43. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Great work.
    I have a question:
    Do you have multiple ennemies fireballs colliding each other or multiple ennemies fireball colliding with some ennemies walking ? How od you manage to display them on camera if all is 3D ?
     
  44. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Hi Zen! The fireballs have no physical colliders, only a trigger collider, so I can let them pass through objects with certain tags if I need to.

    Many of the enemy weapons will not harm other enemies, except for bombs and green fireball that you can deflect back at them. I kind of had to make it this way because I didn't want them killing each other. And enemy projectiles will pass right through other enemy weapon objects.
     
    Last edited: Jul 30, 2015
  45. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #38:

    i've been working on making the wall sliding and wall jumping more fun lately. I've added a few new animations, particles, and tweaks to the code. what do you think so far?

     
  46. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #39:



    https://www.kickstarter.com/projects/lastlifegames/trial-by-viking

    http://steamcommunity.com/sharedfiles/filedetails/?id=499233468

    I have a few big announcements to make. First, the Trial by Viking KickStarter and Steam Greenlight Campaigns just went live today. If you'd like to reserve a copy of the game today, backing the KickStarter might be the best way. Second, I have release the first major video of the game. There is also a link to the Vimeo HD version on the top of the KickStarter. Thank you all for all of your support so far. I have been working very hard on this, so any help in spreading the word is hugely appreciated!

    Cheers,
    Dustin
     
    Manny Calavera likes this.
  47. Aiursrage2k

    Aiursrage2k

    Joined:
    Nov 1, 2009
    Posts:
    4,833
    Wow good luck. Looks like youll easier make the kickstarter goal Id guess

    130 levels - 27 bosses holy crap
     
  48. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Thanks Aiursrage2k! A lot of hard work went in to this, so your words mean a lot! We had a great first day, but I'm trying not to get too excited yet. First days are always the best, and there is still a lot of ground to cover. We will see!
     
  49. dqhendricks

    dqhendricks

    Joined:
    Aug 26, 2013
    Posts:
    114
    Update #40:

    A new enemy I have been working on. This guy is real fun. Wait for it...



    By the way, Trial by Viking is currently running KickStarter and Steam Greenlight campaigns. Any help you can lend is hugely appreciated!

    Thank you!
    Dustin
     
    Manny Calavera likes this.
  50. Testfor

    Testfor

    Joined:
    Jan 22, 2015
    Posts:
    55
    Best of the luck with the kickstarter! The project looks amazing.
     
unityunity