Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411226 Posts in 69630 Topics- by 58613 Members - Latest Member: NotMe

November 08, 2024, 06:52:55 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsPeasant Knight - Puzzle/Platformer/Instant death simulator
Pages: [1] 2
Print
Author Topic: Peasant Knight - Puzzle/Platformer/Instant death simulator  (Read 22668 times)
Ohmnivore
Level 0
***



View Profile WWW
« on: January 09, 2016, 02:39:23 PM »







Links

Devlog

Background
Peasant Knight is like a love ballad to gamedev. I was getting burnt out on some non-gamedev projects at the time so I started this as a distraction. I wanted to make an enjoyable game that wasn't a big challenge to code, and to actually finish it! The plan was to finish it in around 2 weeks. It ended up taking 3 YEARS. Classic eh? Big Laff

Gameplay
Peasant Knight is a puzzle-platformer. With a twist. You're relentlessly dashing into the face of danger, namely traps like suddenly erupting flame pits. You can only go forward! Or stop.

The game has a lot of twitch action, but I want most of the thrill to come from solving the levels. Each level is like a complex machine of traps where you need to find the fastest path that also keeps you in one piece.

Long-term plans
  • Make Mac and Linux builds for itch.io and Steam
  • Release on 3DS
  • Release on Android
  • Release on iOS

Shiny things


Upping the difficulty a bit.


3DS


Soothing clouds Smiley
« Last Edit: April 09, 2019, 08:03:47 PM by Ohmnivore » Logged

vaaasm
Level 1
*



View Profile WWW
« Reply #1 on: January 09, 2016, 04:13:52 PM »

Oo it looks very charming and cute. I like the ideas, especially the level editing and sharing, would definitely be something I'd do with some friends
Logged

KaiTheSpy
Level 0
***


how to make the game


View Profile
« Reply #2 on: January 09, 2016, 04:38:21 PM »

Thats a pretty cool idea. I like the concept Smiley
Logged

i am a 14 year old loser who sort of knows how to program
loudo
Level 1
*



View Profile WWW
« Reply #3 on: January 11, 2016, 09:42:33 AM »

Seems fun. Good luck!
Logged

kcbanner
Level 0
***


View Profile
« Reply #4 on: January 11, 2016, 10:07:41 AM »

Loving the style. Looks good!
Logged

happinesssam
TIGBaby
*


View Profile
« Reply #5 on: January 12, 2016, 01:58:12 AM »

I love this kind of game and I enjoyed what I played and was disappointed that there were so few levels to play!
I am really looking forward to see where this goes.
Oh - any chance of using the arrow keys to navigate the menu when you finish a level?
Logged
kraed
Level 1
*


View Profile
« Reply #6 on: January 13, 2016, 02:21:48 PM »

Nice and tidy mechanics, that's always good. Clothes/character items would be cool, could put them in places that make the route harder (?) Definitely needs a button to switch levels, arrows or space maybe, that was the only thing that bugged me. Cool stuff, keep it up!
Logged

Ohmnivore
Level 0
***



View Profile WWW
« Reply #7 on: January 13, 2016, 10:42:13 PM »

Thank you everyone for the lovely comments! They boosted my motivation quite a bit.

The level completion menu actually has keyboard controls, R to retry and SPACE to continue. They're going to be documented in the upcoming controls settings screen. I feel that this isn't enough though, so I'll try to include a system where you can switch focus from button to button using the arrow/wasd/custom keys and use another key to press the selected button. This way, there will be a completely mouse-free UI available.

For the past week I feel like I've hit a writer's block, not in writing but in game design. I'm desperately trying to find new level elements to add but I can't come up with much. I've even resorted to watching game design analysis on youtube and reading things like Mario 1-1 and MegaMan dissections.

So that was the situation ever since I started this devlog. However, today, I've discovered that I was using a wrong thought process. I used to think of traps and level firstly in terms of their relationship with the player. Once that relationship was settled I searched for ways to establish relationships between themselves, i.e. how they can act as part of a whole puzzle.

