So, how's that Bump-based platformer coming along, Jasoco?

Showcase your libraries, tools and other projects that help your fellow love users.
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by Jasoco »

kikito wrote:Ok. Nevertheless, try increasing the cell size - it might help too.
No. It didn't because the problem wasn't with Bump. It was having so many table entries just for storing the references.
I even tried linking it to the grid[x][y] entry instead. Once I created my algorithm the problem went away. Then again it was my 3D project which already created a lot of garbage as it was. It was probably just amplifying the problem by creating all the extra tables. Tens of thousands of them. Either way it works now.
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by Jasoco »



Just a couple more things I did today. (Sorry for light flickering. I'm just using it for example.)

Edit:
Image

There is so much going on in this one image.

Technically a Cannon entity can spawn any other entity as its ammo. Not all entities will work right though. Right now at least. (I had it spawning shyguys at one point. Ones spawned to the right would pop up on top of the cannon and get confused as to which direction to walk.)
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by Jasoco »

It's been a long time since I posted anything here. But just a small kind of update I guess. I've decided I want to turn this into a sort of Zelda II style action adventure RPG. I figure the market isn't filled enough with them like it is with shooters and Metroidvanias and I wanted to make something with RPG elements like leveling up and experience and weapons.

I'll probably remove most of the pick up and toss stuff. I could never get it working 100% properly anyway. Right now I do have one entity that I can pick up. The crate. You can push it too. But it's so buggy and will need some reworking.
User avatar
Tesselode
Party member
Posts: 555
Joined: Fri Jul 23, 2010 7:55 pm

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by Tesselode »

What are you using to store/create levels?
User avatar
s-ol
Party member
Posts: 1077
Joined: Mon Sep 15, 2014 7:41 pm
Location: Cologne, Germany
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by s-ol »

Tesselode wrote:What are you using to store/create levels?
Jasoco has his own ingame (?) leveleditor.
You can see it at 0:22 in the video for example.

s-ol.nu /blog  -  p.s-ol.be /st8.lua  -  g.s-ol.be /gtglg /curcur

Code: Select all

print( type(love) )
if false then
  baby:hurt(me)
end
User avatar
Tesselode
Party member
Posts: 555
Joined: Fri Jul 23, 2010 7:55 pm

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by Tesselode »

S0lll0s wrote:
Tesselode wrote:What are you using to store/create levels?
Jasoco has his own ingame (?) leveleditor.
You can see it at 0:22 in the video for example.
Oh, I didn't check the video. I'm a noob.
User avatar
SiENcE
Party member
Posts: 797
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by SiENcE »

hey Jasoco, keep it up.

I hope you will release it some day. I def. want to play it. I love the nintendo tribute :).

Do you use your own guisystem for the leveleditor?
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by Jasoco »

Yeah, it's not really a GUI library or anything. I just needed to write something quickly. I do want to switch the properties dialogs to a GUI though. I'll probably write my own though. I want to change it so the properties sheet is in the main editor state instead of its own so it's more flexible.

I was originally going to just copy SMB2 (USA) but I've wanted to put RPG elements into a game for so long and thought Zelda II would be a perfect game to copy. I had also wanted to make a shooter Metroidvania but I think Axiom Verge is going a better job of that than I could.

I have a kind of sort of working down thrust working right now but don't know exactly how I'm going to structure the game itself. Will the player use swords, can he use guns or otherwise weapons with ammo. Probably a bow and arrow of course. Each weapon when it's in action is a separate entity that's attached to the player. The sword is basically a bullet that doesn't move, but instead has a few collision boxes that move in an arc and when the arc is complete it disappears. So a Bow would be an entity that appears when I press down the Attack key, would watch the attack key and the longer it is held down the more powerful its eventual thrust will be when I let it go. Then it would spawn a separate Arrow entity at the speed and arc set by the Bow. So like Minecraft, if I only tap the key the arrow won't really go anywhere. But if I hold it down it'll charge up and go further. I could even add in magic bows that have more powerful and straighter flight patterns if I hold it until it hits maximum charge.

Shame I can't really draw characters.

This is going to be one of those long term projects. Of course. One day I'll release something.

There are other platformers I had thought of copying. Anyone remember Krusty's Fun House? That was a puzzle platformer where you guide mice through a level into a machine to kill them. You'd run and jump around avoiding enemies and picking up and placing blocks to help them along. It got really hard towards the end. But it was fun. And the only Simpsons game I ever enjoyed. That would probably be easier to emulate since there wouldn't be much extra stuff to interact with. The hardest part of that would be making the puzzles themselves. I don't know how people do it.
User avatar
SiENcE
Party member
Posts: 797
Joined: Thu Jul 24, 2008 2:25 pm
Location: Berlin/Germany
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by SiENcE »

@Jasoco : It all sounds, like you have currently no real direction. I'm working on my rpg AeonOfSands since 2,5 years and without marco i would have easily lost the direction. It's always good to write it down at first and than always remember it. But you also need someone that pushes you back on track.

If you better like coding and goind gameplay mechanics and engine, you should do so and find a way to let others do the creative work like story, art or levelbuilding.

Do you know the upcomming title Mario Maker from Nintendo? Why not instead do something like this? Like a Platformer Leveleditor+Engine where people can create thier own sprites, tiles, puzzels, levels and campaigns and they can share them online. Just an idea :cool: .
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: So, how's that Bump-based platformer coming along, Jasoc

Post by Jasoco »

Well technically you could easily create your own assets for my engine if you know the proper way. I plan on having other editors for creating other assets like tiles.

Each grid square is a tile. A tile can be static or animated using a set of frame quads. And it's defined from .lua file. Each tile has an update callback which is called once per frame and is global to all tiles of that type. And a draw callback which draws everywhere the tile exists in the grid. Tiles can also be set to different layers. i.e. sort order.

For instance, this is what the Ice tile looks like:

Code: Select all

local tile = {
	name = "Ice",
	kind = "tile",
	quads = {imageLibrary.iceQuad[1], imageLibrary.iceQuad[2], imageLibrary.iceQuad[3], imageLibrary.iceQuad[4], imageLibrary.iceQuad[5], imageLibrary.iceQuad[6], imageLibrary.iceQuad[7], imageLibrary.iceQuad[8], imageLibrary.iceQuad[9], imageLibrary.iceQuad[10], imageLibrary.iceQuad[11]},
	variations = 1,
	id = 6
}

function tile:update(dt)
	self.frame = math.floor(((gameLevel.camera[0].x + gameLevel.camera[0].y) / 8) % #self.quads) + 1
end

function tile:draw(drawPool, pool, x, y, var, layer)
	drawPool:push {
		pool = pool or 0, image = imageLibrary.iceImage, quad = self.quads[self.frame or 1], color = {255,255,255},
		x = x, y = y, layer = layer,
		rot = 0, sx = 1, sy = 1, iox = 0, ioy = 0, kind = "image"
	}
end

return tile
It has definition statistics. Variations means how many different versions there might be. For instance a dirt wall tile might have a handful of slight different versions to choose from. In this case there's only the one ice tile. ID is the map grid ID this tile will use by default in the editor. In this case, 6 is Ice. So when you place this tile, it will set the collision mask automatically to ice. And Quads is a list of quads to localize to this one tile. It gets used in the draw callback as shortcuts. In this case, the tiles frame is calculated in update (Remember this will be global to the map and only called once so all tiles share the one update. In this case it will wrap between 1 and 11.) by looking at the camera position and offsetting the frame so it looks like the ice shimmers. Then in draw it simply uses the quad with that frame value.

When a map is loaded the game checks to see which tiles have update callbacks and adds them to a list which it runs through once per frame. This means the tile will share the update code. If you need to make each tile of that type have a different appearance, you can do that in draw which will be called for every instance rather than once.

Maps are created in layers. There's two (currently) background parallaxing layers. The normal layer which is made from 4 separate sub layers. (Background, two center and a front detail layer. The player and characters would exist between the front middle layer and the frontmost detail layer.) And a foreground parallaxing layer (Which I don't use yet but am imagining can also be parallax and would work like the front layer in Yoshi's Island in the first level with the orange flowers.) My editor currently only allows editing of the normal layer. I will implement a parallax editor eventually.

I don't have a story or anything of course. I never do. I'm not good with the front end aspects of most game design. I could never really come up with a good story. But would probably just throw together something generic and sprinkle in other aspects and plot twists. My real problem would be creating sprites. I can easily make tiles, but drawing enemies and the player and other characters is near impossible for me. I've never really had that ability. I figure if I can create an engine and story I can find someone willing to do the sprite work once stuff is in place. You can't make the sprites until you know how big they need to be and what actions you'll need.

I don't know how useful a level editor would be for a game like this but it'd be included anyway. I would figure something out. Maybe make a way for people to create a whole new game if they wanted to. Map editors for the overworld and action stages. Entity editor. Sprite editor. Tile editor. Script editor. Really I'll just set it up so you can choose a separate resource folder to load from. There could be downloadable adventures and simple stamina endurance tests. I dunno. The ideas are all here. I just need to not be lazy and implement them. Or not get bored and want to do something else.

And I use a drawPool which means I add images and shapes to a pool then sort them by layer and then draw them to the screen. Every tile and entity can push as many objects to the drawPool. And technically anything can have its own drawPool if it needs to.
Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests