Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / Doom/wolfenstein engine using sprites - prototype for app kit

Author
Message
Quel
15
Years of Service
User Offline
Joined: 13th Mar 2009
Location:
Posted: 23rd Apr 2011 15:05
Isn't that first because the walls are overlapping each other and the engine is having a hard time figuring which to draw first?

-In.Dev.X: A unique heavy story based shoot'em ~6%
-CoreFleet: An underground commander unit based RTS ~15%
-TailsVSEggman: An Sonic themed RTS under development for idea presentation to Sega ~15%
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 23rd Apr 2011 15:42
Quote: "Isn't that first because the walls are overlapping each other and the engine is having a hard time figuring which to draw first?"

They are actually not overlapping! but at some angles does the renderer detect the segment in the back and not the right one in front!
Only when they are really close to each other!
Its probably because iam cutting some corners to get the renderer faster.
Iam using only the half amount of rays that actually is neaded to get it pixel perfect.
But he engine is not even 12 % to its final state
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 23rd Apr 2011 16:59
How's the floor ?

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 23rd Apr 2011 17:55 Edited at: 23rd Apr 2011 18:03
Quote: "How's the floor "

Working on it
Actually had an sudden break thru today!
But i dont know yet how the texturing will be?
But i managed to do an pretty fast detection for the floor scanlines today.
Its pretty buggy and neads to be optimized
But iam closer then yesterday.
My current idea is to detect the top and bottom of the floor grid and then simply draw and paste textured segments in its path.



And please be patient as my first goal is to do something like the gloom engine.
And then try to add multiple floors and extras.

Attachments

Login to view attachments
Non Sequitur M
15
Years of Service
User Offline
Joined: 28th Oct 2008
Location: Where am I!? Where are YOU?
Posted: 23rd Apr 2011 18:19
Quote: "Could you show an screenie?"

Certainly, I should have posted screenshots before, but I got lazy.

Here you go:


This is one of the (many) corners I mentioned, and the first one with which I noticed the bug.


This is what happens when you walk into it. You slowly move forward, and the pixels stretch. When you stop moving, you get pushed back.

Quote: "Iam working on an solution to do it fast that is very tricky to do!
I have read alot on the web that people that is doing the same in c++ is also getting very slow results?
So its not only an dbp problem!"

So, tack on DBP's problems and, sheesh! I feel ya. No rush. Great job though, seriously!

If life were like a box of chocolates, I'd know what I would get... The one that got dropped on the floor and put back in the box.

Iye nehvur yoose spehl chehk, ahn mie tippyng izz fiyne.
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 23rd Apr 2011 19:44
Quote: "This is what happens when you walk into it. You slowly move forward, and the pixels stretch. When you stop moving, you get pushed back."

Hmmm.
Looks and sounds like that i havent released a new demo since i fixed a bunch of stuff
The error you get is because the rays gets cast on the wrong side of the wall so that the distance calculation gets screwed!
I think i simply increased the players radius to get rid of it!

Quote: "This is one of the (many) corners I mentioned, and the first one with which I noticed the bug."

Do you get the bugg at other corners ?
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 23rd Apr 2011 22:49
Cliff Mellangard 3DEGS, this is epic ! Good to see progress here! I have cool idea for game on your engine for Android !

Non Sequitur M
15
Years of Service
User Offline
Joined: 28th Oct 2008
Location: Where am I!? Where are YOU?
Posted: 24th Apr 2011 01:01
Just ones with the exact same angle to them. It's one of those things that if you fix it, all those corners would be fixed. Increasing the player radius seems logical, and might just do it.

If life were like a box of chocolates, I'd know what I would get... The one that got dropped on the floor and put back in the box.

Iye nehvur yoose spehl chehk, ahn mie tippyng izz fiyne.
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 24th Apr 2011 01:27 Edited at: 24th Apr 2011 01:28
Quote: "Cliff Mellangard 3DEGS, this is epic ! Good to see progress here! I have cool idea for game on your engine for Android !"

Iam starting to feel the pressure
Be patient as iam really an noob at this fake 3d and learn while i code it !
But glad that you like it!
Quote: "Just ones with the exact same angle to them. It's one of those things that if you fix it, all those corners would be fixed. Increasing the player radius seems logical, and might just do it."

I will try to release an new beta as soon as i can as i constantly make small changes .
Somedays do i feel like starting from scratch
It feels like every little change affects everything else?
Iam just having one of those days when nothing goes right with the programming
Quel
15
Years of Service
User Offline
Joined: 13th Mar 2009
Location:
Posted: 24th Apr 2011 08:23
Let it be the most advanced id or unreal engine with the latest stereoscopic tech, it is gonna be still "fake".

-In.Dev.X: A unique heavy story based shoot'em ~12%
-CoreFleet: An underground commander unit based RTS ~15%
-TailsVSEggman: An Sonic themed RTS under development for idea presentation to Sega ~15%
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 24th Apr 2011 09:35
Quote: "id"

Maybe a little better then the first wolfenstein engine?
Quote: "unreal"

Will never happen as there first engine whas true 3d.
Quote: "stereoscopic tech"

Dont think its possible?
Quote: "it is gonna be still "fake"."

I have never stated anything else?

Iam a bit confused over your post?
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 24th Apr 2011 12:56




I just hope you'll finish it .

thenerd
15
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 24th Apr 2011 16:24
Quote: "Let it be the most advanced id or unreal engine with the latest stereoscopic tech, it is gonna be still "fake"."
Well, yeah, all 3d engines are technically "fake", because no matter what method, they are all 2d projections of a 3d scene. But what Cliff means by "fake" 3d in this thread, is that the scene is entirely drawn with 2d commands, not using any 3d objects through DirectX. If you want the proper name, it's a raycasting engine.

Non Sequitur M
15
Years of Service
User Offline
Joined: 28th Oct 2008
Location: Where am I!? Where are YOU?
Posted: 24th Apr 2011 18:18
Correction thenerd, it's a 2d representation of a 3d representation of a 2d image! That's 'true' 3d.

Quote: "I will try to release an new beta as soon as i can as i constantly make small changes .
Somedays do i feel like starting from scratch
It feels like every little change affects everything else?
Iam just having one of those days when nothing goes right with the programming "


Ah, everyone who codes has those days. I heard once(can't remember where) 'If you do it right the first time, you aren't coding.' In my current engine, I had it calculating like 3000 NPCs at like 180 FPS, but as soon as I tried to index their data, the frame rate dropped to 7! It took me like 3 days to figure out that I was indexing them multiple times each. I corrected it and now I can control up 3000 NPCs at a healthy 100 FPS. Not that I would need that many, haha!

As for your 'I'm a noob at this' comment, you don't seem like it. You're doing great! Keep up the great work!

If life were like a box of chocolates, I'd know what I would get... The one that got dropped on the floor and put back in the box.

Iye nehvur yoose spehl chehk, ahn mie tippyng izz fiyne.
Phaelax
DBPro Master
21
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 25th Apr 2011 05:53
Nice work. Makes me wish I didn't give up on my raycast engine.

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 25th Apr 2011 10:01 Edited at: 25th Apr 2011 10:05
Quote: "Nice work. Makes me wish I didn't give up on my raycast engine."

I thought the walls where hard?
But when it comes to multiple floors so is it an piece of cake

I probably nead an more skilled coder to help me with the concept of fast floor rendering.

The main problem is probably that i wrote my own concept for raycasting walls ?
So the basic concepts on the web does not work?

But i truly understand that you ended your raycast project,i have had that thought many times

But i also belive iam to picky when it comes to the end result?
I played the good old dark forces last night!
And its completely filled with raycast buggs in ceilings and floors
You simply never noticed them before you bought an 47 inch tv and plays your psx games with an hdmi cabel

And thanks for the input everyone

Is time to test some new floor rendering and see how it ends upp?
Phaelax
DBPro Master
21
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 25th Apr 2011 10:31 Edited at: 25th Apr 2011 10:33
Without looking at it, my initial thought would be the floors would be the easy part.

Can your engine look up and down yet?


I actually turned my raycast engine into a breakout game. Turned out to be a pretty efficient method of detecting ball/brick hits at any speed and easily detecting the side of impact. It only takes a few intersection checks to sweep over a full map.

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 25th Apr 2011 12:47 Edited at: 25th Apr 2011 13:43
Quote: "Without looking at it, my initial thought would be the floors would be the easy part."

Easy to do it at the cost of speed
I made an early version that looked good but the engine then run at 23 fps.
The problem is that i dont use an grid based map or detection!
Iam using the walls as objects (2d lines) that can be freely placed with any angle.
The problem with the floor is that iam forced to do an pixel by pixel placement and also have to scale each pixel before i paste them on screen.
The closest floor pixels are larger then the ones in the distance etc.
Iam currently testing an pixel by pixel scanline method.

If you have an idea for an floor raycaster please show an sample
It dont have to be advanced and only an grid based with each block in the size of 64X64.
I have bin thinking about making it open source but my code is an mess and i want to hold that idea for a while longer.

I think i have an brain meltdown as it should be simple but i cant get it to work?
Quote: "Can your engine look up and down yet?"

No looking up and down to early to do that!
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 25th Apr 2011 13:55
Well, even if it's 23 fps, can't you just speed up movement/looking right/left so it'll look normally?

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 25th Apr 2011 14:36
Quote: "Well, even if it's 23 fps, can't you just speed up movement/looking right/left so it'll look normally?"

The problem is that i get 23 fps on an 2 ghz dual core and this is supposed to be played on an mobile phone
My htc only have an single core 600 mhz cpu!
But i know wath you mean

Iam currently rewriting the renderer again to make it simplier and cast all rays in one phaze.
Iam going to see if i can speed it up and maybe make all the precalculations for the floor in the same phaze?
Should speed things up?
Quel
15
Years of Service
User Offline
Joined: 13th Mar 2009
Location:
Posted: 25th Apr 2011 15:37
Hey i had concerns about speed, and now you come up with it after told me it can't be a problem?..

-In.Dev.X: A unique heavy story based shoot'em ~12%
-CoreFleet: An underground commander unit based RTS ~15%
-TailsVSEggman: An Sonic themed RTS under development for idea presentation to Sega ~15%
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 25th Apr 2011 15:48 Edited at: 25th Apr 2011 15:52
Quote: "Hey i had concerns about speed, and now you come up with it after told me it can't be a problem?.. "

You had concerns about that the dbp code would be slower on the app kit!
And that is not the problem
Wath are you actually up to?
You make some really weird posts about facts that we already know?
The problem is that if it dont run faster then 23 fps in dbp so will it also be an problem in the appkit.
Iam really confused here?
Its always a goal to make your applications run as fast as possible!

So simply if i have the code run above 60 fps in dbp so should there not be an problem to have it run smoothly in the appkit.
Non Sequitur M
15
Years of Service
User Offline
Joined: 28th Oct 2008
Location: Where am I!? Where are YOU?
Posted: 25th Apr 2011 18:06 Edited at: 25th Apr 2011 18:10
Kamac, this is the problem with 23FPS. Even if he uses the engine for a comp, there are still no enemies, AI, items, doors, etc., so each of those things could each cost another 2-5 frames or more at their most efficient. But, on a phone, that would crash the crap out of it!

Currently, the engine for my RPG is getting roughly 70-80 FPS only calculating character placement and basic screen graphics, and I'm worried that it might get too sluggish on some lower end PCs!

Cliff, man, I don't know how you got it to raycast on my laptop at a pretty even 70-90 FPS. Your engine is smooth!

If life were like a box of chocolates, I'd know what I would get... The one that got dropped on the floor and put back in the box.

Iye nehvur yoose spehl chehk, ahn mie tippyng izz fiyne.
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 26th Apr 2011 20:20
Hmmm. Any progress so far ?

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 26th Apr 2011 20:58 Edited at: 27th Apr 2011 01:15
Quote: "Cliff, man, I don't know how you got it to raycast on my laptop at a pretty even 70-90 FPS. Your engine is smooth!"

Thanks!
Always nice to read

Quote: "Hmmm. Any progress so far ?"

Iam currently rewriting larger parts of the raycast engine to make it faster!
And are working on the z depth buffer.
And i am going to try to write the renderer to draw everything in one phaze as fast as possible and in multiple layers.
Iam going to check all ray collisions once and store them to draw them all in one phaze.
Its hard to explain as its mostly stuff that no one will first notice ?
But will improve overall performance when i throw in doors,enemys and lights etc.
Hopefully will i then also be able to draw the floor easier and faster?
Will probably take a short while until the next beta demo.
Iam also going thru the code to make it simplier to understand if some one else maybe gets the code later on
edited...........
Last night so did i rewrite the screen columns to only use one sprite that i paste on screen.
The old one used the same amount of sprites as the raycastings amount of rays.
But then did i get an speed drop by 10 fps! But will make the engine alot easier to understand ,and to work with for someone that havent written it from start.
Iam also experimenting alot with constants and types.
Like the rays starting angle is always the same and can be an constant.
You only nead to update the players angle in the raycasting when you have turned.
So i turned it in to an Player.Direction type that only updates when you turn.
Only these two changes made the fps bump up to 98-100 from 94-96 that i got from removing all the sprite columns.
Going to experiment some more now

Constants and global types are very usefull and fast when used right
Maybe iam starting to become an wannabe coder level 2 now
You can only love dbp for its easy and simple language

Attachments

Login to view attachments
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 26th Apr 2011 22:35 Edited at: 26th Apr 2011 22:43
Suddenly so is there an new problem
I started to make an better raycast selector so that the raycaster only tryes to raycast objects in front of the player.
Now do i nead an new better and faster timed movement code
As the results are 98-222 fps depending on where you are looking in the map
Any suggestions on an better timed movement?
Mine cant handle when the fps goes from 98 to 170 or 222 fps during one turn
It even peaks at 261-270 sometimes making the turning and moving very choppy!
The print with an x shows how many objects the raycaster is raycasting.
I used it temporary when i whas writing the raycast selector!


Attachments

Login to view attachments
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 26th Apr 2011 22:58 Edited at: 26th Apr 2011 22:59
Quote: "As the results are 98-222 fps depending on where you are looking in the map
Any suggestions on an better timed movement?
Mine cant handle when the fps goes from 98 to 170 or 222 fps during one turn "


Use

sync rate 100

to limit it to 100 fps. It should run smoothly now. You can also increase the rate to 120-110 to see the performance. It won't change speed then.

I hope this is what you have actually seeked for .

thenerd
15
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 26th Apr 2011 23:06
Quote: "sync rate 100

to limit it to 100 fps. It should run smoothly now. You can also increase the rate to 120-110 to see the performance. It won't change speed then.
"

No, no, no. You never want to attempt to control the fps rate using sync rate. That will not make it smooth. If you only want to have the game update a certain amount per second, make a bit of code so that the game does not sync every loop. For example, create code so that the sync command is only executed 60 times per second. Then, add a timer-based system.
At least, that's how I do it.

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 26th Apr 2011 23:14 Edited at: 26th Apr 2011 23:16
Quote: "Use

sync rate 100

to limit it to 100 fps. It should run smoothly now. You can also increase the rate to 120-110 to see the performance. It won't change speed then.

I hope this is what you have actually seeked for"

It dosent help as its the timed movement that cant handle the rapid speed changes
Its even worse with an sync rate of 60 ?
Iam going to look around the forum for an better one
This is an problem i actually have known for a while with the timed movement i have used for many years.
It cant handle to fast and large changes in the fps well.
Feels weird to have an problem with to high fps at some points in the map
I could also make the selector larger so the changes aint so big?
But then do i again have lower fps
But thanks for the input kamac
Quote: "No, no, no. You never want to attempt to control the fps rate using sync rate. That will not make it smooth. If you only want to have the game update a certain amount per second, make a bit of code so that the game does not sync every loop. For example, create code so that the sync command is only executed 60 times per second. Then, add a timer-based system.
At least, that's how I do it."

This is new to me ?
Could you show me an sample of how you do it?
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 26th Apr 2011 23:16 Edited at: 26th Apr 2011 23:38


I'll write a function using thenerd's technique... I gotta think a little.

Yet, this is first time i hear about method such as this and it'll be hard for me to understand it.

Allright. Hope it's good:



Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 26th Apr 2011 23:35
I found this code by code dragon !
I dont know how well it works?
But will try it now.

kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 26th Apr 2011 23:40
Well, my looks good also

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 27th Apr 2011 00:48
Quote: "Well, my looks good also "

Not bad
But i also nead an timed movement to go with it

I found that this simple code works extremely well for an timed movement?



`just to make sure the first loop has a valid ElapsedInSec# value
oldtimer = timer() - 100

do
` Calculate the amout of time that has elapsed since the last program loop...
Elapsed# = (timer() - oldtimer) : ` time elapsed in MILLISECONDS
oldtimer = timer()

ElapsedInSec# = Elapsed# / 1000.0 : ` time elapsed in SECONDS
move sprite 1,40.0*ElapsedInSec#
sync
loop

But i still get an chop when the fps changes fast
thenerd
15
Years of Service
User Offline
Joined: 9th Mar 2009
Location: Boston, USA
Posted: 27th Apr 2011 01:21
That's why you combine the timer based movement with the method I said. That way, you don't have to worry about the fps rate changing fast. In the end, the IF statement gives the same effect as sync rate visually... However, since the game loop is separate, you are able to have the game be much more efficient, and calculate more in the loops that are not using the sync command. I'll write you up some code in a bit when I get home, this is something I'm interested in too. For now, try combining kamac's code with that simple timer-based code.

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 27th Apr 2011 01:26
I will have to look in to it tomorrow after work
Its past midnight here now
Quel
15
Years of Service
User Offline
Joined: 13th Mar 2009
Location:
Posted: 27th Apr 2011 17:22
WAIT a minute...

Implementing a time based method implies a fix FPS value to be achieved. No mather how fast your program could run, it won't go above a certain value you adjusted.

What kind of method is that what you are using, get rid of it in this instant. It shouldn't be about a movement factor variable in the first place, or i would even go for at all, since all kinds of collision problems can arise from that.

-In.Dev.X: A unique heavy story based shoot'em ~12%
-CoreFleet: An underground commander unit based RTS ~15%
-TailsVSEggman: An Sonic themed RTS under development for idea presentation to Sega ~15%
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 27th Apr 2011 17:46 Edited at: 27th Apr 2011 17:48
Quote: "WAIT a minute...

Implementing a time based method implies a fix FPS value to be achieved. No mather how fast your program could run, it won't go above a certain value you adjusted.

What kind of method is that what you are using, get rid of it in this instant. It shouldn't be about a movement factor variable in the first place, or i would even go for at all, since all kinds of collision problems can arise from that."

Iam not using a fixed fps method!
Iam using an timed movement that adjust after the framerate.
Thenerd and kamac is talking about using timed movement together with an timed sync in the loop.
Iam not sure about using that?
Wath they are talking about is simply to time the sync inside the loop.
Its the same way v sync works!
Wich will give an smoother display when the frame rate changes rapidly.
This does nothing to the framerate.
But if you use an timed sync rate without an timed movement that is synced with it! so will you get an weird result.
All input is good input so iam happy for all suggestions.
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 27th Apr 2011 18:35
Hm. By the way, how the work goes? Have you implemented the FPS limiter/syncer to your movement & source? I mean... Does it work at all?

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 27th Apr 2011 20:52
Quote: "Hm. By the way, how the work goes? Have you implemented the FPS limiter/syncer to your movement & source? I mean... Does it work at all?"

Iam trying all solutions
But i belive iam going to try to fix the timed movement?
I want the engine to be fast paced and then will this maybe not work!
The part where the speed changes is to long for the timed sync to fix it.
But i thank both you and thenerd for the input
There is so much left to do on the engine
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 27th Apr 2011 21:46
Quote: "There is so much left to do on the engine "


The more left, the bigger fun .

Also, do you have any new screenies or something ?

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 27th Apr 2011 22:42
Quote: "Also, do you have any new screenies or something ?"

Later this week!
When i have fixed the z depth buffer so do i maybe want you guys to test it?
I also have some new retro games to play this week

If you look closely so can you see that this one uses an raycast engine

And also got this one at an low price!
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 27th Apr 2011 23:52
It looks like you're huge fan of retro games!

I like that motor-thingie-game ! Just curious, how much was that second RPG game?

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 28th Apr 2011 17:49 Edited at: 29th Apr 2011 00:00
Quote: "Just curious, how much was that second RPG game?"

Online auction here in sweden where i bid 100 skr that is 13 us dollars i belive?
The one you liked is the first road rash game they ported over from 3do
I got them today so no coding today ! Only nostalgia gaming
I want to buy an cd32 also but they are so freaking expensive

Quote: "It looks like you're huge fan of retro games! "

I have always loved games and are starting to buy the games i played when i whas young
I also have an wii where i have bought alot of games on virtual console
Iam only collecting psx/ps one games!
And i only buy psx games in very good condition and complete copys!
Iam currently biding on resident evil survivor in mint condition!

Quote: "Also, do you have any new screenies or something ?"

I can show you the work on the z depth buffert
Iam working on speeding it up and making the push data simple inside it!
Iam using an array for it and its one of my weaker parts

Attachments

Login to view attachments
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 29th Apr 2011 01:00 Edited at: 29th Apr 2011 01:12
Here is an better and more clear image of wath iam working on Kamac
This screenie have pretty low fps because the z depth buffer is completely unoptimized and rough.
And iam still working on it and maxed it to test it!
I outlined the fake windows to see clearer how it works
Here do dbp offset,rezise,setting right frame and paste an sprite 1200 times every loop also!

Attachments

Login to view attachments
Quel
15
Years of Service
User Offline
Joined: 13th Mar 2009
Location:
Posted: 29th Apr 2011 14:11
Don't need to look closely at Road Rash, the buildings are uncomfortably waving as the surface goes.

Wow the windows gave a whole new dimension to the stuff, really nice!

-In.Dev.X: A unique heavy story based shoot'em ~12%
-CoreFleet: An underground commander unit based RTS ~15%
-TailsVSEggman: An Sonic themed RTS under development for idea presentation to Sega ~15%
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 29th Apr 2011 14:59 Edited at: 29th Apr 2011 14:59
Quote: "Wow the windows gave a whole new dimension to the stuff, really nice!
"


Yes they did! It looks way better with them !

In the future it'd also like to see multi-height-layers, but i guess this would be done after top and floor raycasting.
Yet, some idea for the future.

I'd also like to see some work on the floor because without it, it'll be, you know... Hard to make cool-looking game.

So here's some ideas for faaaaar and near future.

1. Multi Heights layering
2. 3d-2d Spheres. Such as there:

That green sphere.

3. Enemies/Allies or atleast some characters loading.
4. Objects loading.
5. Maybe possibility to darken your images in the editor and make shadows in it manually?
6. Up/Down looking. Ofcourse it's very optional, and i understand it's god darn hard to create.
7. Look point 1.

Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 29th Apr 2011 16:54
Quote: "Wow the windows gave a whole new dimension to the stuff, really nice!"
Quote: "Yes they did! It looks way better with them "

It gives an whole new dimension to it and an better 3d feeling

Quote: "1. Multi Heights layering"
Quote: "7. Look point 1."

This is the extremely hard part and the one that keeps me guessing?
Its simple to make an simple floor ! But how do we then do multilayered floors that aligne to the walls?
Iam still experimenting on this part and dont know yet how to solve it
And you should think of that maybe i cant do it ?
The case is that this is my first raycast engine and i are still learning

And if you have played dark forces so have you seen that its extremly buggy in its raycasting!
Some walls and ceilings make weird wave motions when you move close to them.
Really often so is there dead pixels above walls or enemys etc
And that whas an full team of developers writing that engine

The problem with raycasting multiple levels like floors and ceilings is that you have to do it completely differrent then wall raycasting.
These images shows the formula for floors if you only draw them from the closest wall to the player!
But my engine have angled walls and windows etc!
So its a bit complicated


Quel
15
Years of Service
User Offline
Joined: 13th Mar 2009
Location:
Posted: 29th Apr 2011 17:20
What full team, not long ago someone put a Youtube video here, how one kid made the official Id engine (which has been then licensed for many projects, and Dark Forces is among them) back then which served them for years...

Of course i guess it might have been a bit revised by Carmack and all but that's nothing in comparison to make the stuff from scratch, which was done by an individual.

--------

I think your main problem is that you found a very nice and fast way to do walls (though i must admit i had the same idea the very first time i looked at a 3d game around the mid 90s), but the others require more complex things WHICH would require using something more near to raw computer code, and not a TGC product...

I don't want you to stop thinking here, but i would suggest for you to wrap this thing up into a nice little Version1.0 engine which is ready for developing games, and after that you can go on for more features any time you want and some time in the future release V2.

Which would mean to have a rest of these critical aspects like multi-level stages and floors, make items and enemies available, HUD system, maybe some kind of speech bubbles system or something, and there you already have a mini game making tool for selling. Of course there comes the DB to AppGameKit convert, i mean after that step.

-In.Dev.X: A unique heavy story based shoot'em ~12%
-CoreFleet: An underground commander unit based RTS ~15%
-TailsVSEggman: An Sonic themed RTS under development for idea presentation to Sega ~15%
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 29th Apr 2011 20:10 Edited at: 29th Apr 2011 20:10
Quote: "What full team, not long ago someone put a Youtube video here, how one kid made the official Id engine (which has been then licensed for many projects, and Dark Forces is among them) back then which served them for years...

Of course i guess it might have been a bit revised by Carmack and all but that's nothing in comparison to make the stuff from scratch, which was done by an individual."

You mean the build engine
And id software made there one first and the guy that made the build engine asked carmack for help with it.
And that person is one of the very few programming wonder boys out there as he wrote his engine at the age of 17.
I dont think darkforces uses the build engine?
The build engine is alot better then that one

Quote: "I don't want you to stop thinking here, but i would suggest for you to wrap this thing up into a nice little Version1.0 engine which is ready for developing games, and after that you can go on for more features any time you want and some time in the future release V2."

Its my main plan iam trying to tell kamac

Quote: "Which would mean to have a rest of these critical aspects like multi-level stages and floors, make items and enemies available, HUD system, maybe some kind of speech bubbles system or something, and there you already have a mini game making tool for selling. Of course there comes the DB to AppGameKit convert, i mean after that step."

We will see how the appkit turns out?
kamac
13
Years of Service
User Offline
Joined: 30th Nov 2010
Location: Poland
Posted: 29th Apr 2011 20:13 Edited at: 29th Apr 2011 20:23
I think angled walls aren't always needed. I mean, even in Real-Life we have small amout of 'angled walls' .

Also, i completely suck at raycasts, that's how i think i do. I really don't know where i could start off with them

I might try to help you... but i really don't understand the idea of 2d to 3d raycasting.
Maybe you could help me off with that, so i can actually help you?

Would be very nice to get sime hints/tips .

Login to post a reply

Server time is: 2024-04-19 10:23:40
Your offset time is: 2024-04-19 10:23:40