This was mainly a test / code-doodle I just made. Its code is small and fairly straight-forward (albeit pretty unoptimized). It features:
- Tile-based, top-down smoothscroller (like an old Zelda game)
- Cell-based world (like Bethesda games or Minecraft uses - chunks are loaded dynamically as needed, rather than the whole world at once). This tried-and-true approach has several uses, such as allowing huge worlds without tonnes of memory.
- Cells are NOT forced to coincide with reality (I have two "warps" to demonstrate it)
- Simple physics (no walking through walls) (known bug: If you diagonally walk into a tile's corner just right, you'll get stuck. This could easily be fixed by making the collision code more than two lines long)
- Cells-over-cells, with parallax
Not sure I'm going to go anywhere with this. Like I said, I was mainly just messing around. But I thought it may be inspiring, or help provide an example of how top-down scrollers work.
Download
Demo - tile, cell based world (with collision)
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Demo - tile, cell based world (with collision)
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Re: Demo - tile, cell based world (with collision)
It looks awesome and smooth. The only thing that annoyed me was the fact that the lower floor was visible from the level above, but you didn't notice that you went downwards. I understand that it's hard to find a way that looks and feels good doing this. It would be awesome if the stair-pieces popped up a small amount behind you and raises from in front of you when you walk down for example. Nonetheless, it looks really good and the warp-zones was impressive (didn't notice it at first, then I felt stupid ).
.d
.d
Re: Demo - tile, cell based world (with collision)
I see you doing a project a bit similar to mine. But my game is turn-based instead. Your room-by-room map display is nice and interesting. Congratulations, all seem to be working great. And if you do the message display log before me you bet I will sneak in your code, lol. Have fun working on this Taehl.
EDITED: Only now noticed the discrete "paralax" layer bellow. It's awesome. Well done. You should do something with this, don't stop.
EDITED: Only now noticed the discrete "paralax" layer bellow. It's awesome. Well done. You should do something with this, don't stop.
- lots_of_birds
- Prole
- Posts: 13
- Joined: Sun Dec 11, 2011 12:09 pm
Re: Demo - tile, cell based world (with collision)
It could seem silly, but discovering theses simples lines in your game almost stole me tears of joy
This resolve in a very simple way all weird cases of collision problem I had with my first love project.
Thanks for sharing
Code: Select all
function love.update(dt)
dt = math.min(dt, .07)
Thanks for sharing
Re: Demo - tile, cell based world (with collision)
I like the parallax effect below, I assume you are loading the cell or cell data below?
Going up and down stairs feels a little weird in terms of graphics, but this was a quick prototype and that's cool. I like the cell approach... I should look at your source.
Going up and down stairs feels a little weird in terms of graphics, but this was a quick prototype and that's cool. I like the cell approach... I should look at your source.
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Re: Demo - tile, cell based world (with collision)
Yeah, the parallax loads and shows another cell. And since it's not based on physical locations, it could be any cell (I just avoided that in my test map to prevent huge confusion). As far as the stair transition... Eh. I had to choose a point to stop showing the "lower" floor and start showing the "upper" one, and this seemed the least strange.
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
- ishkabible
- Party member
- Posts: 241
- Joined: Sat Oct 23, 2010 7:34 pm
- Location: Kansas USA
Re: Demo - tile, cell based world (with collision)
parallax is really cool but in trying to get a better look i found a bug
I was coming from the left and after I got there I coudln't move in any direction.
edit:
It's proving difficult to replicate; These are the kind of bugs I hate, the ones you have to can't seem to make happen again.
I was coming from the left and after I got there I coudln't move in any direction.
edit:
It's proving difficult to replicate; These are the kind of bugs I hate, the ones you have to can't seem to make happen again.
- Taehl
- Dreaming in associative arrays
- Posts: 1025
- Joined: Mon Jan 11, 2010 5:07 am
- Location: CA, USA
- Contact:
Re: Demo - tile, cell based world (with collision)
Taehl wrote:(known bug: If you diagonally walk into a tile's corner just right, you'll get stuck. This could easily be fixed by making the collision code more than two lines long)
Earliest Love2D supporter who can't Love anymore. Let me disable pixel shaders if I don't use them, dammit!
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
Lenovo Thinkpad X60 Tablet, built like a tank. But not fancy enough for Love2D 0.10.0+.
- StoneCrow
- Party member
- Posts: 199
- Joined: Sat Apr 17, 2010 9:31 am
- Location: Wales the land of leeks and leaks
- Contact:
Re: Demo - tile, cell based world (with collision)
Wow really cool!
I wondered around the warp area for ages before realising it was bogus haha.
I wondered around the warp area for ages before realising it was bogus haha.
Dull but sincere filler.
Re: Demo - tile, cell based world (with collision)
wandering in and out of the infinite floor is a psychedelic experience! Everything in this program is beautiful. thx for sharing
The most usefull thing to implement from my point of view would be a minimap that also shows on which level you are. you could make a layered minmap or something idk.
The most usefull thing to implement from my point of view would be a minimap that also shows on which level you are. you could make a layered minmap or something idk.
Sry about my english.
Who is online
Users browsing this forum: No registered users and 2 guests