In concrete terms I used to think this first: "Oh here's an elevator, it moves the player upwards.", and this second: "It can be used in unity with terrain tiles so that the player is crushed if he's sandwiched between the two. It can also be used with the flame pit to play a trick on the expectation of going forward once you've been lifted. Or it can also add to the vertical height of a jump." I think that if I invert the order of these thoughts, then I'll finally be able to come up with meaningful, creative, and complex level elements.

With that in mind I'll take a break from programming the game, and instead will focus on sketching new levels and puzzles and traps using good ol' pen and paper for about a week. Also giving my wrists a break Hand Thumbs Up Right
Logged

Gargoyle440
Level 0
**


View Profile
« Reply #8 on: January 15, 2016, 11:02:30 AM »

This is a really exciting concept for a game, kinda like One Finger Death Punch meets Super Meat Boy, I really dig it.

In my experience writer's block has always come from me "trying to hard."  Like, I'm trying to accomplish something huge and I try to tackle all of it at once, and everything that might get put on paper immediately goes under a microscope.  In times like that I like to just do like a stream of consciousness kind of thing, like just put ideas out there completely free of judgement, just tell yourself "I'm just putting things on the page, this doesn't have to be perfect."

Having said that, have you considered variable speeds on the elevators?  Like elevators that get stuck, then rocket forward so fast that they cause the player to jump?  Or perhaps a portal that makes the character turn around so they now have to push D instead of A to stop?  Or even, what if you made those flame columns switch direction each time the player died, and conveyed that through the spiked pattern on the tile?

Just a few thoughts, hope you get the ball rolling soon, I'm SUPER excited to see where this game goes!
Logged
naezith
Level 2
**


Remnants of Naezith


View Profile WWW
« Reply #9 on: January 15, 2016, 12:20:42 PM »

Haha it's cute,

I clicked the replay button and expect to watch my gameplay but facepalmed myself 5 seconds later.
Logged

Ohmnivore
Level 0
***



View Profile WWW
« Reply #10 on: January 17, 2016, 08:02:03 PM »

About time I posted something interesting, so here we go.
I doodled a bit during the last couple of days. I took pictures of the two pages, and was surprised by my phone's huge resolution, but it comes at a hefty price. The pictures are 4MB each!
First page
Second page

On the first page I sketched a dozen new levels. They introduce two new traps: the wall and the portal, both self-explanatory. Actually I should explain the wall: a player can jump over it, or on it. Not all the first six levels on that page will be in the game though, or some will come at a later time. I feel like having flame pit and elevator levels for so long would be quite boring. I want to get the new traps in sooner than that to sustain the player's sense of progression. The portal levels I have so far are pretty simple, but I plan to add levels which include more than one color-coded portal pair in the future. Those levels could get... quite challenging to beat Evil

In the second page I sketched out the first enemy: THE DUMB ORC. His sole concern in life is to dash left when he sees you, no matter which traps lay ahead. If you let him, he may very well kill himself by walking over a flame pit or something. I find him a really cool addition, because first off he would be the first horizontal "trap" in the game, and he offers a lot of interesting puzzles because he's able to interact with the world the same way a player can.

Getting the dumb orc into the game will require some fiddling with the code. I previously made the assumption that the player is the only entity that can interact with the world, so the traps do position checks only on the player. Ideally after this refactor I'll be able to make any entity interact with the traps, so that's going to be cool.

Here's a mockup of what he could look like. I used the knight's sprite as a template, so I still need to work on giving him a larger, more brutal silhouette. And he probably won't be blue. This sprite was done before I changed the sky to a gradient, so now the whole blue family is out of question. Green would make him blend with the grass tiles, so all that's left is red and family. Dawnbringer's 16-color palette is definitely a challenge to use, but I like the vibe it gives.


All of this thinking about levels convinced me that I better make an in-game level editor, and quick. I'm currently using Tiled to lay them out, and it's pretty painful. Here's my level workflow at the moment:

