it's like you two are already married :)
Printable View
it's like you two are already married :)
Quote:
Originally Posted by Phill64
Yeah I know...special bond here..:D..This is kind of OT, but back in Norway I have a friend that I have known since I was 5. And the 3 last years when I studdied for my CS we where room mates. And one day when his GF was over in our appartment. She said:
"You two are just like an old married couple, just without the sex"...:D
She should have known..:D
I guess me and wØØsy can get the same kind of relationship in the near future..:D
- ØØ -
I implemented this feature about 4 weeks ago :D except we have approximately 120 levels of rendering detail. As things move away from the camera they get progressively darker (by applying a ColorMatrix to the quad). Until they get to a known distance (currently: 0.8 * frustrum depth), beyond which the quad is replaced by a grey polygon. The brightness of which also depends upon its distance frrom the camera. We can't see this Distance Darkening and Long Distance Polygon Substitution (DiDaLoDiPoS :D) in action until we are able to move around in the map under our own steam.Quote:
Originally Posted by Phill64
You bring to light an important point though, if I write a true quad blitter then it won't have colormatrix support, I'd have to draw a transparent poly over the top of the final coords before Present(). We might lose some performance unless we just forget Didalodipos altogether.
*Still in search of a FAST quad bitting alg*
One thing we could try is abandoning color matrices altogether and drawing a transparent polygon over the top of each cube. then we would only have to draw 1 polygon instead of one for each visible wallpart.
We'd need to somehow get the silhouette of the cube though, might be easy...might not.
This would still be slower than having no DD.
Hmmmmmmmm.
An example...
Oh, i was aware of your darkening.. but that wouldn't create less processing? infact wouldn't the darkening be more cpu costly? (except for when you make a grey polygon) i think you should still consider the diff colors thing though.. so a far away green roof piece is dark green not grey, otherwise everything would look the same down a long hallway.
I don't know what you mean about the transparent poly and why it is needed, but you will lose alot of performance doing it, as you say, with your 4 coords you calc the area and decide to draw the image with your skewed boxes syetm(if thats still what ur using) or if not, with a colored polygon, where does the transparent drawing come into play?
btw, i think that program you recently posted of the quad area will be the fastest you will get, only 4 iterations and a fairly small sum, i dont think you'll do any better than that, only other possible way of doing better would be to just use the perimeter as your decider.
oh, i see, for your distance darkening you have a semi-transparent shape that you draw ontop.. well the solution to that is the same as the color thing, it means say goodbye to your 120 levels though.. which is when you load your textures, generate a few darkened versions to be used inplace of the original texture when the object is far away
Hmmm...ok...I think I fixed it, and fixed the perspective....or? At least on this picture 800*600 it is the same width as height.
But I got a new problem..:(..but I am not sure if it needs a fix? What position do you have your camera on your picture that is equal? Tell me at least the Y value. I guess you are using 1.0f? Right? If so, then something is wrong with that. The screenie I just did had to have 0.73 to be more or less right. I don't think this is a big problem since the Y value will be the same throughout the lifetime of the app. But if you think it is a big problem, then I will try to find a solution for this problem too.
- ØØ -
Grr..and the picture..:D
http://www.noteme.com/doomsharp/img/img042.jpg
Phill, you can decide exactly how transparent a polygon is immediately before you draw it and also what color it wil be, we can have a smooth fade into black without any significant overheads.
Note: I have been using 1.0f as my y values so far. I'm not sure what you mean by yuor last post though, an average human standing in a 2 metre corridor would have a y value (eye level) of closer to 1.7. Can you show me what happens when you use a different y value??
Good work on fixing the stretching problem. Can you render a view of the whole map (like in your sig picture) ? i want to see if backface culling is working :)
Nice job. h4xx0r :D
I just came on VBF to tell you that while I was optimizing the camera class furuther I found the error..:D..small rounding error...big diff on the camera..:D...so now it looks perfect.Quote:
Originally Posted by wossname
Quote:
Originally Posted by wossname
Sure I can, but you can already see on this picture that backface culling is working...;)...The FOV is not the same as it used to be though. I have changed it a bit. But we can change it back later if we want. But I think this is more then enough.
One thing I want to talk to you about is the way we calculate is the way we calculate the view to screen coordinates. That function has to be changed a lot. And I have a few ideas. But first I need to know...can you freshen my memory. Back face culling, does that HAVE to be done in screen space, or can it be done in view space?
- ØØ -
hang on.. didn't you just say it will effect performance? and do you mean you draw the texture as half transparent? or the color overtop semi-transparent? because if you draw your texture half transparent it may work the first time.. but anything ontop of that will see through to the behind wall slightly :/ and with drawing the darkness overtop of the texture, this is another gdi+ operation, which we know is slow.. so it would slow you down a fair bit wouldnt it.. when i saw your first screenshot of distance darkening when you just had a hallway, i used the idea for a game i had using the semi-trans black idea, and it did slow it down, however i was able to makeup the speed by making the line of sight smaller.. which was made possible because of the distance darkening itself.. don't know if that's possible in your case or not.Quote:
Originally Posted by wossname
Anyway, i hope you're right about it not being very costly, i guess you won't find out until you're z-ording is all finished anyway. :thumb:
Yeeuch... Doesn't C# have include files?
Anyway, great work guys, it's looking very very nice so far. I've been following your progress since the start of the thread. Two :thumb::thumb:'s up
All textures are being drawn solid, that has always been the case, if polygons are[semi]transparent and could be drawn over the top of a fully rendered cube, then one poly makes the whole cube darker instead of a few poly's making a few wallparts darker.
Then we don't need the colormatrices which slow quad rendering down quite a bit. Drawing a transparent poly needs to be faster than the overhead of drawing at least 1 wallpart with colormatrices. Should be doable.
No need to go and try to get stuck in a circle of include files if the compiler is smart enough to avoid it..;)Quote:
Originally Posted by penagate
Quote:
Originally Posted by penagate
Thanks, still a few miles to go...but unless I piss off wØØsy totaly with my last post, then I think we will get there..:D
[Edit] I deleted it just in case. I need to think this over once more..:D
- ØØ -
Just done a quick experiment, we can easily create the outline of a cube without any special maths, just by adding the outlines of each wallpart (in screen coords) to a graphicspath (FillMode = Winding) and using the graphicspath instead of a polygon. We can put the GP as a return value from Cube.Draw().
Note, which classes are you working on at the moment? I'm editing the whole of the editor project, and classes: MapCube, Map and a minor addition to camera (made it [Serializable]). The game project has had a big alteration to its map loading code, to reflect the changes in the editor and the *.dsm map file format.
We can move the distance member out of the wallpart class and into the MapCube class, this will give the 3d engine less work to do.
I'm not sure what view space is. Well my clockwise detection only works in 2d space. Can you explain what Viewspace is?Quote:
Originally Posted by NoteMe
What the **** is GP, what are you talking about....Quote:
Originally Posted by wossname
I am working on the CameraClass of course...lay off my files..:D..the think is that we two need to sit down one day and rearange the whole mechanism here. We will need about 3 hours I guess. The thing is that it is ok to have a "game loop" in your form, but that game loop will need to call one of my functions in a class I am at the moment just calling the BlackBox. What this function does is:
- Updating the camera.
- Culling all wallparts outside the frustum.
- Calculate distance of wallparts from the screen.
- Sort the wallparts after distance.
- Convert from world to view (this method is really changed and optimized)
- Then I will call your DRAW function. (and of course that one have to change a tiny bit too. But not much)
So as you can see, most of the things YOU have been doing untill now, is no longer your work...
- ØØ -
Quote:
Originally Posted by wossname
Grr...not up to it right now...:D to much to think about...but I found out that I can all ready do it in World space, so that will also increase the speed, but then again that means taking the controll away from you, as I said in my last post.
BlackBox is here to rule the world.
- ØØ -
You've changed your mind again, I thought you wanted to use MapCubes in your BSP instead of wallparts???
GP == graphicspath.
OK I don't mind you dealing with backface culling, takes a bit of stress away from me :)
I thought you didn't want to let me use that method..:D..well anyway...I can deal with wall parts but that means that we can't have maps that are much bigger then 30*30. So if that is ok for you, then 30 wallpart it is. If you want much bigger then that, lets say, close to 100, then we need to use cubes.Quote:
Originally Posted by wossname
?? :confused: The trick I showed you...or ??? ehhh :confused:Quote:
Originally Posted by wossname
Well, it is going to be faster if I do it anyway..:)..going to take some time all this though...Quote:
Originally Posted by wossname
- ØØ -
I'd be much obliged if we could stick with wallparts for a while. Would it be a big problem to convert your BSP to cubes later?
GraphicsPath is just a GDI+ feature, nothing to worry about, just an idea really we probably won't use it in the end because it seems to be quite slow.
It is not a BSP at the moment at all. It is a BlackBox..:D..say "hail" to the BlackBox and it's mysterious memory consumption.Quote:
Originally Posted by wossname
It won't be a BIG change, but a couple of hours with luck. Totaly doable. Will use wallparts for now, then we can see how big we can get the map without the BlackBox bringing the computer to tears..:)
Quote:
Originally Posted by wossname
OK, in that case I'll just shut my eyes and ears..:)
- ØØ -
Groovy.
Wrote a quick bit of storyline yesterday, seems suitable vague :D
Imagine you are a General on earth reading the message in a growing state of panic, one of your military installations on the outskirts of the solar system has been crippled! No further information is available and all subsequent info is unreliable.
Welcome to DoomSharp.
I've decided to remove the 3d preview from the map editor too. That's going to be too difficult to integrate into an half-formed map. I suppose I could put it in as an option in a menu, to fire up the game exe and pass in the path to the game file currently being edited.
Towards the end of the project I'd like to be able to specify a few command line parameters such as the *.dsm path, options like "-NoEnemies -NoSound -Wireframe -HiRes"..... and so on. Would be useful for final testing and debugging. That won't be for a few weeks yet though :thumb:
Bhahahha..that is BRILLIANT...BTW that also gave me a pretty good idea. You don't have to agree, but at least I think it was kind of great.
What do you say about having an intro to this game? Some heroic music, and some heroic pictures of some "doom" look alike soldiers, then the BEEP BEEP and then that note scrools over the screen (maybe with a readers voice) before the game starts.??? What do you think?
Well, at least my thought here ::DD::D..was that if we sync up tomorrow, then if you want to still work on it after I leave work tomorrow evening, thats fine, as long as you send it to me afterwards. Then you can start on this intro thingy while I can do all these changes I have been talking about from friday to saterday...up all night..:D...and then I am more or less out of the project. THen we will not clutter each others work from friday morning untill saterday at noon or something. And then you can have a go at everything you want....
What do you think? Am I egoistic? Pathetic? Unrealistic? n00b? Unintersting? Tart? Have a go at my idea please..:)
- ØØ -
Quote:
Originally Posted by wossname
Sounds ok to me...most of these things are not implemented anyway..so no big changes there.:)
- ØØ -
Funny you should mention it, go back to the very first post in this thread, I've put some updates on there and some Milestones, mentioning the things you just said :D
Great minds... :thumb:
I havent really got any artistic talent (or musical for that matter) so we'll have to find someone thats good with an art package. Maybe Mr Delves could help us with the musical side of things. He's pretty good on the ivories. I'll PM him now.
I think the intro could be implemented as a normal splash screen and we could use VS2005's built in sound support (w0oo0ot! great new feature, 2003 doesn't have this) to play some theme music or whatever.
I'm currently wondering how to change the screen resolution without resorting to the API. I think this maybe a platform dependant thing and we'l have to use api eventually. It's be really nice to be able to run fullscreen without the windows taskbar there. It'd have a nice low-res feel to it.
tres retro non? :D
Blimmey....I'll work my self half to deth from friday to saterday...be sure..:D...oohhhh it tickles in my toes...I LOVE when I have stressed deadlines..:D..just like when I made that Cowboy game in OpenGL...woohoo..:D
BTW I have a C# trippel array question...will post it in C# section..so look out for dodgy questions..:)
- ØØ -
Woohooo..I belive in you..:D..BTW I have a LOT of sound effects for shooting and so on for later..;).I am the assets man...belive in me..:DQuote:
Originally Posted by wossname
Quote:
Originally Posted by wossname
I was so wondering about this yesterday. I am so sure I have seen it done in C# before..but I can't remember where or if they used API or not...hmmm...need to find out that too..
- ØØ -
VisualAd has come through for us and is going to make us a theme tune! Wicked.
This game is soooo gonna PWN everything.
I can feel it...I can feel it....GROUP HUUUUUG...:D
- ØØ -
You any good with pointer math note? My brain is starting to melt. I posted a thread in the C# forum.
No you did not..I can't see it..:D
Are you talking about pointer arethmetrics? Not so very good...never done it in C#..but I have managed to pull it off in C++ a few times when needed..:)
AT the moment I am writing C# code to check if a point is inside a polygon in 3D...woohooo....MANY lines of code..:(
- ØØ -
A pointer's a pointer. Shoot me a link and I'll try. I couldn't find you thread in the C# forum.
Points inside 3D objects!!! :eek:
Sounds tricky, why do you need to know that? :)
The thread is there now. I think our web server is playing up, VBF keeps going offline.
Frustum culling, and I also thought that if we need to shoot people later on, we will need the code then anyway. So why not use the same code..:)...I have a few hard to find bugs here....grrr....going to take me a lot of time to debug this beast..:)Quote:
Originally Posted by wossname
Quote:
Originally Posted by wossname
Yeah, the last two days have been hopeless....hate it..:(
- ØØ -
All you gamers will instantly recognise these...
http://www.currybeast.com/ftp/tools/midi/doom.mid
http://www.currybeast.com/ftp/tools/midi/doom2.mid
Oh happy days they were. I want to capture this kind of sound for the game, nothing so complex but that kind of thing.
VS2005 has built in sound! i've been missing out!
great storyline guys! especially since you never specify what the enemy actually is, or why everything blew up, just like the real doom games. I have given you another star for it :bigyello:
EDITNOTE: actually as it turns out, wossname, i have given one to you recently, according to VBF :p
Yeah the built in sound is limited to a class that plays wav files, but at least it can play them asynchronously (almost certainly a wrapper for the old API functions);Quote:
Originally Posted by Phill64
*OMG I've started putting semicolons after my sentences instead of full stops. I did this at work about 12 times in a short word document, my boss asked me about it and I never even realised when I did it. I said it was a faulty copy of MS Word (well its not a lie is it :D)