-
Sounds good Sas. Mandrake 8.2 is pretty solid (my home server runs it, and it has never crashed, has now been up 24 days since that last (unnecessary) restart), and Win2k is just... excellent =).
I agree with moving off VBF, partly because of the server mishaps, but mostly because we are taking up QUITE a bit of room here. Personally, VBF has been a great home, and I have no real problems with it, except for perhaps, downtime. Other then that, VBF is the best resource I know of on the net.
As for the CR Website, sounds excellent. I cant wait.
On my end, I implemented a quick multi-texturing test, and saw a better then 2x speed increase(zero optimization). I will be continuing work on the terrain, and should have something done by, say, tuesday. The increase in speed should be even more dramatic.
I also implemented vertical camera movement with the scroll wheel (1 line of code =).
Fog of war is do-able, though it means updating the terrain vertex buffer whenever a unit moves, or a building is built. It is just a matter of changing the vertex's diffuse color, simple.
More to come =).
Z.
-
I just can't wait for Mandrake 9.0 to come out... :)
Yeah, I'm going to archive this thread and then delete it. On the ToW board, we'll have our own Forum, and have seperate threads. Then, I'll have the massive thread which you can't respond to, but has all of the posts in the other threads in chronological order and colour-coded.
Like I said before, any requests for things on the forum?
-
Will it, with the optimizations, be playable even on your computer?
ToW for the masses...!
:D
-
My only fear is that if we eliminate this thread, the general public will cease to discover ToW, as many people have during our stay here.
-
We could probably post an announcement in the Communication Area with links to our page and our forums, and get a moderator to make it sticky.
Sas, for the forum, I would like to have all posts that are new after the last visit are highlighted (like here), except make it so that the highlighting only goes away after the browser window is closed.
Z.
-
1 Attachment(s)
Well, guys, I did some more testing, and, as predicted, I got the drastic speed increase =). Here is a screen shot.
http://www.vbforums.com/attachment.p...postid=1105370
Z.
-
Thats lookin pretty hot Zaei!! needs some lighting to show off the terrain is 3d coz it looks like a wavy 2d thing at the mo!
-
118 FPS... amazing.
And, I'd just like to let you know I'm posting from Linux here :D
-
I agree, Sas =).
Nice call on linux =).
I have been working all day on fog of war/terrain shadowing, and it turns out that, though I can blend 2 textures, I cant blend those 2 textures with the vertex's diffuse color. So, I implemented a multi-pass thing. Its still running at over 90 frames per second =).
Z.
-
Can we see something like the above, with the multi-texturing enabled?
Oh, and if you don't mind, could you help me? I'm stuck trying to figure out how to change the permissions for a directory.
-
Ill post a shot when I get it working the way I want it to =).
In Linux? Take a look at the chmod command. For information on it, just type "man chmod".
Z.
-
Well, I fixed a nasty memory leak. Ill keep working on the shadows tomorrow, and post a shot.
Z.
-
Thanks, Zaei, I found that out too! I was playing Unreal Tournament on Linux for a while there :)
Ooh, man pages, right :) I looked on Google for it.
-
1 Attachment(s)
-
1 Attachment(s)
-
What can one say other than EXCELLENT!!!
Cudnt quite see the FPS properly tho it looks around 85!!
-
The shadows are a bit off, they start on top of the hill rather than at the side, but apart from that it's the dogs bollocks!
Pisses all over any engine I could write.
Methinks I have a lot to learn from you Zaei.....
-
Wow, that terrain really is shaping up.
Sorry, I didn't get a chance to work on the forum today (:() because lots was happening. I will however make sure all of my exisiting code runs tonight, and start fresh tomorrow morning.
-
Zaei, is it possible for you to use that with any angle (the shading)? Like:
Code:
9:00 12:00 3:00
\ | /
\ | /
\ ___ /
/ \
______/ \______
So we can have different times of day?
-
Sas: Yes, It can be used at any angle, though calculating it every frame will not be feasible, and there wont be many shadows when the sun is close to vertical.
Arbiter: They should be correct, since they are calculated by running a ray from the sun to each terrain vertex, and seeing if it intersects the terrain at any point, if so, the target vertex is shadowed. In the shots, the sun is very low, which is why you can see the shadows so well.
Psy: Not quite 85, but 52 is about average =).
Z.
-
Shouldn't it be, if it intersects, shadow terrain starting with the NEXT tile in the ray's direction and until the ray intersects again?
-
Any point other then the target vertex. Think about it like this. If the sun shoots out an infinite number of rays, and an amount of those rays strike the ground, there will be a shadow on the ground wherever there is an object that the ray strikes before it hits the ground. So, in the terrain, we shoot a ray at each vertex from the sun, and if it strikes any point before it hist the target, we shadow the target.
Z.
-
I thought you were saying if the light ray hits the target, shadow it! :D
-
(gasps for air)
Wow, Zaei. Wow.
-
Thanks =).
This is something that I have been thinking about for a while. The engine is getting a bit sloppy. I am trying to hide away a lot of information, and it frankly makes it a pain in the arse to work with. What I am thinking about doing is pretty much scrapping the "Engine" deal, and downgrading to "Library". Essentially, Instead of an interface into the graphics sub system, the sound subsystem, etc, I will simply export most of the subsystem from the DLL, and let people go at it. On top of that, then, the Terrain, the user interface, and such, will all be built on top of the exported classes. Not only will it give the programmer a LOT more freedom, but It will also allow me to write functions for export to say, a VB program (full 3d map editor, anyone? =). This whole operation shouldnt take very long to complete, though some of the various existing system will have to be untwisted from the current system. I wanted to run this by you guys, and see what you all though before I hit the trenches. Also, Psy, I wouldr eally appreciate your input on this, since you are writing the networking subsystem.
In a nutshell, instead of hiding objects underneath a graphics subsystem interface object, allow a programmer to work with all of the objects, thus allowing far more freedom. All of the actual code, of course, will be compiled into thier respective DLLs, so we would NOT be releasing actual source code, simply class definitions. And of course, We would no longer be using the "Divinity Engine", but instead the "Divinity Library".
Input, please =).
Also, do you guys want me to try to add building shadows to the terrain? For units, I was simply planning to render a simple circle that fades toward the edges for a shadow, but I dont know if you want that for the buildings as well, or if you want higher detail shadows. Let me know =).
Z.
-
Zaei: I think that will be an excellent thing that you should definately do!
Both from writing the sub system for networking and from writing my own engine i can say that the more "modulised" it becomes the easier and better it can become. It sometime introduces problems with things been defined twice or not avaiable through the header include system though it IS do-able.
The networking is in its own module so that is no problem. I would suggest a low level system first, basically all your file access, matrix, vector math etc. Then have your resource loaders, input subsystem, graphics subsystem then on top of that have the terrain and the ui.
I will see if i can get you email addr from somewhere and send on the engine that i have from this book which shows a pretty good structure.
-
If it means it's easier for you, go for it.
And for the shadows. Make it an option to have the shadows on the stencil buffer (or whatever else you're using), and another option for circles (read: low poly).
Also, I had an idea recently for the particles. Particles are traditionally quads, but if we make them triangles (with the texture as a circle in the very inside), we can save 1 poly for each particle. It starts to add up when you have thousands of particles on the screen.
My IIS is configured and ready to go. I should be coding the forums at about 1/2pm.
-
Well, Psy, the real problem is that the current set up is TOO modularized. THe original idea was that only a plugin to the engine would have access to say, an IDevice pointer. That means that I would have to write a WHOLE lot of plugins to do even simple things. At the moment, I have actualy written a work around plugin that allows me to get at the hidden IDevice object, and thus use it. I dont like this, since it is sloppy.
Sas, when you create a particle out of a triangle, you have to create a MUCH larger triangle to get the same sized image, which can really kill your frame rates (larger triangles take longer to draw). Also, on slower cards, the engine is not limited by geometry transformations, but filling the triangles. What I can do though, is add in the option for triangular particles, because they can be used for things like rain, and projectiles, and sparks.
I cant wait to see the forums, Sas =).
Oh, another thig Id like to see... Image attachments, for authorized users only (so we dont kill our server space), and having those attachments displayed in the thread.
Z.
-
I have to agree with you there Zaei. that IS TOO modular. I guess what i meant and what u want to do is a library thing where it is easier for anything to get access to anything. That work around thing seems a bit crap (personal opinion).
My engine is much more simplar with the key application under a tsCApplication class.
This has then window (win 32), which has screen (wgl setup) as a member. Then to the application i have world, input, sound and various other "modules", the WinMain function is in the library itself and to make it work the program that wants to use the library derrives a class from the application class. then the engine runs and uses the init, run, shutdown functions of the program. these functions can then be changed to put to a new class so u can change states form menu, options, credits, single player etc etc VERY easily. let me know if you want some sample source of this from my talisman engine.
Personally i think its a very very good method to use and is my favourite. I adapted the idea into my engine from one created by the Bitmap Brothers - whom are an excellent game coders in britain (made Z and speedball).
-
Alrighty... I ripped out all of the unneeded stuff. it was pretty painless, so I am happy. There are a few things that would use fixing, but over all, everything is good. I also implmented a mouse cursor, and accelerated mouse movement (feels better then regular movement =).
Z.
-
I was having some difficulties with IIS earlier today so I took a break (tried to get Wolfenstein running on Linux, broke X Window System (:() and then played it on Windows). I came back from that and now I've gotten it correctly configured. Bring on the code!! :D
-
I've got a lot done. The news is COMPLETE, and I'm starting on the downloads as we speak (website). Also, I had a great idea, and want all of your input.
Remember the tow:// idea? I'm taking it one step further. The installer will download the program that parses the tow:// commands and launches itself (due to Windows). It will then restart the computer to establish the connection, and then when you go back to the site, you can install ToW. You click on the link on the page that goes to somewhere like tow://install.
Then, it can do its installation routine. Then, you can check for updates (tow://updates), install new components (once again tow://install), and get a game list (tow://list). I think in this way, we can get intuitive web-integration into Times of War.
Any thoughts?
-
Sas, sounds good with the site!!!
Personally, if i think i have read it right it seems a bit crap.
I would go for the standard "donwload the software from the site and install" routine, the installe then has the tow:// thing in it. We only really wanted it to go in a web page to start a game and i think it shuould stay that way.
I have been working on a system that connects to an FTP server and changes the index.html file to redirect to a local server to get around the dynamic ip system, it also displays an offline msg when the server is down. a system like this should be implemented onto the site to let peeps know when servers are running and can play games. and when a game is started it auto adds it to the list!!!!
-
Hear me out. I made a mistake, it doesn't actually have to restart. Plus, this whole thing is completely invisible. Basically you would:
1. Download installer from ToW site.
2. Click install on the page (or click on the installer's start menu item).
3. Select components, install, blah.
4. Play ToW by selecting a server a) in the installer, b) on the webpage, c) in-game.
It's actually quite invisible, and only meant to act so we can access things on the home computer from the web (no, nothing malicious, I mean things like to check if components are installed).
It won't change anything on your side.
-
hmmm, im still not thinkin its the best way to do things but if you think it will go good then well give it a go. I think im not quite seeing this how you mean, but still...
-
Sas, sounds good, but I would also allow downloading of an actual full install. Remember, though we are going to be making this game as small as possible, people on a 28.8 modem will still think it is a pain in the arse to sit with an installer for 10 hours.
After that though, the tow://update thing sounds cool =).
Z.
-
Thanks for the input. Another good idea: We could have 3rd parties use our installer like so:
tow://www.mysite.com/mod_install_script.towscript
Then the installer would launch and voila, you will be installing a mod for ToW. Also the same for maps and stuff (saves you from manually downloading them and finding the directory, at least).
And the installer will allow you to select components, and then downloads/installs them as it goes, without user intervention. Turn on the installer and go to sleep :)
-
I have had a headache for the last 30 hours, which is why nothing has gotten done, but I will try to get some work done tomorrow.
I actually did some work on DivDatabase today, and added in a nifty timer functionality into the engine/library. Any object that inherits from the ITimer interface can overload the On_Timer() function, which is called every time a frame ends. Should allow for some neat effect objects (expanding shockwaves, and such like =).
I want to try to get the unit selection stuff working soon, so that I can show off something soon. Also, how do you guys want me to handle map edges? Simply a black void? How about sky (or will it not be visible)?
Z.
-
I've thought about this. What I think we should do is have the map extend outwards beyond the edge of the viewable area. So when you scroll to the edge of the 'inner map', you would be able to see the outer map, but you can't scroll so you can see PAST the outer map. In this way, it's percieved as a complete world.
-
I would agree, the only problem there is that the viewable area in FRONT of the camera is quite large. Yuo can generally see all the way to the horizon. Do we want to keep the camera angle suitably steep so that only ground is visible at all times?
Z.