As you can see there's a lot of guesswork to do when laying out the levels.

So, my new priorities are to get the wall, portal, and dumb orc into the game, to make levels for them using my painfully slow Tiled workflow, and then include a level editor. Oh and add that level timer and level unlocks thing. When that's done I can call it 50% complete I suppose.
Logged

Ohmnivore
Level 0
***



View Profile WWW
« Reply #11 on: January 17, 2016, 08:17:45 PM »

This is a really exciting concept for a game, kinda like One Finger Death Punch meets Super Meat Boy, I really dig it.

In my experience writer's block has always come from me "trying to hard."  Like, I'm trying to accomplish something huge and I try to tackle all of it at once, and everything that might get put on paper immediately goes under a microscope.  In times like that I like to just do like a stream of consciousness kind of thing, like just put ideas out there completely free of judgement, just tell yourself "I'm just putting things on the page, this doesn't have to be perfect."

Having said that, have you considered variable speeds on the elevators?  Like elevators that get stuck, then rocket forward so fast that they cause the player to jump?  Or perhaps a portal that makes the character turn around so they now have to push D instead of A to stop?  Or even, what if you made those flame columns switch direction each time the player died, and conveyed that through the spiked pattern on the tile?

Just a few thoughts, hope you get the ball rolling soon, I'm SUPER excited to see where this game goes!
Thank you! That's pretty much what I ended up doing. Just doodling a few levels and it escalated from there Smiley The old elevators used to make you jump, but that messed with the player's jumping, as it was hard to tell when you were on the platform or just floating upwards from the gained momentum after the elevator stopped. Sometimes you could jump immediately after being elevated, sometimes you'd have to wait till you fall back down on it. I just thought fk it and set the player's y velocity to 0 when he touches a platform from above. Scared to take the band-aid off now.

The side inversion is a great idea, especially with portals I could see it transition seamlessly. One moment you're running that way, big flash, teleport, and now you run the other way. I know it would blow my mind if that happens in lvl 10 or something, once I'm so used to running to the right Shocked
Logged

Ohmnivore
Level 0
***



View Profile WWW
« Reply #12 on: March 08, 2016, 02:30:47 PM »

Ok I'm back

I think it's been like over a month since I've done any updates. I've been busy with other projects, but now I'm back. After all, I promised myself that I would finish this game eventually.

This means I'll have to tighten the game's scope. Initially I was aiming for a desktop/web release, but I made a mobile build of Peasant Knight, and the difference is like night and day. The controls feel much better on mobile. So I'm making it a mobile game for now, I can always work on a more tailored desktop/web release later. For the mobile version I won't be making an in-game level editor. I also won't be adding a shield thrust mechanic because even after like a month of thought I still can't see how it would be a meaningful action, not just quick-time event. The puzzles I can make with jumping and stopping are clever enough anyways. This is getting pretty grim, onto the new stuff:

I worked on the menus and HUD and I'm pretty satisfied with how it all comes together. Levels are now unlocked in groups of three, so if one particular level is driving you nuts you can prioritize the two other ones instead. I first encountered this design in Super Smash Bros. Melee's challenge mode, it made it a lot less tedious, and I think it's brilliant.

I also finally came up with an incentive for the player to go fast. My first, and very flawed solution, was to award a gem for every completed level, and an extra gem for every level completed under a certain amount of time. To unlock new levels you would need an amount of gems that forced you to "master" every level before you could move on. If this sounds confusing to you, it's because it is. I scrapped it. The current way of making the player hurry is much better. You get hit by a lightning if you tarry too long. This gets rid of the crappy gem system, and gives very immediate feedback to the player. There's nothing better than zapping the player with lightning to tell him that he screwed up.



The level unlock and the "gotta go fast" design problems had been nagging me for a very long time, so I'm glad they're out of the way now. I can concentrate on building traps and enemies again, it feels really liberating. So the new future plans are: make interesting traps and enemies, make around 32 levels, release on mobile, make some more levels after a short break, then maybe work on a more grandiose version for desktop/web with local coop, an in-game lvl editor, and lvl sharing (Steam workshop - why not?).
Logged

