r/godot Godot Regular 2d ago

selfpromo (games) "Why does making a game take so long?" (level-building timelapse)

So when developing Tyto, I decided to use CollisionPolygons instead of a tilemap.

It allows me to make a more organically shaped world instead of a tile-based one.

The next step was to make it look good - hence the timelapse! I painstakingly place every single sprite in the game so it feels natural and not repetitive.

Still wondering if I should make a script thatโ€™ll do it instead, but I donโ€™t think it would do as good a job. What do you think?

681 Upvotes

55 comments sorted by

160

u/notpatchman 2d ago

You need SmartShape2D

37

u/WestZookeepergame954 Godot Regular 2d ago

I don't know this one! Does it work with collision shapes?

40

u/jmiller2000 2d ago

Check that tool out the mentioned, but also i noticed you work a bit too linearly which is taking up a lot more time switching between walls. Instead of following a path and placing walls on it, pick a wall and place it where you need them, once you switch off that wall you should be never have to click it again for that level.

This will make it so the whole map slowly comes together at once, but more importantly the majority of your time was spent on switching back and forth between wall and now that should be almost eliminated.

Secondly, is the music original? I really like it, and if its possible, could i make something for your game? I am mainly a music composer/producer and have a little bit of free time, not to mention i love the music from the Ori games!

21

u/WestZookeepergame954 Godot Regular 2d ago

It's an interesting idea, but I know which shape I need only while working on the whole thing.

Also, the music is original and composed by me. Glad you liked it! I plan to write Tyto's music, but feel free to DM me some of your stuff :)

6

u/MrMetraGnome 1d ago

Lol, I've never heard of this tool, but watching the video I was like, "there has to be a solution for this"

1

u/FormerlyDuck 15h ago

Wait this is actually amazing

64

u/Repulsive_Gate8657 2d ago

omg procedural placing over vector shape would save so much time !

7

u/WestZookeepergame954 Godot Regular 2d ago

But will it look as good?

29

u/Swimming_Gas7611 2d ago

yes.
will it feel as good? depends on your sprite variance.

5

u/Repulsive_Gate8657 2d ago

depends from small implementation details

3

u/ProfessionalGarden30 1d ago

its a copy of the system they used for the rayman origins/legends terrain, about the best 2d platformer art there is

2

u/luxae___ 1d ago

Yeah, I'm making a godot app for that purpose (+ fun stuff) because I want that too, it's fun when it works, problem is making it good enough and in time for godot showcase reel deadline

32

u/j0shred1 2d ago

As a software person, I hate the art aspect of it, but I appreciate the people that do it.

22

u/WestZookeepergame954 Godot Regular 2d ago

As a software person myself, I spent the first few weeks trying to automate the process, but it always didn't look as good and I decided to give it up.

3

u/j0shred1 2d ago

Completely fair

2

u/MISINFORMEDDNA 1d ago

As a "software person", I can't make anything look good. Lol

1

u/WestZookeepergame954 Godot Regular 1d ago

This is what my artist is for! I'm doing a lot of the tech art, though ๐Ÿ˜‰

14

u/medson25 2d ago

I made my maps in somewhat similar fashion and it was deffinietly the most tedious and mind numbing part, i clicked so much that my finger hurt for a few days.

5

u/WestZookeepergame954 Godot Regular 2d ago

Yeah, I need to take breaks for my fingers and joints ๐Ÿ˜…

4

u/nomadic_stalwart 2d ago

Maybe you can help me understand, but why would you not just create the entire levelโ€™s terrain as a single sprite asset exported from anywhere where itโ€™s less tedious to arrange these modules? Is it time consuming if youโ€™re going to be manually placing them just as WestZookeeper did here, or is there some benefit if each module is baked with sub nodes that make other features easier to apply? Is it some procedural generation technique? Iโ€™m inexperienced so Iโ€™m wondering if this is the easiest method.

6

u/medson25 2d ago

Im sure there are better ways, but thats what i know for sure i can pull off for the maps i made for the jams i've practicipated in, time constant made me just fall back to the working brute force method.

1

u/robbertzzz1 1d ago

but why would you not just create the entire levelโ€™s terrain as a single sprite asset exported from anywhere where itโ€™s less tedious to arrange these modules?

Because your GPU can't handle that. Textures are big, the best thing you can do is keep them as small as possible and reuse them everywhere you can since the GPU only holds one copy in memory. If you'd take your approach, you'd end up with gigantic textures that are all unique, so each and every one of them would need to live in GPU memory. You could build some kind of streaming setup, but you'll get noticeable hitches when many textures are loaded/unloaded at the same time.

11

u/Drillur 2d ago

What is this, some sort of Flappy Bird remake?

Looks rly good!

19

u/WestZookeepergame954 Godot Regular 2d ago

Thank you so much! It never cease to surprise me that people's mind goes to Flappy Bird.

Either way, it's a gliding-based metroidvania where you play Yali, a lost owl looking for his family.

(Obviously - very inspired by Ori ๐Ÿ˜‰)

1

u/ZemusTheLunarian 1d ago

Don't worry, it does look exactly like what you just described.

5

u/GameplayTeam12 2d ago

Took less than 2 minutes /s

6

