D: Archer9000
Heya,
Excited for this challenge! here's my progress so far:
Final Comp builds
web
PC download
Keys: A and D, although later I plan to let the player choose whatever 2 keys they want.
A = move left
D = move right
Hold D , Hold A to draw .. release D to shoot
A+D when full bar to charge MEGA Mind Blasting power thing
Hold A tap D to Jump, tap D again in air to double Jump
double tap in air to Dash
Premise - Protect the Princess at all costs!
For the people who like videos instead of downloading crappy prototypes and stuff.
This is when I had the mechanic at it's bare bones
This is a 20 second video of the comp build:
This is the concept I'm going for:
heavily inspired by Dan Paladins work.
I want to add flying enemies so to make use of the jump n shoot mechanic, like megaman... jump n shoot, jump n shoot!
Originally I was going to make a 4 player capture the flag, but soon after my code skills failing me right as I tried to implement player 2 (reverse controls) things just went pear shaped.
So going for a wave like. I actually remember playing a flash game similar to this a while back.
To add:
Dragons and fire and more fire
Knights (can take multiple hits depending where you hit them)
lives
defense state where you set up an archer on the tower who then constantly shoots in intervals ( you get to change his range everytime you die )
player character options when you die you return as other dudes (melee, shield and sword)
and if I get this far then that's awesome.
other ideas exten......
Excited for this challenge! here's my progress so far:
Final Comp builds
web
PC download
Keys: A and D, although later I plan to let the player choose whatever 2 keys they want.
A = move left
D = move right
Hold D , Hold A to draw .. release D to shoot
A+D when full bar to charge MEGA Mind Blasting power thing
Hold A tap D to Jump, tap D again in air to double Jump
double tap in air to Dash
Premise - Protect the Princess at all costs!
For the people who like videos instead of downloading crappy prototypes and stuff.
This is when I had the mechanic at it's bare bones
This is a 20 second video of the comp build:
This is the concept I'm going for:
heavily inspired by Dan Paladins work.
I want to add flying enemies so to make use of the jump n shoot mechanic, like megaman... jump n shoot, jump n shoot!
Originally I was going to make a 4 player capture the flag, but soon after my code skills failing me right as I tried to implement player 2 (reverse controls) things just went pear shaped.
So going for a wave like. I actually remember playing a flash game similar to this a while back.
To add:
Dragons and fire and more fire
Knights (can take multiple hits depending where you hit them)
lives
defense state where you set up an archer on the tower who then constantly shoots in intervals ( you get to change his range everytime you die )
player character options when you die you return as other dudes (melee, shield and sword)
and if I get this far then that's awesome.
other ideas exten......
Comments
The speed lends itself to an almost qwop like frenzy with the mashy controls. Could be frustratingly fun :)
Firstly, thanks for posting a video! I think that it should be encouraged in the community. Sometimes I'm super curious about a prototype, but don't have time to play it.
Secondly, why no web build? Its super easy just to drop one in the public directory of your dropbox!
Third, I really love this idea!
I'm not sure I fully understand the control scheme though. My understanding is A to move back, B to move forward, BA to jump, and AB to to charge and fire an arrow. Is that correct? The reason I'm a bit confused is that the charge time in the video is much slower than when I play, where its almost instant. Could it be that the charge timer is tied to the frame rate?
With regard the aiming mechanic, I suggest emphasizing the arc of arrows more, similar to the bow in Trine. This will allow the player to be more selective of which enemy they want to target, not just the one in front.
Other ideas:
-Enemies who are weaker to being hit at specific angles.
-Rocks that deflect arrows allowing players to hit enemies from behind, and larger enemies below.
-Special arrows that form barriers if they hit the ground at a vertical enough angle.
-Enemies occasionally drop pickups that the player either needs to collect or hit with an arrow.
This could be such a fun party game if you drop some more players in! You only need 2 buttons per player so you could probably fit 3 players on the keyboard and one on the mouse! :P I find the thought of four burly knights trying to protect one princess harder than each other pretty amusing.
@Merrik - I'm not totally sold on the higher arc. selectively shooting dudes like that doesn't really seem like it enhances the game play since you can already do that by jumping then shooting, something that I want to try encourage more with other types of enemies.
I could also totally see this with more players! we played TowerFall the other day and it was amazing! not that this game compares anything to that, but it would be interesting to see how it plays, not sure if I'm going to add multiplayer in the comp version, but definitely something I'll look at if I carry on deving.
I can also get behind the pickups, maybe I'll use that to help get into the superstate.
I had trouble animating the little sprites so going for a slightly higher resolution there, so I can articulate bow drawing properly. I'm thinking that the animation of the draw will just completely replace the power bar arrow thing.
I've added Dragons and fireballs! this is definitely the fun part, I'm not sold on the wave thing.
Also added a super state which you enter after gaining charge ( left and right buttons together to charge ) Thinking that when in this state you'll be able to do super stuff, maybe incorporating @Merrik's idea of pickup things that float in the air for a time and if you hit them they charge the super bar?
Superstate will allow you to shoot multi arrows or something all I know is that there should be lighting and a darkening of the skies as heavy clouds roll in while you getting engulfed in this electric power! All goats howl at this point :)
Main problem I think the game has is that it gets boring quickly once you've got the controls down (probably even faster if you can't get them heh)
I've updated the first post with a dropbox web build as requested.
Please comment on controls snappiness or lack thereof, got 24 days left not sure If I'm going to be able to implement everything, but I really want to get something for the long game loop so suggestions there are most welcome.
still to do:
- enemy sprites + animations
- enemy variants
- super basic start menu for play, moves, sound and quit
- super state behavior
- sound/music
- juice - really want to try an explosion effect using normals to distort the background (think someone said it was called a grab pass?
- goats
thinking of adding:- a more different double jump animation, maybe a rolly thing
- some more dragon attacks, wave like shots - some that require timing on double jumps to pass
- collectables that charge the super bar
- dash move in either direction by double tapping
problems- half pixel rendering? the pixels aren't always square.s
cool thanks for reading, thanks for playing!I think the arc idea is less fun than jumping and shooting, but I'd recommend giving the arrows a longer charge time. This would be super awesome if you also made the character fall slower while charging an arrow, matrix robin hood! Extra super bonus juicy points for putting a special marker on the arrow charge bar that moved around and if you released on it directly, you'd get a special fire shot that did extra damage and added fire to the ground if it hit (or something). If you had full super, a "notch shot" like that could fire a barrage or arrows down and outwards from the player, kinda like a laser going from under the character to straight ahead.
I enjoyed the waves and the dodging fireballs a lot, but I never got past wave 3 :(
Added the animated state for jump shooting and the first version of the background environment. Really enjoying the quick iteration on the sprites in 2d Toolkit, no having to rebuilding the atlas all the time, just save in photoshop and pop back into unity to see if it's working, magical behind the scenes atlas updating ftw!
Fixed the framerate dependency thing.
Updated first post with the v4 web build and combo keys.
Here's the character and style I was thinking of before I made the concept in the first post.
I was also a little confused as to what the progress bar at the bottom of the screen actually denoted, but I see that's yet to be implemented.
Not too shabby at all! Keen to see where you take this.
@Gazza_N thanks for playing :) yeah I'm not sure on the one direction thing either, thinking of making it a bi-directional thing after the comp with other controls and maybe add Merriks suggestion of multiplayer.
Got some things added, as well as some.. ahem unexpected features (read bugs) alas I find myself getting sucked in and playing to see if I can beat my highest wave ( 7 ). The damn fire wave is too strong! I think that if you can anticipate it coming it will be easier so going to make the dragon(redBall) fly down and stomp the ground just before the wave.
tips:
-Collect crates to regain castle health but leave them on the ground for when you need them.
- fight the dragon as close up as possible making the fireball vectors aim down and not at the castle, be careful of the wave, watch for 2 fireballs and get ready to run away for the wave, rinse repeat.
- when you have a the 1st long bar at the bottom full Hold down A and D to charge up and make everything DIE!
Thinking I need to add health bars to the mobs, dragon and castle.
Updated build in first post.
Game now features the not so fearsome dragon of 9000 lives
1 step forward, 2 bugs back.
The dragons state doesn't seem to want to reset after you die and then respawn using the menu, but should work fine if you refresh the page, definitely need to get that sorted out.
Also the crates misbehaving. Sometimes they work sometimes they don't but here's what I got:
I'm setting the collider to be a trigger if its position is < 1 and its velocity is == 0 this is after the bounce happens. If anyone can suggest a better way I can handle logic here that would be awesome, because one of the other things happening is that the crate will stop in the air sometimes even though the logic is guarded with the < 1? on the pos.y
I've fixed some things that were broken, but please let me know if you get a bug not mentioned. I'm going to try my best to get it as bug free before the competition deadline.
I feel like the mobs are lame in comparison to the Dragon, there's something that's not feeling that "fun" about them just yet?
lessons learned:
1. Prioritize time spent properly. UI doesn't take preference over game breaking bugs!
I spent way to long trying to do UI designs... why... what a waste of time... anyway.
2. Don't start using new tools mid way through development.
Found an amazing pixel pushing program called Pro Motion my main reason for wanting to use it is because of it's animation tools, but it has a bunch of cool things in it. Totally recommend it for anyone doing pixel art.
Time is running out but I want to do so much more! Including some secret princess stuff.
music is stand in, I'm searching for medievil chiptune tracks
It is really baffling trying to reproduce a combination of keystrokes that would let me jump up high enough to hit the dragon...
When the compo is finished, you should try revert to a normal control scheme to see how much better the game would feel.
It has potential, and I love the pixel art, very cool little animations!
@Nitrogen Thanks for playing man! I did notice that at the meetup when I was watching guys play that they were having a hard time getting the jump and shoot working, it's something that I'm not sure if it just takes a bit getting used to the controls, but it would be interesting to see how to plays with other control schemes too. I'm also going to see what it feels like on a touch device with touching either side of the screen.
I've put in the first round of sound which I think adds a lot to the game, the sound of arrows pew pewing from your bow in the air is so satisfying! Struggling to find uptempo medieval like chiptune which is really what I wanted but seems like something that would have to be custom made, so not going to try to much harder to find it, and will spend the rest of the comp time trying to fix all last bugs and implementing more gameplay stuff. Would really like to see if I can put dudes on fire! When you get the dragon to shoot fireballs at the ground they spawn patches of fire, which is where I want to add the burning of mobs, if they walk through it. I had too much fun learning how to make animated particle strips, so everything has particles!
One of the bugs I'm trying to figure out is that the continue button doesn't take focus if you pushing A or D at the time of death, which is weird because there's a hidden empty button to toggle to which also doesn't seem to be working when that happens. Can reproduce it about 40% of the time. NGUI...
You can fool around with that by pushing F2 to get to the debrief screen immediately.
Crates seem to be fixed.. well.. mostly.
Updated web build.
I'm going to try hard to get the mob states working this week because they just chill when they get to the castle which I don't think is that cool.
The "hold 1 button, hold another, release first button while still holding the second" interaction isn't really that difficult - in fighting games they're called rolls when they're made even more difficult to do and you have to release the first button and hold the second one at the same time. These are some pretty forgiving rolls ;) dA, dA, aD isn't that hard to pull off, surely?
@Pomb: In the latest build I had the continue button bug happen and managed to re-start at wave 1 again, but no enemies spawned at all... Didn't do anything else unusual that I can think of.
Also, I found an emergent reason to jump and drop arrows on approaching grunts: You can kill 2 that are close together with one arrow if you get it to drop directly between them :) Also, might be an idea to destroy arrows that go out of camera range - I kept killing enemies off screen while practicing my jump shots.
I think the most important thingie to work on in these final few days is the difficulty progression. It goes between very easy ground mobs and the extremely difficult dragon.
I'd prioritise adding enemies to fill the following niches: something that can be acceptably killed with a single (not double) jump arrow, a tougher ground mob for more advanced ground fighting, and bonus crate birds which carry firebombs instead of crates (firebombs, of course, being great for exploding / raining chaos down on enemies). In fact, I think the general idea of having some sorta enviro doodad to help you along would be great!
I would also like to ask what you think of having arrows (at least the air version), pushing the hero back a bit when they're fired? Or maybe that can be reserved for special ammo / powerups.
And finally ... double-A / double-D for a mid-air dash/quickstep? :)
Learning the controls took me about 5 minutes, and I think they will really shine on touch devices where virtual sticks/buttons make for annoying controls.
If you gave this more enemy types, and put it on android, it would be my go-to short play session choice (currently occupied by Super Hexagon)
@Gazza_N Thank you, I'm working as hard as I can, I need more time! (deadlines are both motivating and unhealthy)
@Nandrew Thanks man. Your impression of the dragons head hitbox is correct as there is no hitbox there at all :) it's just over his body, so probably going to put another smaller one of the head that will do double damage :P
Agree to all ideas because they spewing the fun juice!
I freekin love the idea of exploding fire crates from a different birdie! Totally putting that in. Ah man and the force pushing the dude back after air shots are also an awesome idea, but I think is also one of the post compo additions.
Dash states are in but don't have the moment behavior will be in the next upload.
@Aequitas Awesome! Totally going to try put it on touch devices, specially since building to mobile is free now.
Thanks for playing and for the awesome feedback guys, Makin' Games! WHOO!
Dunno, it's really good really :) Two player mode? :)
Lol... This happened - When I continued the dragon didn't do anything. Oh and it was pretty much impossible to dodge fireballs if unfortunately timed. Is that intentional?
@rumor thanks man! can't wait to see Khumba game progress at the next meet!
A single dash allowed per mid-air stunt would let players reserve their panic button for situations where they're in great danger, but can still prevail if they know how to keep calm and act reflexively / skilfully enough.
Additionally ... if you're just a little too close to the dragon, it can spit out a fireball and kill you while you're in the middle of a jump, with little that can be done. Perhaps more of a telegraph when they dragon's about to fire?
the time between these actions is the same so I kinda feel like it's something you can read, but yeah totally valid.
Also, try reducing the hitbox size for the player - right now it feels a tad unfair when you hit a fire and you're not 100% certain you actually touched it. Smaller player hitboxes are always a good idea :)
A few things (most of my other points of feedback have already been elaborated quite well by Nandrew, with whom I spent some time discussing this game, actually)
- Player death often feels unfair to me. I suspect this will be greatly improved by the addition of the air-dodge a couple of people will have mentioned, but also definitely by having the dragon choreograph his attacks more than he does. The drag's flame wave starts behind him too, and when I was in that position, thinking I was safe, that death felt particularly unfair.
- Firing multiple times in mid-air seems to be possible, but the timing required for that is unclear. Is there some indication as to when I'm able to fire again? 9 out of 10 times I seem to hit fire again too early and nothing happens.
- It seems that pressing a new key in the same frame in which the opposite direction is released causes a jump/fire. I don't feel like it should. I've had a few unintentional actions triggered which seem to be because of this (or perhaps I just have a sticky keyboard)
- Your animation (jumping especially) is gorgeous. I want more. I want to see arrows impaling enemies in the head and watching them tumble over backwards. I want to shoot a guy off a horse and have the horse gallop on without him. I want to turn the dragon into a pincushion.
- You can hit the play button multiple times at the menu while it's transitioning away. This doesn't seem to break anything.
- I've had the framerate drop significantly at the continue screen at least twice - I'm not entirely sure how I caused this, both times had me jumping back and forth between browser tabs, and I suspect both cases had the continue bug that was already mentioned here, so that's perhaps related. Sorry I can't provide more details than that.
as for your air movement maybe try again? Try double tapping in any direction to dash!
OMW Dashing is so much fun!!
Dashing is not limited at the moment but I'll definitely cap that to once per in air event. also I've added a little y velocity post dash which gives this cool feeling of on arc, played with post velocities to get a softer feel coming out of the dash.
Also to note that if your velocity is high going into the dash you go further which I think is pretty cool?
@Aequitas That's a pretty neat idea too! also seems easy enough to implement before the deadline, thanks for playing :)
I remember people once saying that string comparison is really bad and slow? and so I have built a physical twitch of "urgh" whenever I do this but it's really the only way I know how so if anyone can point me in a better direction to do this that would be awesome.
get outta here if you can't stand the sight of noob code... it's gonna hurt your eyes!
Things like this:
I know there has to be a way of finding all killable scripts and doing the assignment once. Unity Script reference: Object[] FindObjectsOfType(Type type); but says the function is very slow, how do I know if it's slower than what I'm already doing?
I also kinda feel like these are things I shouldn't really care about until it's time to optimize, which is not now, but if they easy general practices I can learn than I'd rather just be doing that from the get go.
also like this:
This is pretty much the product of unity tutorials that has me in the habit of doing string comparison. I haven't made a game of significant size to make the speed be that bad a hit ( I would think )
I'm not too familiar with string to hash stuff but is that the answer in these cases?
I've lessened the likelihood of the continue bug happening now by waiting for a second before the button appears at which point hopefully players aren't still smashing keys - this is not fix but rather a temporary patch, the fix is going to involve changing some NGUI code for the button to not accept input, or changing the the way the debrief screen gets shown, which I'd rather just leave till after the comp.
After playing now I see I've got resetting problems again on the continue, which I thought I had fixed, if you get these problems push f12 to reset :S On the bright side things seem to be resetting okay after the countdown is completed.
That said, I'm confused about the other method, though. Is that something happening on Update? If so, searching for objects every frame is generally a capital B, capital I Bad Idea. If you need to give your objects a reference to the player, you can always do this process the other way around (on Start for those objects), and have them find the player once only.
Another useful trick to have in your toolbox is the idea of a singleton. Things like your game controller objects and your player will usually use this pattern, because there's always one of them and it's something other objects usually need to know about.
They tend to look something like this:
If you want to be really fancy, you can write a generic base class for this behaviour, which is useful if you start using it often.
Then anything in the future you want to be a singleton you can just do:
And access that from anywhere with:
Handy!
(Disclaimer: I didn't actually test any of those - they should be fine, barring any typos, though!)
As for the foreach stuff going on there it only happens once - not every frame, sorry I should have probably copied the containing method for it to be more clear. Thanks again, Handy indeed!
Obviously this goes against the whole restriction of having two buttons, and maybe I'm just an old grouchy PC gamer at heart, but I the combos for jumping and then shooting in the air frustrated me (jump on the ground being different from jump while in the air) - I couldnt get the pattern right even after I'd gone back and studied the instructions. It felt like I was intending one thing and the game would interpret my keystrokes as something else entirely!
Anyways, just my personal view on it - and I'm one of those people that hate console controllers - so that probably had something to do with my difficulty :P
The reason a game this simple has never been widely praised, is because if you were playing this with a full gamepad/keyboard, it would be fairly boring.
i.e Overcoming the control limitations *is* the game.
I'm not trying to say it's better or worse either way, just trying to make sure I'm understanding correctly.
Mini-boss, to make dragons less frequent and therefore more OMG scary. Catapults hang out in the back, so you have to drop arrows on them from above because normal troops would shield them from ground-shots. They'd fire rocks or flaming jars that would slowly tumble towards the castle. You could shoot rocks to deflect them/push them to the floor and shatter flame jars to rain ouch down on enemies below.
Catapults!
An example might be Scorched Earth and its like: what I want is to shoot the other tank, but my interface for doing that is indirect, accomplished via setting my turret's angle and power. However, while this is not a direct mapping of my desire to gameplay, I do think that it's intuitive: how an increase in power affects gameplay comes naturally, without my having to memorise inputs.
On the other hand, I find button-combos to generally be unintuitive: if a game gives me two buttons, that each alone and respectively make me walk forward and jump, why would I expect that pressing both would make me shoot, let alone shoot without either moving forward or jumping? Of course, the game would likely tell me about this, but that just highlights that it's not a natural consequence of those presses.
Of course, I don't mean to suggest that these feelings are general: they are my own response to such gameplay; it's simply not to my taste and not something that I've developed a skill for.
(More specifically on-topic, I did try Archer9000, but didn't really get into it, likely for the above reasons. However, I do recognise that this is a matter of my own taste in gameplay, hence my having not commented before now.)
also limited dashing to once per air event. Thanks for the suggestions.
tonight... we might very well see the rise of catapults...
I don't like using character controller for the enemies because they can't walk past each other, so one might spawn with a faster speed and then get stuck behind a slow poke. Thinking of changing mobs to a raycast kinematic rigidbody... probably going to be a post comp thing.
EDIT: I don't have to change mobs, just added them to their own layer and turned them off against themselves in the physics manager panel. No intermob collision! YAY! Talk about your game and problems and solutions will come to you. Thanks @Wahooney.
here's a PC download too
So many bugs cropped up today after adding headshot damage, but I seem to have fixed most of them.
Not sure why I went for horses over catapults... dammit! WHY!
Still have too many things to add before I stop working on this thing, it's too damn fun. But I don't want to risk adding anything more now in the last hours for fear of the bugs. I've eliminated the most obvious ones that I could find while play testing but there are definitely things that are still not quite right.
Also made dragons less frequent but harder, and the last wave 20 dragon is pretty hard. Dragons are faster and do different sequences per dragon wave so you should be able to spot their pattern.
It's also pretty important to get the birds, castle health is important!
Unfortunately the controls refuse to come easily to me, but really good job otherwise!
Two thangs:
Thang 1: I somehow managed to accidentally trigger Super Mode when holding down the buttons to charge a shot. Instead of releasing the regular failed shot, I went all Super Saiyan. Did not want. :(
Thang 2: When killed while in Bullet (Arrow?) Time, the slowdown didn't reverse on my death, meaning that I had to wait an unfortunately long time to respawn, while watching slow-mo barbarians slow-mo trash my castle. :(
Still calling winner here. :)
The difficulty curve is also very steep, as you can't stop fireballs and sometimes the dragon shoots 3 which acts as a shield for himself as my arrows get burned before they reach him. i also don't really understand what the main special move does, and i seem to use it accidentally and the camera shakes and nothing happens. Also i started out wanting to fight in front of the castle and i couldnt understand why my arrows were flying at such a steep angle towards the sky, and then when i moved behind the castle it made sense. Maybe i wasn't quick enough with my arrows and was powering up a bit too much, but i dont feel in control of the aiming.
are you thinking of adding more controls now that the competition is over? i feel like this could be a really awesome game with a few item or power-up/castle upgrades in between waves as well as left and right movement and a separate jump button.
@Impy it's super steep indeed, Here my handy tips for slaying dragons
1. Get crates. Stack them close to your castle and don't waste their awesome health early by collecting them prematurely, you want to maximize your healing for the dragon fights.
2. Make sure you don't miss the birds! which is really number 1. Crates equal 4 fireball hits from the dragon, which is pretty hardcore.
3. When he's spitting fireballs at you try get close and run on the ground, this way they hit the ground and not the castle, the less that hit the castle the better, the trick is to watch and learn the firing pattern and know when to be in the air shooting and when to be on the ground running.
But even with all those tips, it's still a pretty tough fight, but I like it :)
@reefTV I tried playing it again today for the first time in a long while and got to wave 20, but couldn't freekin kill that last dragon! He had such little health left and it was so close which made me keep pushing continue!
I found a neat .gif making program called LICEcap
3 buttons to record an awesome .gif ( record, save location, stop ) it's also got resizing and fps control.
Here some samples I've made for Archer9000
Those tips help a lot! Gonna comment them into my write up :).
That aside here is the link to the video on it. Safe to say I am terrible at this game :D