Tanner Fruit Fly
Level 0
***


Tanner sticks the pen up his nose.


View Profile WWW
« Reply #13 on: March 08, 2016, 03:05:44 PM »

Cool stuff Ohmnivore! I like the idea of the player only being restricted to moving ahead. If they go too far, it's already game over. I could even see you making some really long trial hallway levels that sort of operate as the boss fights of the game that test the player more than your standard length level like what you've shown.

You had mentioned in your previous post that you were thinking of integrating a shield thrust mechanic of some sort. Do you mean a move where you use your shield to thrust forward in a fast motion or something else entirely? I was thinking it would be neat if you were able to turn certain enemies around (such as the Dumb Orc) by timing the shield move right as they're about to hit you. You could create interesting scenarios with that as well, here's an example:

Knight is on the left, a flame pit is in front of him, and a Dumb Orc starts to walk over after seeing the Knight. It walks through the flame pit and catches on fire. The Dumb Orc is pretty resistant, so he'll continue to move to the left, but maybe at a more rapid pace as a result of being in flames. The Knight player shield bashes right before the orc touches them, and reverses the orc's direction of movement. He walks back over the flame pit, and maybe as a result of being in flames ignites an explosive on the opposite side, blowing up an obstacle that the player would not have been able to get past otherwise.

Hope that made sense haha Let me know if I should elaborate on it or not. I think you could have some really interesting player/enemy relationships this way, and I think adding in these monsters and trying to think of them as actual puzzles in themselves is a smart way to go with the dev process. Cool stuff, looking forward to seeing more Smiley
Logged


[Check out the "This Is Jim" book on Gumroad! Head over to my devlog for a discounted promo code Wink]
Pixel Noise
Level 10
*****



View Profile WWW
« Reply #14 on: March 08, 2016, 04:57:12 PM »

Dude this is a very cool idea - don't stress about mechanics, etc. That stuff will fall into place - and honestly, you'll probably get some decent suggestions here, if you want to use crowd-sourcing Smiley


Following!
Logged

Pixel Noise - professional composition/sound design studio.
 https://soundcloud.com/pixel-noise
 https://twitter.com/PixelNoiseMusic
 https://pixelnoisemusic.bandcamp.com/

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
Ohmnivore
Level 0
***



View Profile WWW
« Reply #15 on: March 09, 2016, 04:57:04 PM »

Cool stuff Ohmnivore! I like the idea of the player only being restricted to moving ahead. If they go too far, it's already game over. I could even see you making some really long trial hallway levels that sort of operate as the boss fights of the game that test the player more than your standard length level like what you've shown.

You had mentioned in your previous post that you were thinking of integrating a shield thrust mechanic of some sort. Do you mean a move where you use your shield to thrust forward in a fast motion or something else entirely? I was thinking it would be neat if you were able to turn certain enemies around (such as the Dumb Orc) by timing the shield move right as they're about to hit you. You could create interesting scenarios with that as well, here's an example:

Knight is on the left, a flame pit is in front of him, and a Dumb Orc starts to walk over after seeing the Knight. It walks through the flame pit and catches on fire. The Dumb Orc is pretty resistant, so he'll continue to move to the left, but maybe at a more rapid pace as a result of being in flames. The Knight player shield bashes right before the orc touches them, and reverses the orc's direction of movement. He walks back over the flame pit, and maybe as a result of being in flames ignites an explosive on the opposite side, blowing up an obstacle that the player would not have been able to get past otherwise.

Hope that made sense haha Let me know if I should elaborate on it or not. I think you could have some really interesting player/enemy relationships this way, and I think adding in these monsters and trying to think of them as actual puzzles in themselves is a smart way to go with the dev process. Cool stuff, looking forward to seeing more Smiley

