puzzle platform game with the gimmick where you can grab/throw enemies that each have their own unique mechanics
decided to make an itchio page now: https://pumkinhead.itch.io/sproingers-marshmallows
I have a private page for the game i dedicated to online playtests https://pumkinhead.itch.io/teetoe (password is tekling123)
#teetoe game
1 messages · Page 1 of 1 (latest)
[showcase] i made a build of the game ! https://pumkinhead.itch.io/teetoe (the password is tekling123)
the game runs smoother than the video, my computer just doesn't like screen recording
itch.io
Puzzle-platformer with funny animal characters. A browser game made in HTML5
i was going fast in the video because i need to make the video small enough so that i could upload it
also any feedback would be greatly appreciated
this is fun, I love it when games treat enemies as tools rather than things to destroy
I'm having trouble with the current level, it seems it wants me to bounce on an sproinger, pick it up, throw it across the gap while using it to cross said gap
here's how it's going:
https://imgur.com/hHhy9Jz
didn't know i threw towards the mouse first, and even if I threw it in the right way i let go too late, then i try again it takes a while to reset
I'm on trackpad btw, so making adjustments to aim on the fly will be tough
at first, I assumed it was like mario 3 where throwing had a specific velocity that usually caused things to land a little in front of you
problably because I'm planning that method for my game, and because I try to avoid games that use mouse
anyway, this seems like a a tough way to introduce this technique
there's not much space ahead to easily place the enemy and do it again
so very low margin of error while learning what feels like a late-game technique
then I cleared this section and it seems like im supposed to bring the sproinger up both ledges, which seems crazy hard, so this is where I end my journey, for now. the ramp in difficulty was just monstrous
I also don't understand what Restart from II means
oh restart from the pause menu
maybe just show the Esc key there or have a restart keyboard button
oh, thanks for the feedback
uhh idk what to do about this, cus i watched 2 other people play the game and they didn't have much trouble getting up the two ledges
well i guess they did have some trouble
but they got it eventually
but i also did watch someone fail to do this manuever like you (though in an older, jankier version of the game)
and they also just
throw the sproinger at the wall
so it bounces back down to the pit
i probably just should make a version of that where there isn't a wall
here's a video of me performing the manuever, in case watching me do it makes it easier
I didnt realize you can do it from the same level i thought i needed to jump from above so i can get him at the apex
I think this is because i maybe didnt reach over the ledge one time when I did try that, or maybe i just assumed wrong
i guess the graphic i drew didn't actually depict the character on the same level as the sproinger
although
the arrow is coming from the same level as the sproinger so idk
i probably should make a more in-depth tutorial for this game instead of just showing graphics and hoping the user understands what it means
Will either easy, ill try again when i can, now that I know
yo i just tried up the game today and it was really good!! liked the smoothness and the art style
said I'd try again, and forgot to, some new notes:
- the aim assist doesn't account for the size of the thing you're throwing
https://imgur.com/QEUiWgu
- is there a way to beat the level where bombs first appear after getting the star?
- it wasn't clear that the bombs blow up when you throw them, at first I tried repeatedly kicking them into the blocks until they blew up from the timer, then i tried to throw them and i waited a few seconds thinking I had to time it right, it worked but i kept assuming i got lucky
- would be nice if I didn't need to restart every time i mess up, like if bombs respawned
- no idea how to beat the bomb level, nvm got it
I discovered that the bombs blew up instantly when thrown on the first level that the bombs were added
I didn’t know I could kick them until the next few levels
https://imgur.com/ednyDV4
both of these hits felt like they were high enough where it should have bounced
i don't get why it's telling me to kick this, here
this whole bomb and orange switch feel useless here
oh now i see
still don't get the orange switch
that just adds confusion
https://imgur.com/rnX2WwK
did you mean to put this enemy here as an awkward way to get back up?
sanco how do i get the green switch in that level?
do i stand on the nub and blow it up
You want to keep the switch activated (the state that blocks the entrance) and grab the bomb and throw it to yourself (that’s what I did)
Then you’ll get to the switch thanks to the explosion
the only place i could grab it was in a place where it wouldn't bounce me out far enough
i ended up kicking it, standing on the left block and hoping for the best
Yeah I think there’s a couple of ways to achieve it
I kept holding space until I got the bomb and jumped and threw the bomb against the nearest wall and reached the switch 🤑
the next level was much easier
seems like a better way to introduce toggling platforms than the level before
Yeah
lil question
how do you get to the secret of level 8
you cannot reach the other nub in any way
tried jumping from another high place but i couldnt reach it because i wasnt near enough
oh i didn't notice, sorry
i don't have the pings on
or maybe i was being pinged but at the time i was in fullscreen game so had no idea where the pings were coming from
this is my biggest gripe with discord
yes i did mean for it to be like that. but that level is definitely a bit awful, beacuse if you mess up the bombguy you have to do the whole thing over again. i will need to rework it a bit.
i feel like falling down and having to restart a platforming section is punishment enough
i suppose i could rework it so the block is above the player so the player is more likely to get the idea that you have to throw the bombguy
Is it cool if I make some suggestions?
yes it would be very cool
also for this, you actually are able to bounce sproingers on glued sproingers
i don't mind it being too obtuse because secrets are supposed to be secret and obtuse anyway..
ill also make sure every level has a secret
except when i forgot to add one
ah ok, see you then
i was also thinking of adding a checkpoint system
to fix the problem of having to restart the entire level
bro i had almost every secret except for that level i genuinely dont know how to get there 😭
how did you complete the level with the star on the first bomb level?
I don't see a way to get back up from the star
whats the level number
level 4?
oh you can't get back up
but when i add saving
you don't need to beat the level in order for secret collect to save
that situation isn't meant to be like a tutor on the fact that the mechanic works that way
i was just lazy
also, this part feels so awkward
huh I haven't worked on this game in a while
anyway I added a checkpoints system... it saves the world state at the time you touched the checkpoint, and you can reload it from the menu (or later a keybind, ik the ui for this kind of jank). useful for situations like in the video. also now I can make longer levels i guess.
took a while to code because I first of all, needed to figure out how to save/load the world state on the fly. then after I figured out how to do that I decided to rewrite my entire entity system so that the code to save/load the world state would be less jank. before I was using an entity/component paradigm except it updates the world per component.. i did this because I wanted to use an ecs framework but i didn't really know how ecs frameworks worked. now i'm using the echoes ecs library. all non-serializable data for each entity is stored in a hashmap outside of the component instances. so now de/serialization is fairly trivial and i can use the builtin haxe.Serializer class.
i should make it so you can use a checkpoint more than once
I updated the web version with some new secret levels that you can't normally access... you'll need to go into debug mode by pressing F1 to be able to get to them.
Just wanted to note that because i didn't rewrite the tutorial entities so they're noticeably absent now.
[showcase] i've added a new entity type - a ball. maybe not that creative but I feel like it'll be useful. i know it's probably annoying that you can hit yourself if you're not careful but I think it's funny so i'd prefer to keep it in.
excuse the strange video size. i don't feel like compressing it.
i re-added the tutorial entities so it should be fine now ig. didn't add a tutorial for how to use checkpoints yet though. also I moved the two new levels so they should be accessible without using debug mode.
obviously this method of accessing levels isn't ideal so I will add a world map soon, probably
as well as figure out how to write devlogs on itch.io
i don't really know what to call this game. i came up with "sproingers and marshmallows" but Teetoe isn't actually a marshmallow and marshmallow is a bit of a long word so it doesn't feel as right
maybe I could just call it "sproingers" but the mention of teetoe would be absent which is less than ideal
I made a real itch.io page now
https://pumkinhead.itch.io/sproingers-marshmallows
Also spent way too long writing a devlog about the five-year history of the project. this specific game/project i started on a year ago, but I made a few very similar games beforehand
crap I forgot to mention how I thought of the switch mechanic
I was going to write i was inspired by some old flash multiplayer building game called everybody edits
by inspired i mean i totally ripped off the system it's a straight copy of it
but I used it for a different purpose
this game is awesome i hope it keeps going
world map
i need to make some more tiles
and this map is based off the current levels and their order, but i may change that in the future
dang i started working on this game over a year ago and the only significant difference is i added a couple more entities/enemies and there's 20 levels available in-game instead of 2
i guess i work kind of slowly
well that makes considering i work on this actively for like 1 or 2 weeks and then don't touch for it several months
at least it's better than outright abandoning or completely restarting a project like i've done so many times
[showcase] world map is now more functional
https://pumkinhead.itch.io/sproingers-marshmallows/devlog/855690/alpha3-122224
- world map
- it saves
- new levels (though were already present in the testing version)
[showcase] added circle collision to my game's engine. the hardest part was figuring out how to do tilemap collision without two passes for the X and Y axis, because it took way too long for me to realize i'm just supposed to collide with the closest tile.
this should solve the issue of two ballys overlapping each other and then acting weird when you kick it or whatever
among other issues with this actor type...
another issue is with how it interacts with sproingers. i should probably spoil this video because it shows the solution to a puzzle:
when you drop a bally while you are overlapping with a sproinger, the bally hits you because it gains velocity from bouncing on the sproinger, and this newly gained speed makes it hit the player
I have nothing to contribute other than I think this game is cute af holy cowwww 
Thx for the compilment
ty, I am making it in heaps.io
ohh nice what are you using to create the levels?
really? why?
documentation isnt very great and also due to its lower-level nature you will have to implement systems such as collision detection/resolution yourself
I just used it cus i was porting this game from love2d (since I presume some bug in my graphics driver was making it not work properly), and love2d is similarly low-level and i didn't feel like learning an entire new engine
If you're fine with this though then I guess it's fine
(but love2d had way better documentation )
makes sense!
im planning to experiment heaps with heleton or gamebase, if its too much work i'll try flixel
sad thing is that i want some 3D support just maybe for levels
aren't there libraries for those problems in heaps?
heaps has built in 3d functionality
also i've never used libraries such as heleton/gamebase, those would probably help a ton
but for other libraries 3d stuff isn't really a thing
though I heard 3d in flixel is possible, but it's probably just because it allows for lower level gpu stuff and not because it actually has anything for 3d rendering . Idk anything about haxeflixel programming though
i see!
thanks for the info, i'll check it out myself
hyped to play your game 😄
np
also I do have a publicly accessible build available if you're not aware
oh really, i think i missed it
It should be at the top of this thread
i'll check
it looks like I can't pin messages for this thread even though i created it, if so i would have it pinned
❤️
working on it again (evidently i work on this on and off)
two-character puzzle test
[showcase] now he can fly! Maybe i shouldn't be showing solutions to potential puzzles in levels but i think this is kind of is cool.
and additionally i've added "effects" (as shown in the video). these will create temporary gameplay/movement changes. there is only one effect right now, which is the "strong" effect. It makes it so the character can move while carrying something. It will also make it so Swat can fly while carrying something.
I plan on adding two more effects: "fragile", which makes you have health. I want to try adding a couple of boss battles in this game, and one boss will be throwing bombguys at you and you have to catch them and throw it back. the second planned effect will make Swat unable to fly, although I think many cheeses can be prevented by simply adding a wall of electroballs, so maybe this effect will ultimately not be necessary?
animations (excluding a proper idle animation)
I made the grass look slightly better.
and i drew this tree sprite. It looks okay.
i also got around to finally making a glass background tile
oh, it also looks like at some point I made an aim lock shoulder button. this is to be used with the effect that lets you move while aiming. I think if you are not holding it down, the left thumbstick will let you move. if you are holding it down, the left thumbstick will let you aim
im not sure if the same behavior also applies when you don't have that effect
I feel like it does
this behavior change is only applied when you have a controller connected
I captioned this image to show how controller support would work
although I guess quick rewind could be Y and Slow-Mo could be a shoulder button
last thing I did was make it so sproingers start visually shaking 1.5 seconds before they get up
I'll come up with a little plot for the game before beginning to actually finalize the level order
i mean, the level order i have right now has remained unchanged for a while, and i did make a world map for it, but it's a draft
Also perhaps interesting: the reason why I made it so you couldn't move while aiming in the first place is because I wrote the physics code myself, and i didn't really make the collision code able to treat the hitboxes of two objects as one whole. so the held object could go through walls, and it was very problematic if the player were to release it while it was inside a wall
eh well I did handle that case by making it so the entity warps down to not be in a wall when it's released, the problem is just if the player is now in a space where Teetoe can fit but the held object could not. and the only way that could have happened is if the player moved horizontally into a tunnel
So in early builds of the game your horizontal velocity would be forced to 0 when you are holding something
Later on i did make it so the hitboxes would work correctly, i realized i needed to properly fix it when i added ice blocks. now, your horizontal velocity does not get forced to 0 and teetoe simply decelerates to a stop
but I think being unable to move while carrying something presents an interesting challenge so I will keep it that way
(also same thing for the previous two "prototypes" of this game)
h.m, maybe I should make a basic lighting system
I think lighting usually makes a game look a bit better
Let there be light...
now I do wonder how i'm going to do shadows
I guess i would do something like stencil shadowing
well i certainly have to fix the edge lighting first and bring back the tilemap outlines, but i was just thinking about it
[showcase] added a lighting system
this is sick, adorable art
wooow that looks so nice
Thank you
That looks so inviting and responsive.
the previous iteration of this game had a plot where some evil guy kidnapped the protagonist of the iteration of the game previous to that iteration of the game, who was teetoe's friend, and you were teetoe and had to save them.
I think using the same plot would be a good idea since i never actually finished working on those games. it is a basic plot but really I don't think this game needs anything more than that. so might as well reuse it again.
The antagonist will be this guy that i drew, i think cloud would be a good name for her.
at the start of a game a cutscene will play showing Swat and Fuzzle getting hypnotized by her while teetoe is away and then getting kidnapped, and then teetoe will come back and be like "huh Where did my ƒriends go. ...Oh they're following that white fluffy guy Maybe i should follow them" and then later realize they're being kidnapped Idk
i plan that the end of each world will have a boss fight. One boss fight i plan is at the end of world 1 or 2, where teetoe finds clouds and swat and then has to fight a hypnotized swat throwing bombguys at her. after you defeat swat he gets broken out of the hypnosis and becomes a playable character in subsequent worlds alongside teetoe
then at the end of the 4th world you find cloud again and then free fuzzle after a boss fight, but cloud gets away. then you have a choice to make the characters finish and go back home (normal ending), or continue pursuing cloud for justice (good ending). the 5th world will probably be a bit of a noticeable difficulty spike, lol.
at the end of the 5th world you will find cloud and there won't be a fight but she'll be like "Waa im sorry I am just very lonely and I wanted friends ... So i kidnapp you and hynotize you to be my friendds and I didn't want to lose my new Friends... Pls dont send me to jail...", then you get the choice to either spare her to enforce the Tekling Criminal Justice System on her. either way it'll still count as the good ending
oh I never posted the cutscene stuff here
cutscenes! this is for the boss at the end of the first world. #gamedev #indiegame
hm Maybe i should put it on showcase
but of course not the bluesky embed
[showcase] was working on a cutscene system for a couple of days. I made an interpreter for a basic dialogue script language and an input recording/playback system. latter was pretty easy since my game runs on a fixed time step. I wish coroutines were a thing.
finally got around to making this Lol
bombguys don't seem that particularly interesting to design puzzles with
probably if i add ways to mess with the bombguy's fuse it'll be more interesting
water and a fire enemy?
and if i want the fire to stay in a specific cell i can stick it into some superglue
superglue is a new block type i added, it's the same as glue but whatever gets lodged in it won't be able to be freed
it can also grab the player so it acts as a hazard since the game forces a rewind when you get stuck in it
(yes i did finally make it so the game will automatically rewind if you trigger a failure state)
[showcase] yey shadows
enlightenment
it's in heaps why would you think it's lua
cuz they have a Löve tag
thats a fair assumption to make, lol
I just decided to get the love tag since discord showed me a popup saying "hey server tags exist you should get them" when i opened the love2d discord server
and I do like love 2d
and I think itd be kind of interesting to have the word love next to my name
Wow did you make your own shader for that
yes
[showcase] running lua 5.4 in hashlink. and also the haxe->lua type wrappers are generated using macros. i shed blood sweat and tears for this.
this is pretty cool
that looks really cool, congrats!
can you send over whatever you used to run the lua code
i cannot get linc_luajit working for the life of me
are you using hashlink?
is it just for hashlink or
because i made my own thing for running lua code and it only works on hashlink and js
[im using haxeflixel so i CAN use hashlink]
what happens on windows
i mean I could probably make it work with hxcpp but idk how that target works exactly
literally anything is better than linc_luajit so
im not sure what you mean by this, but it does work on window
Uhh
as in the windows target
was it hxlua perchance
yeah..
it's a lua script to generate haxe bindings and the C export code
and then it compiles the C code
it needs to be gcc-compatible because the lua script uses the compiler command to preprocess the lua headers
in that case in theory it COULD work on windows
cos all linc_luajit really uses is just lua's source code
It works perfectly fine compiling it on windows if you're confused about that
but I just use msys2
which gives me gcc and make on windows
i use msvc
yeah ill probably just wait until theres an easier scripting language to add in haxe that isnt hscript
lua is hell to add
😭
if only there was a haxe port of the lua interpreter
For some reason i feel like using hscript would be a bad idea
I mean it's probably fine but
I feel like i would really rather just use lua instead
i wish the lua code could just interpret straight from haxe
like how hscript works
Even if i did have to do the work making this wrapper
where you can simply pass the code through
I guess there's loadstring for that?
wait what the-
?
whats loadstring
it loads lua code from a string
oh this
as for hscript i use hscript-iris
it basically just fixes a lot of bugs
oh god there's bugs?
well i suppose every software has bugs
but i guess these bugs are bad enough that a fork was made which "fixes a lot of [them]"
hscript-iris is also easier to add and works on more targets due to it being just haxe code
oh by passing through did you mean it gets stuff from the calling environment without you having to explicitly expose them?
it
wait nvm i misinterpreted this readme
basically i meant just having it work like hscript-iris lol