u/WestZookeepergame954 Godot Regular 2d ago

Lucky I'm so damn fast ๐Ÿ˜‰

4

u/Seraphaestus Godot Regular 1d ago

This feels like an insane workflow. Wouldn't it be better to put these sprites all together in an image editor and import it as several chunked textures? All those sprites can't be healthy

3

u/Silveruleaf 2d ago

Level design is very complex and a art. It's also the meat of the game itself. This looks painful tho. Each bit so detailed and the players runs past it at mach speed ๐Ÿ˜‚ I heard a interview that God of war 3 had sculptures only doing statues models before the camera was decided the angle it would be locked into. So there's sections full of unique art that you won't even see. Someone spent days Sculpting it and the camera won't pick it up, and it's on transition areas where the player will just run on. Meanwhile there's sections with elevators that are literally just a giant cube with no background, and you fight on it for what it feels like it's forever ๐Ÿ˜‚ make it make sense. It's just burning money and time on nothing

12

u/WestZookeepergame954 Godot Regular 2d ago

As always, if you find Tyto interesting, feel free to wishlist it on Steam ๐Ÿฆ‰

Thank you so much!

3

u/WeirderOnline Godot Junior 2d ago

This is one of those things where you build a tool to do it automatically.

3

u/Memebigbo Godot Regular 1d ago

I'm actually with you on this one. Doing things in a slower and manual way may sound silly to software engineers who love to automate, but sometimes art only feels right when you do it carefully and laboriously. Obviously this doesn't apply to everything because you have to finish projects eventually.

1

u/pentamache 1d ago

This, sometimes automation makes your game look more generic. If you want it to feel unique, eventually you are going to put long hours of manual labor somewhere.

5

u/Quillo_Manar 2d ago

> Authorities are still looking for the man who's last words are recorded as: "Screw it, this takes too long, I'm going to program it to do it procedurally!"

2

u/gk98s Godot Student 2d ago

This looks gorgeous.

2

u/WestZookeepergame954 Godot Regular 2d ago

Thank you so much! It makes me feel like it might be worth the effort after all ๐Ÿ˜‰

2

u/1protobeing1 2d ago

Dope. I build mine very differently - but your results speak for themselves.

2

u/PMmePowerRangerMemes 1d ago

I like seeing your process. It'd be nice to see more "critique my workflow" posts. Feels like we'd learn a lot.

(I guess you didn't technically ask for critique, but... it's reddit, so it was inevitable lol)

2

u/FormerlyDuck 15h ago

I went through so many emotions watching this.
First I was like, "this is agony, how could anyone do this?"
Then I thought to myself, "Wait, this would look so much better in my game than a tilemap."
And then I realized that it would only make me more productive, since it would give me something to work on when I only have like, an hour and don't have time to write another script.

1

u/PetscopMiju 2d ago

That looks really cute!

1

u/WestZookeepergame954 Godot Regular 2d ago

Thanks! ๐Ÿ™

1

u/PetscopMiju 1d ago

You're welcome! c:

1

u/Sondsssss Godot Junior 2d ago

Maybe you could automate some of it? Have you considered at least allowing the insertion of grass shapes automatically? Could you perhaps also select the positions for the tiles and then use a positioning script to place them? Could you define connection sockets for the collisions to make sure they are instantiated correctly?

1

u/Silveruleaf 2d ago

Level design is very complex and a art. It's also the meat of the game itself. This looks painful tho. Each bit so detailed and the players runs past it at mach speed ๐Ÿ˜‚ I heard a interview that God of war 3 had sculptures only doing statues models before the camera was decided the angle it would be locked into. So there's sections full of unique art that you won't even see. Someone spent days Sculpting it and the camera won't pick it up, and it's on transition areas where the player will just run on. Meanwhile there's sections with elevators that are literally just a giant cube with no background, and you fight on it for what it feels like it's forever ๐Ÿ˜‚ make it make sense. It's just burning money and time on nothing

1

u/St4va 1d ago

Automation

1

u/Informal_Bunch_2737 1d ago

I could watch that all day.

1

u/pbardsley Godot Junior 1d ago

For my game which also used collision2d, I took a screenshot of the full collision paths, then used that as a base to make a massive PNG that was the same size as the entire level.

1

u/TerminalCorrosion Godot Student 1d ago

I love this. Beautiful, lovingly crafted world, slick looking gameplay. Just added to my wishlist.

1

u/iReddit-allReady797 1d ago

For me it takes a long time because of procrastinating to be honest

1

u/Pinguinouebc1988 11h ago

It's from unity

2

u/WestZookeepergame954 Godot Regular 10h ago

Wot?

-1

u/almostsweet 1d ago edited 1d ago

Why not just write a cellular automata routine to generate the level. Would look the same. And, then you'd be able to create an infinite number of levels.

https://bronsonzgeb.com/index.php/2022/01/30/procedural-generation-with-cellular-automata/

Sorry for the unity link, but the logic should be the same.

1

u/okami29 1d ago

interesting idead didn't know about this.

0

u/Freak-1 1d ago

This is given that you have a solid idea of how things should look like and you know what you're doing.

-14

u/nazgut 2d ago

use AI for god sake, then fix with hand