Thank you for the kind words! Initially I wanted to add a shield bash because I thought that having two buttons was stupidly simple, but now I see it more as a kind of elegant design (especially pleasant on mobile). I still thought about the shield, but I just couldn't find a way to make puzzles for it. At best I thought it could be some kind of quick-time event, but I didn't want that.

What you suggested though actually provides the shield bash with interesting mechanics, so I'll keep it in mind. I also really like the idea of "boss" levels. Lvls 9-10 are pretty hard compared to the rest, they could be considered boss levels but nothing really explicitly notifies the player of that. I'll come up with something xD
Logged

Ohmnivore
Level 0
***



View Profile WWW
« Reply #16 on: March 09, 2016, 05:14:15 PM »

Dude this is a very cool idea - don't stress about mechanics, etc. That stuff will fall into place - and honestly, you'll probably get some decent suggestions here, if you want to use crowd-sourcing Smiley


Following!
Thanks!

The suggestions I've already received here were very helpful. I'll def. include many of them in the game!
Logged

Ohmnivore
Level 0
***



View Profile WWW
« Reply #17 on: March 19, 2016, 11:41:21 AM »

Yay! New stuff! Finally got to work on some new gameplay things. Also added new levels, for a grand total of 16.

Here are the portals in action:


I swear, there's a way to beat this level. Also, not every level is this difficult. Portals were pretty easy to program, since they don't affect any other systems in place. All they do is just a bit more complex than
Code:
player.setPosition(this.x, this.y);

Here's the dumb orcs:


The dumb orcs were a lot more difficult to make. I had to refactor the PeasantKnight class into a Char class that PeasantKnight, DumbOrc, and other characters inherit from. Then I had to change the traps' code so that they perform checks on all the characters instead of only the player. This way the traps can be triggered by and affect any character, which allows, for example, the dumb orcs to grill on a flame pit in the same way the player can. The PeasantKnight class was also becoming spaghetti code, with things like
Code:
if (!dead && !jumping && !teleporting)
so I got rid of all these flags and made an FSM instead. It's much more manageable. The DumbOrc's AI is also an FSM, but that's nearly overkill since his behaviour is so simple.

New trap concepts, coming soon:
Run direction changer (credits to Gargoyle440 for the idea): it's evil and I love it
Thumper: Goes up and down at fixed intervals, crushes the player
Horizontal moving platform: The game had vertical moving platforms since like day 1, don't know why it took me so long to think of the other kind
Jump pad: I love jump pads in general, the soaring in the air feeling is awesome
Logged

Ohmnivore
Level 0
***



View Profile WWW
« Reply #18 on: July 29, 2016, 11:56:38 AM »

Wow. It's been a while. So much has happened, I don't even. Big news first:

Peasant Knight is coming to the Nintendo 3DS! That's right. I met a team member of http://www.ratalaikagames.com in a chat room, and a few days later we're married. Just kidding, he checked out Peasant Knight and said it would be a great fit for the 3DS and Steam. Now I'm not delusional, Peasant Knight at that time was a small mobile game, so it was a very big surprise. However, Ratalaika is implementing the hip features I always wanted to add: in-game level editor and map sharing, no less. They're also adding lots of other features so the game will fit snuggly in those platforms.

They're essentially porting the game from the HaxeFlixel engine to their custom Spiller (http://www.ratalaikagames.com/spiller.php) engine which runs on the Wii U, 3DS, PS4, Vita, Xbox One, Windows, Mac, Linux, Android, iOS, and most likely all household appliances.





I also made a landing page for Peasant Knight where you can sign up for the mailing list. Lots of blood and sweat went into writing the CSS, but it was well worth it. http://pk.fouramgames.com

Future plans: 3DS, Steam, and mobile releases in a few months
Meanwhile: polishing stuff while Ratalaika is working on the port
Logged

Babar
Level 0
***



View Profile
« Reply #19 on: July 29, 2016, 12:06:13 PM »

It looks great ! Please show more gameplay :D
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic