#teetoe game

1 messages · Page 1 of 1 (latest)

mild onyx
#

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)

itch.io

Puzzle-platformer

mild onyx
#

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

craggy rampart
#

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

mild onyx
#

oh, thanks for the feedback

mild onyx
#

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

craggy rampart
#

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

mild onyx
#

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

craggy rampart
#

Will either easy, ill try again when i can, now that I know

tulip rain
#

yo i just tried up the game today and it was really good!! liked the smoothness and the art style

craggy rampart
#
  • 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
tulip rain
#

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

craggy rampart
#

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

#

sanco how do i get the green switch in that level?

tulip rain
#

So

#

Once you passed that section of turning on off timings

craggy rampart
#

do i stand on the nub and blow it up

tulip rain
#

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

craggy rampart
#

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

tulip rain
#

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 🤑

craggy rampart
#

the next level was much easier

#

seems like a better way to introduce toggling platforms than the level before

tulip rain
#

Yeah

tulip rain
#

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

mild onyx
#

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

mild onyx
craggy rampart
#

i feel like falling down and having to restart a platforming section is punishment enough

mild onyx
craggy rampart
#

Is it cool if I make some suggestions?

mild onyx
#

yes it would be very cool

mild onyx
# tulip rain

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

craggy rampart
#

actually I gotta run

#

bombs respawning is a big one tho

mild onyx
#

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

tulip rain
craggy rampart
#

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

mild onyx
#

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

craggy rampart
#

also, this part feels so awkward

mild onyx
#

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

mild onyx
#

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.

mild onyx
#

[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.

mild onyx
#

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

mild onyx
#

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

mild onyx
#

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

urban python
#

this game is awesome i hope it keeps going

mild onyx
#

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

mild onyx
#

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

mild onyx
mild onyx
mild onyx
#

[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...

#

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

ruby rapids
#

I have nothing to contribute other than I think this game is cute af holy cowwww uwu

mild onyx
#

Thx for the compilment

plucky fractal
#

omg this game is so CUTE

#

what are you using to develop it?
flixel?

mild onyx
plucky fractal
#

ohh nice what are you using to create the levels?

mild onyx
#

using Ldtk

#

Tbh i wouldn't really recommended using heaps.io

plucky fractal
#

really? why?

mild onyx
#

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

mild onyx
#

(but love2d had way better documentation )

plucky fractal
#

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?

mild onyx
#

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

plucky fractal
#

i see!
thanks for the info, i'll check it out myself
hyped to play your game 😄

mild onyx
#

np
also I do have a publicly accessible build available if you're not aware

plucky fractal
#

oh really, i think i missed it

mild onyx
#

It should be at the top of this thread

plucky fractal
#

i'll check

mild onyx
#

it looks like I can't pin messages for this thread even though i created it, if so i would have it pinned

plucky fractal
#

❤️

mild onyx
#

working on it again (evidently i work on this on and off)
two-character puzzle test

mild onyx
#

[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.

mild onyx
#

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?

mild onyx
mild onyx
#

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

mild onyx
#

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

mild onyx
#

h.m, maybe I should make a basic lighting system

#

I think lighting usually makes a game look a bit better

mild onyx
#

Background...

#

hm I'm not sure if i like the sky "gradient" too much

mild onyx
#

Let there be light...

mild onyx
#

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

mild onyx
thorn ice
#

this is sick, adorable art

slender wing
#

wooow that looks so nice

mild onyx
#

Thank you

zenith epoch
#

That looks so inviting and responsive.

mild onyx
# mild onyx I'll come up with a little plot for the game before beginning to actually finali...

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

mild onyx
#

oh I never posted the cutscene stuff here

#

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.

ruby rapids
#

I love the text-box jiggle I'm stealing that idea

mild onyx
#

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)

mild onyx
#

[showcase] yey shadows

ruby rapids
#

Those are some clean shadows

chrome sun
#

enlightenment

stuck wolf
#

SO PRETTYYYYYYY

#

are you compiling Haxe to Lua?

slender wing
stuck wolf
#

cuz they have a Löve tag

mild onyx
mild onyx
#

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

half frigate
mild onyx
#

yes

mild onyx
#

[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.

chrome sun
#

this is pretty cool

warm pond
#

that looks really cool, congrats!

lusty sand
mild onyx
#

are you using hashlink?

lusty sand
mild onyx
#

because i made my own thing for running lua code and it only works on hashlink and js

lusty sand
#

[im using haxeflixel so i CAN use hashlink]

mild onyx
#

i mean I could probably make it work with hxcpp but idk how that target works exactly

lusty sand
mild onyx
#

Uhh

lusty sand
mild onyx
#

I know of another library that works with hxcpp

#

what was it called...

lusty sand
mild onyx
#

yeah..

lusty sand
#

MAJigsaw does have nice code

#

wait this is just compiling C, right

mild onyx
#

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

lusty sand
#

in that case in theory it COULD work on windows

lusty sand
mild onyx
#

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

lusty sand
#

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

#

😭

mild onyx
#

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

lusty sand
mild onyx
#

Even if i did have to do the work making this wrapper

lusty sand
mild onyx
#

I guess there's loadstring for that?

lusty sand
#

wait what the-

mild onyx
#

?

lusty sand
mild onyx
#

it loads lua code from a string

lusty sand
#

oh this

lusty sand
#

it basically just fixes a lot of bugs

mild onyx
#

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]"

lusty sand
lusty sand
mild onyx
#

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

lusty sand