What's everyone working on? (tigsource inspired)

General discussion about LÖVE, Lua, game development, puns, and unicorns.
User avatar
master both
Party member
Posts: 262
Joined: Tue Nov 08, 2011 12:39 am
Location: Chile

Re: What's everyone working on? (tigsource inspired)

Post by master both »

Lugen wrote:Looks promising master both. Feel the colors could use some more vibrancy, like saturate them up a bit and tweak hues to be more complementary to the ones next to them?
Thanks Lugen! I really like unsaturated colors, but I have to agree that maybe I over did it.
Also I really like your editor, I would totally use it.
drunken_munki wrote: This looks fantastic dude!
Thanks! :D
User avatar
MZ|One
Citizen
Posts: 52
Joined: Tue May 22, 2012 8:37 am

Re: What's everyone working on? (tigsource inspired)

Post by MZ|One »

Image

A cyberpunk hacker roguelite WIP. I have always wanted to make a hacker game.
Last edited by MZ|One on Tue Jul 28, 2015 8:41 am, edited 1 time in total.
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: What's everyone working on? (tigsource inspired)

Post by Jasoco »

Decided to dust off an oldie and do some playing around to see how feasible it will be to start the project again. I had a lot of plans originally that I never implemented before I gave up. Now I'm seeing if I can.



Each floor and ceiling tile has its own canvas and each one can be drawn to at any time. In the future each visible wall segment will have its own canvas too. The reasons for this are so I can draw damage and other decals to each tile. Like bullet holes or blood spatters.

I also plan on implementing Bump as the collision detection system.

Sadly the FPS is really low right now because I rewrote the floor and ceiling drawing to use the textured polygon library I've had for a while. It looks much better than the hacky fake Mode 7 I was using. But it's slow because not only do I need to pre-calculate the 2D position of each of the 3D corners of every grid tile every frame (A total of 65x65=4225 points every frame.) which slows things down quite a bit. I would like to write a better floor/ceiling shader that only draws one single composite floor/ceiling image. But that will come later. For now I have bigger fish to fry.

You'll notice every tile I walk on is colored red carpet. Showing how you can change each tile in real-time. Really nice.

Also, note the Ambient Occlusion I add to edge tiles. Just a neat little touch.

Debug mode shows a grid of every floor tile the raycaster is hitting as well as every wall it is detecting. I padded the level to be 64x64 so I could see how performance would be on a large level. So you notice for some reason a lot of walls are being checked that shouldn't be and a lot of grid tiles are being casted that are completely obscured by walls and I don't know why. But whatever. It's a pretty minimal performance hit. The real hit is from the calculation of the grid. I wish I could figure out a matrix that could determine the other 4,224 point locations based on a single one without having to calculate each one. But it'd be moot if I wrote a shader to just draw the entire floor and ceiling in one swoop.
bobbyjones
Party member
Posts: 730
Joined: Sat Apr 26, 2014 7:46 pm

Re: What's everyone working on? (tigsource inspired)

Post by bobbyjones »

Jasoco do you use 0.10.0 yet? If not you should try it out. Love3d uses it and ffi. I think the thing that made it possible was the new way meshes work.
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: What's everyone working on? (tigsource inspired)

Post by Davidobot »

Jasoco wrote:Decided to dust off an oldie and do some playing around to see how feasible it will be to start the project again. I had a lot of plans originally that I never implemented before I gave up. Now I'm seeing if I can.
Ooh, did my PMs get you interested in 3D stuff again? :megagrin:
On topic, that is raycasting as far as I can tell. Still using your old door drawing method or did you switch to the textured polygon library too?
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: What's everyone working on? (tigsource inspired)

Post by Jasoco »

bobbyjones wrote:Jasoco do you use 0.10.0 yet? If not you should try it out. Love3d uses it and ffi. I think the thing that made it possible was the new way meshes work.
Link me to a nightly of the OS X build and I'll look into it. What did they change about meshes? Do they finally adjust for perspective instead of distorting the image? If they do then I'll have my wish I've had since xXxMoNkEyMaNxXx created this library for me to make up for the fact that it didn't.
Davidobot wrote:
Jasoco wrote:Decided to dust off an oldie and do some playing around to see how feasible it will be to start the project again. I had a lot of plans originally that I never implemented before I gave up. Now I'm seeing if I can.
Ooh, did my PMs get you interested in 3D stuff again? :megagrin:
On topic, that is raycasting as far as I can tell. Still using your old door drawing method or did you switch to the textured polygon library too?
Not yet. Still the old broken door code. Which still works fine. It just is flakey and causes "missed" rays creating pixel wide gaps in the door. Don't know why. But I have plans for doing them differently later.

And no, actually I was playing with this project again before I got your PM. I was actually surprised when you asked about what I thought was the drawPool wondering if you were watching me or something. lol
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: What's everyone working on? (tigsource inspired)

Post by Davidobot »

Jasoco wrote: Not yet. Still the old broken door code. Which still works fine. It just is flakey and causes "missed" rays creating pixel wide gaps in the door. Don't know why. But I have plans for doing them differently later.
I would recommend using the polygon library for the doors too, using the same method of point calculation as the floor and either sorting the doors afterwards or just using a stencil.
Also, the way I optimized the floor and ceiling is through tracing the rays and forming a table of all visible floor tiles. That table can also be used for the ceiling. This way you're only calculating 10-20 tiles in a small rooms or 60 or so in a open room.
You can find the latest (well, nearly) code for my raycaster in this thread: viewtopic.php?f=4&t=79397&start=40
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: What's everyone working on? (tigsource inspired)

Post by Jasoco »

Davidobot wrote:I would recommend using the polygon library for the doors too, using the same method of point calculation as the floor and either sorting the doors afterwards or just using a stencil.
Also, the way I optimized the floor and ceiling is through tracing the rays and forming a table of all visible floor tiles. That table can also be used for the ceiling. This way you're only calculating 10-20 tiles in a small rooms or 60 or so in a open room.
You can find the latest (well, nearly) code for my raycaster in this thread: viewtopic.php?f=4&t=79397&start=40
Sadly it wouldn't work perfectly and would suffer from the same Z-fighting I explained in our PM when viewed from certain angles. Believe me, I tried it. I just need to work on it more. The gaps can probably be easily overcome if I can detect when they're being skipped and simply stretch the next strip to the left one pixel extra. No one would notice. Or find better "ray casting against a line" code.

And I already save a table of visible floor tiles, but as you could see from the debug map that I show, it catches a lot of extra tiles that shouldn't actually be seen. So I need to figure it out better. It even catches a lot of extra walls somehow. But funnily enough it doesn't really impact performance in that way as it doesn't return any extra strips.

I still want to do it completely differently though. Without having to calculate so many points. I'll figure out a way to do a real Mode 7 texture that can be rotated to any angle.

My goal is to make a game as awesome as GunGodz. Which I posted in the original thread. A fun as shit Wolfenstein style engine with fast action gameplay.
User avatar
Davidobot
Party member
Posts: 1226
Joined: Sat Mar 31, 2012 5:18 am
Location: Oxford, UK
Contact:

Re: What's everyone working on? (tigsource inspired)

Post by Davidobot »

Jasoco wrote:Sadly it wouldn't work perfectly and would suffer from the same Z-fighting I explained in our PM when viewed from certain angles. Believe me, I tried it. I just need to work on it more. The gaps can probably be easily overcome if I can detect when they're being skipped and simply stretch the next strip to the left one pixel extra. No one would notice. Or find better "ray casting against a line" code.
I disagree, if you run my .love file from the thread, you can see me using the polygon library for doors and there is absolutely no Z-fighting, as the doors are not adjacent to one another.
Jasoco wrote:And I already save a table of visible floor tiles, but as you could see from the debug map that I show, it catches a lot of extra tiles that shouldn't actually be seen. So I need to figure it out better. It even catches a lot of extra walls somehow. But funnily enough it doesn't really impact performance in that way as it doesn't return any extra strips.
My algorithm doesn't catch any extra tiles, you can again look into my .love file to see how that's done. I do catch extra tiles under the walls on purpose in order to avoid black borders between the floor and the wall.
Jasoco wrote:My goal is to make a game as awesome as GunGodz. Which I posted in the original thread. A fun as shit Wolfenstein style engine with fast action gameplay.
That's definitely one of my goals as well.
PM me on here or elsewhere if you'd like to discuss porting your game to Nintendo Switch via mazette!
personal page and a raycaster
User avatar
Jasoco
Inner party member
Posts: 3726
Joined: Mon Jun 22, 2009 9:35 am
Location: Pennsylvania, USA
Contact:

Re: What's everyone working on? (tigsource inspired)

Post by Jasoco »

Hmm I remember that post. Somehow I completely forgot about it. I will have to see how you did some of things and try and implement them into mine and see how they work together. I remember yours was based off mine. So now mine will have some of yours possibly.

Meanwhile, I'm experimenting with higher ceilings. (GunGodz does this pretty well.)
Screen Shot 2015-07-04 at 1.42.25 AM.png
Screen Shot 2015-07-04 at 1.42.25 AM.png (218.47 KiB) Viewed 2784 times
One thing I had never noticed before was that you have walls that can be seen through. Like the metal grates. I could never figure out how to do them right because I didn't know how to keep the casting line going even after hitting a wall and have it return multiple strips. I'll have to see how you do it. I'll probably learn a lot from you too.
Post Reply

Who is online

Users browsing this forum: ducks and 3 guests