Yo,
I'm hoping that keeping a log will help motivate me to finish one of my projects. This is my first semi-serious attempt at making a game, so I'm not expecting it to be breaking any new grounds. Having said that, I'm hoping that it'll be fun to make, fun to play, and maybe that I can get some worthwhile experience out of the deal.
Enough meandering, let's talk the game.
Description
Dawnforth is an endless runner/beat-em-up hybrid in which you control a shadowed humanoid named Larkspur and race across night-clad landscapes, defeating a gang of bounty-hunters out for your head. Players jump through settings like quaint 10-story rooftops, forested plateaus, expansive mineshafts, and more, thrashing and tossing enemies left-and-right in order to maintain their speed.
Gameplay
In each level, Dawnforth begins in a set landscape, then starts randomly choosing landscapes from a set of predetermined options to supply the player with more grounds to run and jump. After a set point, the level's boss will appear on its own introduction platform, in which gameplay for the level will resume as before, this time to facilitate the player chasing down and battling a more powerful enemy.
Your main weapon are your wingfists, a set of unattached satellites that morph between wings and giant hands that propel outwards to punch enemies. When Larkspur lands an attack with these, if an enemy is staggered, he can then grab them in the same wingfist. While he has an enemy grabbed, you can toss the enemy for a powerful ranged attack, or to gain a little bit of airtime by tossing them downwards and potentially chaining together combos by grabbing the others caught in the impact. When your wingfists are unencumbered, you can use them to flutter in the air and potentially save you from bottomless pits (at the cost of some speed, potentially getting you an offscreen death if you aren't careful), or guard to save yourself from certain enemy attacks.
Ideally, I'd like to be able to toss in a more refined combo system to expand on these (i.e. if a player that "lobs" a grabbed enemy forward leads into a guard, it instead changes to a cartwheel-like chop that also deflects attacks), but I should get the basics finished before expanding.
Development Tools
- Unity (C#)
- Mixcraft 8 (Lol I know nothing about music)
I'd like to start with traditional drawing for the art, then after that's finished trace it all in something like Paint.Net to give it a solid, bright outline similar to synthwave aesthetics.
Currently I'm the only developer/contributor on the project, and because it's a personal one I'd like it to stay that way.
Screenshots/Art
At this stage, all of the spritework are placeholders I spent, like, five seconds making. I'd rather have a functioning game before making it pretty.
Sorry for the lack of anything too in-depth here, but it's kind of tough to show stuff like "the buildings here are completely random" or "the enemy is grabbed" from screenshots alone. As I refine this, I'll edit this to include more substantial information.
I currently have the wingfist backend-logic separate because I haven't worked out the animator for it yet. That's going to be an upcoming milestone. Currently it just hangs out offscreen until it's ready - the red line beside the black stick figure is where the sprite would spawn for things like fluttering.
Concept Art/Animation References
Player Run Cycle
(In order to keep things simple, I'd like to mostly create sprites by just cropping some key frames over a set number of torsos. The character will be mostly a solid black with a white outline, so this should work.)
Wingfist
(I haven't drawn a set of frames for the flutter yet.)
To-Do/Upcoming Milestones:
Refine enemy attacking- Currently the enemy just casts a ray in front of them to see if the player is in front, then subtracts some health. I'm not a fan of this since it limits what I can do for their behavior, and makes visualizing changes to the logic difficult. I'd like to set it to spawn some effect that handles damage instead.Movement restrictions- Currently there's nothing to stop a player from going left or right past the scrolling camera. The right side will need to be locked, but in a way that conserves a player's remaining momentum. A player should feel "held back" when facing the edge of the screen, not feel as though they're bumping into it. The left side also needs refinement - buildings despawn if the camera moves a certain distance away, which will kill a stationary player regardless, but there's nothing currently preventing a player from hanging out between this cutoff point and the leftside offscreen. This should be changed to a kill-timer. Upper movement should not be restricted. Lower movement has a set kill-point.- Animators for Larkspur and the wingfists - shouldn't be that high, but the wingfist animation plays into the next item, and this will be an exercise in making sure I have Larkspur's movement stats finished.
Grabbing finalization- "Grabbed" objects need to have some indication - currently it just stores some projectile with set properties, but no indication of what is actually grabbed. More importantly, there's no feedback for how far a player's "grasping" will actually grab enemies.- Item spawns? - Currently spawns work off of some set points from certain buildings, in which a "swarm" is created from a select set of options. I'm reeeeaaaally regretting setting this up as-is, since it doesn't really save me that much cpu and makes setting up spawns a massive pain.
- UI - Nothing major, but there is no information about how much of Larkspur's health remains. Need to get that changed.
Parallaxing? - This would let me do things like adding foreground indicators to warn players of certain intense obstacles (i.e. some kind of caution sign in a mineshaft level in order to signal a vast bottomless pit the player will need to either hover over or "down-throw" an enemy to cross). However, I don't want to toss too much into the frame-by-frame functionality of this game. I'm not a clean coder, and I'm working on a laptop from 2013. In terms of design it might also encourage me to rely too much on setup-payoff types of situations rather than letting the player get by on reflex, which could hamper the gameplay flow. idk. I'll debate this.Not going to do parallaxing except for backgrounds, which comes with the rest of the art/animations.
Enemy behavior/movement- Enemies should move around a bit, and have some primitive edge detection. This is not a higher priority as some of the other items, but will be necessary for boss behaviors.- Bosses/level transitions - Besides more complex enemy behaviors, bosses signal the end of a level, or the start of the ending sequence. I'll need to work on that.
- Music and sounds - Currently the game is dead silent. I also need to learn how to make some crappy little tunes.