Cave Bird!

Show off your games, demos and other (playable) creations.
Bananicorn
Prole
Posts: 33
Joined: Thu Apr 12, 2018 9:59 am

Cave Bird!

Post by Bananicorn » Sun Mar 29, 2020 1:24 pm

Hey there, fellow Lövers :)

I've made a game.

It's not perfect and it took me way too long to make, but now it exists.

That's a good feeling :)

I'll tell you that this took me around two years, which is an absurd amount of time for something that simple.
I'll be making more levels in the future, but for now, this is it. More of a demo, if I'm honest.

There's only a single level, but it's randomly generated, from a fixed set of tiles.
All you need to play is a single button and the instructions are all in the game itself :)
Maybe you find something meditative about it, or at least have some fun - I for my part can't really tell how easy or hard the game is, because I've played it waaay too much.

I hope you'll have some fun in the short playtime it provides you.

https://bananicorn.com/games/cave_bird/about

User avatar
pgimeno
Party member
Posts: 2211
Joined: Sun Oct 18, 2015 2:58 pm

Re: Cave Bird!

Post by pgimeno » Sun Mar 29, 2020 3:03 pm

Congrats on finishing it! And thanks for the mention ;)

I've been playing with it for a while. It's fun, it reminds me of the Metro Siberia flash game which is a favourite of mine.

But after quite some levels, it seemed to be always the same cave over and over with no change in gameplay or difficulty level, even if the text says you're going to the next level. Is that a bug, or are there other different scenarios? I remember your WIP had a very interesting scenario.

I noticed a small issue. The text says to press the RMB to continue, but only the LMB works. Is the text designed for left-handed mice?

Bananicorn
Prole
Posts: 33
Joined: Thu Apr 12, 2018 9:59 am

Re: Cave Bird!

Post by Bananicorn » Sun Mar 29, 2020 4:03 pm

pgimeno wrote:
Sun Mar 29, 2020 3:03 pm
Congrats on finishing it! And thanks for the mention ;)

I've been playing with it for a while. It's fun, it reminds me of the Metro Siberia flash game which is a favourite of mine.

But after quite some levels, it seemed to be always the same cave over and over with no change in gameplay or difficulty level, even if the text says you're going to the next level. Is that a bug, or are there other different scenarios? I remember your WIP had a very interesting scenario.

I noticed a small issue. The text says to press the RMB to continue, but only the LMB works. Is the text designed for left-handed mice?
Hey Pgimeno :)

TL;DR; Blah blah, - half an autobiography - there's more and harder levels planned, and I fucked up on the mouse button text.

Guess where I got the inspiration from - Metro Siberia, yep.
(Btw, the creator wrote a blog post once about having re-written it in C++, I gotta look up if he has it online somewhere, I'd love to re-play again)

My initial idea was to have more levels like the one you probably saw earlier, but with the first draft I ran into performance problems really quickly, and decided to segment the world into about screen-sized tiles, then started all over on the semi-open world idea.
I then realized, after about half a year, and not even having finished the first real level, whilst working on a tutorial and thinking of at least some kind of simple storyline, that I may have dreamt too big for my first real game.
In an earlier version you could even land and jump around a little - I even made a really bad tutorial for all the small game mechanics.
But no, at this rate I would be done in 10 years and have produced a game I may enjoy somewhat, but which wasn't the only game I wanted to make in my younger years, so I decided to really cut back on features.

Removing the landing and jumping, solely focusing on metro-siberia like movement, with the single "improvement" over it, being the ability to turn around. Then making a very simple tile-based level-generator, deciding that I'd make every tile end with an opening of the same size (that's why there's some weird angles in them at times) and then actually drawing all those matching tiles. Took about another half of a year, and I really lost motivation amidst changing jobs and all kinds of other real life occurrences.

One day, I might make an open world-ish game with these mechanics, but for that I'll probably have to build a level editor first, because like this it's way too tedious to build.

So yeah, currently there's not that much going on, besides that green cave level^^
Next step is actually making a few different kinds of levels, with a different theme, possibly even adding a harder variant to this cave environment, with sharper turns, generally tighter caves and some moving hazards. (Oh, and I'd love to add a few things like crossroads and dead ends to the cave, to make the levels more interesting)

And thanks for giving me the benefit of the doubt in the case of the text regading the mouse controls, but no, that was just a mistake - I'll change that real quick.

Labeling this as "done" isn't quite correct, I fear - but I really need to make a cut here, at least so I don't have the pressure to "finish" it anymore, so I can get back to enjoying building it :)

randomnovice
Citizen
Posts: 98
Joined: Sat May 09, 2015 9:15 pm

Re: Cave Bird!

Post by randomnovice » Mon Mar 30, 2020 6:33 am

Nice work!

The download said it was damaged (mac) when I first tried it, but the .love file inside the app worked just fine.

Enjoyed it, kudos!

Bananicorn
Prole
Posts: 33
Joined: Thu Apr 12, 2018 9:59 am

Re: Cave Bird!

Post by Bananicorn » Mon Mar 30, 2020 6:45 am

randomnovice wrote:
Mon Mar 30, 2020 6:33 am
Nice work!

The download said it was damaged (mac) when I first tried it, but the .love file inside the app worked just fine.

Enjoyed it, kudos!
Thank you! :)
I do have to admit it's been a while since I had the possibility to test the mac build - thanks for the heads up, I'll probably have to fix some config stuff there^^

User avatar
pgimeno
Party member
Posts: 2211
Joined: Sun Oct 18, 2015 2:58 pm

Re: Cave Bird!

Post by pgimeno » Mon Mar 30, 2020 10:15 am

Bananicorn wrote:
Sun Mar 29, 2020 4:03 pm
In an earlier version you could even land and jump around a little - I even made a really bad tutorial for all the small game mechanics.
That's my recollection, and it was suggestive. I also remember having trouble with getting stuck at some points. I figured it would be nice if there were missions where you had to pick up stuff and carry it somewhere else, or something like that. The idea certainly had potential.

I understand the feeling of pressure, though, and the need to cut back on features.

Bananicorn wrote:
Sun Mar 29, 2020 4:03 pm
One day, I might make an open world-ish game with these mechanics, but for that I'll probably have to build a level editor first, because like this it's way too tedious to build.
A level editor is a lot of work. Have you considered Tiled?

Bananicorn
Prole
Posts: 33
Joined: Thu Apr 12, 2018 9:59 am

Re: Cave Bird!

Post by Bananicorn » Tue Mar 31, 2020 2:33 pm

pgimeno wrote:
Mon Mar 30, 2020 10:15 am
A level editor is a lot of work. Have you considered Tiled?
I should probably look into tiled for another project - The problem with this one being that I exclusively use SVGs as tiles, and I think Tiled doesn't really do vector graphics. (At least I didn't find anything after a quick search, so I might be wrong^^)
But as long as I stick with the randomly generated approach, the workload isn't half as big.

Then again, maybe I could make Tiled work by bulk-exporting all my tiles to PNG in a small-ish size, and then using those in tiled, exporting the tiled map to json and replacing all occurrences of SVG with PNG...

Aw, come on you can't just make me realize I missed the open door in the brick wall I smashed my head against^^

If I have a really great idea which can only be achieved by actually designing a level, I'll actually try that. Not for now, though :)

User avatar
pgimeno
Party member
Posts: 2211
Joined: Sun Oct 18, 2015 2:58 pm

Re: Cave Bird!

Post by pgimeno » Tue Mar 31, 2020 6:45 pm

I've taken a brief look at the guts of the game. It appears that the tiles are canvases. Now I understand why you had such problems. Well, being tiles in the first place kind of explained some things. Maybe smaller tiles could help you add more variation to the scenarios, because then many tiles would be air, and then you can add or take air tiles to make passages wider or narrower, for example.

Another alternative is to use meshes for the scenario instead of tiles, which is how I'd do it, but your Lvg library is not designed to do that, so it would be a lot of work to redesign it or create a new one that can import polygons as mesh (with the help of love.math.triangulate). But I believe it would allow you to use larger SVGs covering the whole level, so you would be less limited e.g. in tile interconnection. See for example what this guy made with a similar idea: viewtopic.php?f=4&t=86835

User avatar
lazershark3k
Prole
Posts: 22
Joined: Tue Apr 10, 2018 3:20 pm

Re: Cave Bird!

Post by lazershark3k » Tue Mar 31, 2020 11:17 pm

I just played it - the music really adds to the atmosphere. I really appreciate the way you "feel" gravity, in how the bird accelerates as you drop, and the energy carries forward as you climb.The wind trail is a really nice touch. Using a blooming flower as a save point was a great flourish as well. It all comes together in a very elegant package! Nice work!
*pew pew*

Bananicorn
Prole
Posts: 33
Joined: Thu Apr 12, 2018 9:59 am

Re: Cave Bird!

Post by Bananicorn » Mon Apr 06, 2020 3:45 pm

pgimeno wrote:
Tue Mar 31, 2020 6:45 pm
Another alternative is to use meshes for the scenario instead of tiles, which is how I'd do it, but your Lvg library is not designed to do that, so it would be a lot of work to redesign it or create a new one that can import polygons as mesh (with the help of love.math.triangulate). But I believe it would allow you to use larger SVGs covering the whole level, so you would be less limited e.g. in tile interconnection. See for example what this guy made with a similar idea: viewtopic.php?f=4&t=86835
Okay, so this whole thing didn't turn into the mess of bad decisions from one day to another - making those bad decisions step by step took a lot of time and effort, hehe ;)
So yeah if I had initially intended for the levels to be generated, I would have taken a different approach, and might have asked in the forum before attempting it^^
As it stands, the progression was as follows:
  • Oh hey, I wanna draw my maps in inkscape, that'll allow me to get the design and level geometry from a single svg file!
  • (At the time no svg parser for inkscape was around/I didn't find any/ I didn't search well enough)
  • Okay, now my whole map is drawn every frame, is slow as all hell, and It's too big to even put into a single canvas, yikes!
  • I'll scrap this and draw separate tiles, whose names I manually put into a 2-dimensional array
  • I can now draw just the 9 tiles my screen is touching (still not too efficient, but at least manageable, and of course I can buffer them into canvases)
  • (Months later) This is terribly tedious, at this pace I'll be done right after the next ice age :(
  • Okay, let's try automatically generating a cave - it's not open-world, but I can add more variety later, it'll be easy...
Along the way I believe I ran into some problems with triangulating certain shapes, since that's what I do in my SVG "library" to be able to draw concave shapes.
I think I'd like to try making something with meshes, but it would really have to be a new project - right now I'm thinking of new levels to make within the restrictions I so clumsily set myself, so maybe I'll come to some really creative level designs^^

So maybe your takeaway from this would be:
Man programs himself into corner because he likes using inkscape for level design

Btw, sorry if most of my posts seem like I need to justify not fixing flaws in hindsight, because... I really don't want to right now.
But as always, I learned something new from your reply, thanks! :)

Post Reply

Who is online

Users browsing this forum: No registered users and 14 guests