PDA

Click to See Complete Forum and Search --> : Times of War Development Team


Pages : 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17

Zaei
Jan 9th, 2002, 06:33 AM
I think it would be easier if we had a train option in the peasant menu. You would select what the peasant should train to, and then they would go to that building, instead of selecting a peasant, then finding the building, etc.

Since most every bit of TOW economy relies on peasants, they should be created fairly quickly, at a regular rate, depending on the number of houses. If, at some point you find that you have too many, you can limit the number.

Z.

Sastraxi
Jan 9th, 2002, 07:19 AM
Yeah, that's basically the idea. Jorj raised a good point in a chat we had - to further reduce micromanagement, we can have a ratio button. It would let you decide what percent of civilians created are trained into whatever.

Zaei
Jan 9th, 2002, 07:45 AM
Yeah. This is where the Window UI is going to be invaluable. We are going to have a lot of options, and it will make that managment a lot easier. The option of micro managment must be there, but you can delegate it to the computer if you want to.

Z.

PsyVision
Jan 9th, 2002, 12:44 PM
I would start on some networking demos and things to show you and start working on ideas but i cannot get my *ahem* cd to install the software so its all ****ed atm.

PsyVision
Jan 9th, 2002, 02:02 PM
ok, i got this mother ass installed and working :D

800 Posts :D:D

Sastraxi
Jan 9th, 2002, 03:00 PM
Excellent.
If you need a testing bed for the other side of communications you can give your exe to me...

Zaei
Jan 9th, 2002, 04:12 PM
I am going to want to really compress the data sent from computer to computer. We will need facilities for both UDP (in game stuff) and TCP/IP (lobby stuff, chat, etc). If you want, you could also try some multicasting stuff (there was a feature over on gamedev a while back on this). I dont know if you want to do this in straight WinSock, or if you are going to use DPlay. Either is fine for me. Otherwise, just keep me posted =).

Z.

Norman_Nomein
Jan 9th, 2002, 10:36 PM
I m getting behind but expect the unicorn along with 2
other pics for the weekend

Sastraxi
Jan 10th, 2002, 07:05 AM
Really? Cool :)

PsyVision
Jan 10th, 2002, 10:29 AM
i shall be using winsock as i dont want to get into having to link in direct x with the other direct x already used for the graphics, i also dont wanna get involved for the theory that i use open gl and not direct x and i dont wanna go down direct x route atm.

SO ! Any Information On Winsock In C++ Would Be Nice

I will get some demos off planet-source-code.com. I will probably need some help on how this is gonna work for instance with lobbies, im thinking eah lobby has its own id, eah user shall have their own id too.

Asap i shall get a demo done that shall be a simple chat application which has its own different rooms or lobbies, whatever u wanna call them, then i can work from that. A few things i want u to answer me back on: (the first demos will be done in vb coz i know winsock best in that):

- Will i need a different thread for each winsock connection to the server ??

- One lobby per game, ie u join a game and u go to the games lobby ??

OR

- Diablo style where u have lobbies, then from anyone of those u can join any game ??

- Are we gonna have a central server where ALL game data passes through ?? or do we have like where u have to get someones IP and enter it for like direct play which takes the load of a central server and puts it onto a seperate user, the downside to a decentral server is time (having to get all ur m8s in one place where otherwise u can see if theyre on and play them) hacking the net and adding proxies to modify data becomes easier (do we have to combat that anyway ??) ?

At the moment i just need some help on WHAT we want and HOW is best to do it.

PsyVision
Jan 10th, 2002, 04:12 PM
me is thinking that direct play is going to be easier. do u want me to create a new direct x instance or can u pass on how to link it to the existing dll files that contain the direct x part ?

Jorj
Jan 10th, 2002, 07:07 PM
Igor (or other composers on the team),

I was just listening to 'Theme from the Hunt for Red October'. I thought it was an excellent piece of nationalistic music and, perhaps, when I'm more finished the story, I could write some lyrics in a civilisation's language if you could write a stirring piece like that. If you haven't yet heard it, I heartily recommend it.

Any thoughts on this matter?

Zaei
Jan 11th, 2002, 06:39 AM
Sorry for the massive downtime there, guys. Comcast (our ISP) is switching over to a new network, and we had a "temporary interruption in service" that lasted all day =). It is working again, though Im not sure if I will have the internet on my personal computer again. We will see =).

On a much happier note, I finally kicked my ass into gear, and got a significant amount of work done last night. More to come this weekend.

Psy. I dont think we will be able to afford a central server. This is what Multi-Casting is all about. It actually allows people to group together without all connecting to a server. Like I said, there is a tutorial about it over on Gamedev. You may want to take a look to see what I am talking about.

I dont know much about Winsock in C++, so Im not sure if you will need to thread. If you find that connections lag, and the program actually waits for data, thread them, but I think you can create asyncronous sockets (non-blocking).

Z.

Zaei
Jan 11th, 2002, 06:44 AM
Oh.

Psy. None of the other DLLs use DPlay at the moment, so I dont even link with that library. This will all be in a single DLL (preferably DivMP.DLL, or DivNetwork.DLL, or something along those lines, you pick =). You should wrap all of the functionality up into a class that allows the simplest interface possible, then export that class from the DLL. I shouldnt have to know a thing about multiplayer programming to use it. I will have to get back to you on the specific methods needed, because I dont know yet.

Jorj. Sounds great, though Ive never heard that theme =).

Z.

Sastraxi
Jan 11th, 2002, 07:13 AM
RTS online play requires a lot more packets than strategy play, namely because of more units and buildings that you wouldn't have in games such as Half-Life or Unreal Tournament. However I think it may even the tables in decals, in 3D shootem up games you need to have all the holes in the walls, etc, so you have to transfer more.

But if we make dynamic terrain we'll have to send over what terrain changed!

Hmmm, we'll get it sorted, I'm just trying to figure out the best way to send the data from computer to computer.

PsyVision
Jan 11th, 2002, 11:36 AM
god damn hotmail, dont u hate it when u have to visit a site and u get that crappy msn thing that appears, like wen u get a link in a hotmail ???? it just ****ed my post.

i think this is all i had to say.

does direct play only do the lobby stuff, game data has to be sent still using our own winsock system ??? if it doesnt do game data i will run for direct x all the way through.

what i meant zaei is that u have alread created an instance of direct x for direct draw / 3d, or whatever its called now. do u want me to link to that direct x instance or create one specifically for direct play ??

i shall dl that multi-casting article (already seen it once) i think only some isp's allow it ???

i think the best method to do this system would be:

People download a copy of the game, with this they can choose multiplayer server or client. once they start a server the ip address gets sent to a web page on the site (done thru ftp with our sites server). People can then goto this site and see servers that are running and connect and play. This means no central server, and one chat room per game. they cna also have the option of not having the ip sent to the web site (for personal games).

if so... do we want servers that HAVE to be dedicated or do we want people to be able to play and have a server (so they dont have to have two pc's) ??

PsyVision
Jan 11th, 2002, 01:26 PM
i started on the app into C++.

im using winsock and asynchronous sockets (multi-catsing is only supported by some isp's so im not going there). asynch's are better than non-blocking :D the only problem is they require a window to be created because they use the message queue. i think i shall just make the window invisible to the user.

Zaei
Jan 11th, 2002, 06:27 PM
DPlay can do all of your data transfer for you. Its not just for Lobbies.

In C++, you dont create an instance of DX. You can immediatly create a D3D Object to create a D3DDevice from. This should be the same for DPlay. The Graphics sub system is completly contained, so all other code is forced to use only that system, through the methods I allow.

Z.

Dork 1
Jan 11th, 2002, 09:19 PM
I tried the demo thingy of ur game but it does not work

OS - Windows 2000 Pro SP2
System - Athlon 850mhz 382mb Ram 32mb AGP Video Card

Just thought you might want to know.

Zaei
Jan 11th, 2002, 09:30 PM
What card, and what happened when you ran the demo?

Igor. I believe that the first tutorial is ready. It's pretty hefty, coming in at around 9 pages in Word. I will post it tomorrow for you.

Z.

PsyVision
Jan 12th, 2002, 03:46 AM
ok, i shall use direct play then. i gotta dl the deverloper runtimes and the C++ SDK which is just under 200mb (on my 56k eeeek) so will take a while.

are we going for peer 2 peer or server - client, i think p2p would be better - though it depends on the number of players. and i need an answer to this:

People download a copy of the game, with this they can choose multiplayer server or client. once they start a server the ip address gets sent to a web page on the site (done thru ftp with our sites server). People can then goto this site and see servers that are running and connect and play. This means no central server, and one chat room per game. they cna also have the option of not having the ip sent to the web site (for personal games). - depending on the answer to this i will choose p2p or client - server.

Zaei
Jan 12th, 2002, 06:17 AM
If you download the SDK piecemeal, you could probably get the SDK and C++ docs at under 70 megs. You might want to get the samples as well though, to check out how they set up their DPlay stuff.

We are going to want Client Server. P2P gets a bit complicated when you have more then 2 players, because everyone has to send data to everyone else, which causes lag (4 people playing is 3 times the data you would normally have to send). If you do Client Server, the burden is put on the server, so clients dont lag as much if they are on a slow connection.

Z.

PsyVision
Jan 12th, 2002, 07:04 AM
As well as the SDK for C++ which is 70mb i also need to get the developer runtimes (according to the site) which wops another 130mb. Im dling the SDK for C++ atm which will take 7hrs (done by tomorrow nite due to me not being at home etc). i will then try compile an app and c if it works, if it dont i will get the dev runtimes, if it works then i wont.

I shall go for the server client option then, servers will have the option to be dedicated or not.

Sastraxi
Jan 12th, 2002, 10:11 AM
We have a bandwidth cap at our website and that would quickly get eaten up if we had this many players. I think we'll need to find somewhere where we can do this for free, I believe there are some sites that allow this for games.

Zaei
Jan 12th, 2002, 02:09 PM
The debug runtimes just spit out info into the debug output window in MSVC, nothing more. You dont need them to write DX apps.

Z.

PsyVision
Jan 12th, 2002, 02:38 PM
zaei - thats what i thought, im going for the straight C++ SDk, which is 130mb.

i need some more info on direct play. msdn seems crap. i got the article from gamedev.net though it uses version 5 i think. i have the direct x 7 cd so i will get the demos off that to get the general theory going but i could do with the direct x 8.1 demos if someone could mail them to me zipped or upload them to a / the site.

Zaei
Jan 12th, 2002, 03:02 PM
Here you go Igor. I hope its what you were looking for =).

Z.

Jorj
Jan 12th, 2002, 03:07 PM
Good news! I've completed the history of the world as well as the present-day map and language family trees. All that remains is to make the languages, name the countries, and create their cultures.

PsyVision
Jan 12th, 2002, 03:14 PM
Cool =)

Zaei
Jan 12th, 2002, 03:59 PM
Sweet, Jorj!

Z.

Norman_Nomein
Jan 12th, 2002, 06:25 PM
jorg you sound like a prodigy writer

Sastraxi
Jan 12th, 2002, 06:30 PM
I think he is too :)
Norman, do you have any more pictures?

PsyVision
Jan 13th, 2002, 06:39 AM
Nope, will be the same speed, i get about 4kb a sec downloading, will take about 6hrs from now, so i should have it by the end of tonight.

PsyVision
Jan 13th, 2002, 11:03 AM
Grrr this is so annoying, i have 52% done.

Zaei
Jan 13th, 2002, 12:06 PM
I havent had Internet since 7 last night =(. I am working one getting rendering set up, then some stuff in the guts of the thing. Then, I think, I will write an ASE converter to get 3d models into our format. I should have rendering up and running tonight.

Z.

Zaei
Jan 13th, 2002, 03:58 PM
Well, Ive got D3D to clear the screen so far =). Now its just a matter of importing the model classes and such.

I also figured out why the demo's cursor lagged while moving, and the other applications that Ive written dont. For the demo, I was using the message handle to wait for keydown messages. If you have a lot of these messages coming through (ie, holding the key), it lagged the system, which also causes the mouse to lag (i was handling it the same way). In all of the other things ive done, I used the GetKeyState() function. This will be fixed =).

Z.

Norman_Nomein
Jan 13th, 2002, 04:38 PM
pictures coming soon... midterms are slowing me down

Sastraxi
Jan 13th, 2002, 06:23 PM
Well don't rush it, I hope your midterms go well :)

Dork 1
Jan 13th, 2002, 10:57 PM
something along the lines of unreadable or something and at block (some hex didget) it was just a currupt download i think i tried it again and it works fine.

Zaei
Jan 14th, 2002, 06:35 AM
Well, guys, I think that rendering a model will work now. I havent been able to test it yet, as I had to go to bed right after I got most everything working, but I will test it when I get home.

Unfortunately, the computer with the internet has a virus, so I probably wont be able to get here at home. Hopefully this will be resolved soon, so that things will get back to normal, but until then, I will be a bit limited in the area of communication =(.

Z.

Sastraxi
Jan 14th, 2002, 07:28 AM
Hmmmph... Those virii...

Too bad.

Dork; did you mean to post that in Sentience or somewhere else?

stickman373
Jan 14th, 2002, 05:07 PM
Originally posted by Zaei
No, he meant us =).

Yeah, the thing corrupted explorer.exe (the windows shell), so I have to start IE from the task manager. I probably wont be making many posts for a while, but I will be working =).

Z.

sorry to crash da party but just read your post and i had the same problem and if it is what i think it is it is really easy to get rid of. I got mine from a filesharing program.

Has to do with clicktowin thingy or at least mine was.

This Trojan has two components:


Explorer.exe, which is the main Trojan.

Dlder.exe, which is the downloader for Explorer.exe.


http://securityresponse.symantec.com/avcenter/venc/data/w32.dlder.html

here is an article of how to rid yourself of it.

Okay, hope that helps ya!

Zaei
Jan 14th, 2002, 05:52 PM
No, this thing cranks out 7.5 meg email files into every folder on the hard drive. if you let it run long enough (5 minutes, maybe), you dont have any space left. It's pretty nasty.

I have model rendering going =).

Z.

Sastraxi
Jan 14th, 2002, 09:53 PM
Ah well to keep you updated the "creative juices" have finally started to flow... in short, the design of the website is complete (in my head anyway). In short, the website should be up by the end of the month... sooner if not automated.

Zaei
Jan 14th, 2002, 10:08 PM
We bagged the virus (we hope). It was Nimda =(. We are also setting up a Win2k Advanced Server Server, so I might be getting the internet back, by, oh, thursday, depending on how long that takes.

Z.

PsyVision
Jan 15th, 2002, 02:20 PM
DAMN THIS ****ING ****

GoZilla seems to have scrwed my download at 60%, i will try to fix it but im not sure if i can, may have to start again with downloading.

Sastraxi
Jan 15th, 2002, 03:44 PM
Advanced server eh?
OMG... This is the SDK?? Hmmm, order it on CD. It'll probably take less time :D

PsyVision
Jan 15th, 2002, 03:56 PM
yup that was the SDk, cant fix gozilla's file list so i gotta start again.

Janus
Jan 15th, 2002, 05:05 PM
The plural of virus IS virii, actually.

Jorj
Jan 15th, 2002, 06:03 PM
Virus is fourth declension, not second:

N virus virus
G virus viruum
D virui viribus
Ac virum virus
V virus virus
A viru viribus

By the way, quomodo cognovisti Latinem? Quando coepisti?

Sastraxi
Jan 15th, 2002, 06:23 PM
Janus, you have entered the twilight zone. Jorj knows a lot about languages! ;)

Zaei
Jan 16th, 2002, 06:34 AM
I should know at least a bit of Latin, but it was more like War Stories I and II, instead of Latin I and II =).

Z.

Zaei
Jan 18th, 2002, 06:36 AM
Sorry I havent made any posts in here for a while. I've got some stuff going on at this end, so I havent gotten much time to work on the game at all. I will get back to you all later.

Z.

Sastraxi
Jan 18th, 2002, 03:47 PM
Real life, what a waste :D
Over at my end there are some things too going on, but I'm going to *definately* work on the site today.

Zaei
Jan 18th, 2002, 06:51 PM
I started in on an ASE (3ds max ASCII format) converter, and so far, no problems. More to come.

Z.

Norman_Nomein
Jan 18th, 2002, 07:31 PM
I will send the unicorn soon... I got an F in math midterm....

Sastraxi
Jan 18th, 2002, 07:54 PM
Zaei: Good to hear!
Norman: I'm really sorry to hear that... I hope that you get better marks in your other subjects, and an A in art!

Zaei
Jan 18th, 2002, 10:02 PM
The converter is working just great. I had a bit of a problem at first, because a bunch of the faces werent showing up, but that has been fixed, and models import correctly now =). I still need to add normal conversion (at the moment it only imports vertex coordinates and vertex indices), and then texture coordinates, and repackage it into a better format.

Z.

Zaei
Jan 19th, 2002, 09:11 PM
Im working on importing bones at the moment. I have a bad feeling that bone rotations use Quaternions, so i am going to have to learn those before I can do any rendering. Anyway, thats what I am up to.

Z.

Zaei
Jan 21st, 2002, 09:33 AM
Note much going on in here in the last few days, huh? Everybody still here?

Ive realized something in the last few days. A lot of you guys have a bunch of programming experiance, and I am kinda stealing all of the for myself. Im really sorry. I dont want to hog the entire project for myself, not at all. If any of you guys want to do some of programming, There is a bunch that you can do. Please, just let me know =).


I can now extract bones from an ASE file, but I am still working on grabbing the animation info. I still need to figure out what things i need.

Z.

PsyVision
Jan 21st, 2002, 10:35 AM
I have been working on a chat program that uses winsock which can accept multiple users. i will post the demos soon as the first winsock test. Note at the moment it is just for pure chat purposes. Nothing special :D

The program should be posted (client and server) tonight.

PsyVision
Jan 21st, 2002, 11:48 AM
Here it is - The Server and Client Winsock Version.

When you run the demos you will first notice it is under the name Talisman. This is because i have been creating this project to run along side a 3d engine that i have made to create a 3d chat program for some friends. This is only a GUI thing and it is not burried in the code.

Here are some rules for the programs:

Client
-------
- The client cannot be closed until logoff has been selected from the menu.
- The long thin text box is where you type and press enter to say something, the others a fairly self explanatory.
- The client can be configured with command line parameters in a shortcut to enter the data for you if you are always connecting to the same server / port / name. This follows the rules below:

"C:\Client.exe" /add server port name

Where server is the ip address, port is the port and name is the username. E.g:

"C:\Client.exe" /add 127.0.0.1 50 Richard

Server
--------
- The server cannot be closed until it has been stopped from the menu.
- The long thin text box is for talking - same as client.
- The server HAS to be configured via a shortcut file otherwise it will only take 2 connections and they will be on port 0. This follows the runs as below:

"C:\Server.exe" port clients

Where port is the port the server listens on and clients is the maximum number of clients that can connect at any one time. E.g:

"C:\Server.exe" 50 10

I think that is pretty much it, the server and client should be attached below, in the zip is a shortcut showing how to setup the client and server ;)

Big big thanks to parksie for his excellent code =)

Enjoy !

P.s - There was a huge problem with memory leaks and some code not working due to vectors not being cleared. I have not tested the new code on other machines yet so it may work or not at all. I just got a message from parksie saying it all brakes on his pc though he is behind a firewall. If there are any major problems then the code shall be removed until i have it working through further tests. I shoulg be testing with a group of local friends later and should be able to sort any bugs then.

Zaei
Jan 21st, 2002, 11:54 AM
parksie is certainly the man =). So, one thread per client on the server, correct?

Z.

PsyVision
Jan 21st, 2002, 11:57 AM
No, the server is a non-blocking server as opposed to a threaded server. The threads are for the client and server to run continuos loops sending / recieving data through winsock.

Zaei
Jan 21st, 2002, 01:53 PM
Ah, ok.

I found a little bug. If you star the server, and connect two clients, type a few things, then disconnect the client you connected second, the server and first client will repeat the last thing said by the second client forever. If you then try to reconnect the second client, it will repeat the "System: User has joined the chat" message forever.

Z.

PsyVision
Jan 21st, 2002, 03:06 PM
Yeah, its not perfect but at least it works, i have noticed that sometimes clients dont disconnect properely and also that the last thing said gets echoed back.

Zaei
Jan 21st, 2002, 03:25 PM
Yeah, its really great! Is it MFC, or straight API? Either way, its more then I can do (need to learn API GUI creation at some point =).

Z.

PsyVision
Jan 21st, 2002, 03:37 PM
Tis 100% pure API.

Im still not 110% happy with it. Im thinking of changing to a threaded server, although would spanning 100's of threads be a good idea ?

I think for the moment i will remove all of the code for commands and re-do them to get it working better.

Sastraxi
Jan 21st, 2002, 04:13 PM
Once we've got the core engine absolutely finished (about the code thing), I'll be able to jump in and do lots and lots of DScript. I'm actually thinking of making a point & click editor for DScript in Visual Basic, and then the code will be compiled, and only the underlying script will be the confusing-yet-fast (;)) Divinity Script.

Zaei
Jan 21st, 2002, 04:20 PM
We shouldnt ever have more then 10 people per server, which isnt that many threads.

One thing we are going to need is an Area Editor. If youve ever used the Warcraft2, or starcraft editors, thats what I am talking about, except you only place buildings and units. Then, each of these areas are loaded at runtime, and basically dropped onto the terrain. If someone wants to take this one on, i can give some more info.

I also created a pretty cool tower model earlier, with ~100 faces.

Z.

Sastraxi
Jan 21st, 2002, 04:25 PM
The client/server thing is very good too.

Psyvision, if we can, try for some architecture that allows for streaming audio (and maybe video too). We can use this (possibly) for webcams and streaming chat from users, such as encoded-on-the-fly Mp3 voice chatting. This is all thinking out loud, however. For the main music we should use either AAC or VQF (next-gen MPEG-4 audio codecs), because they offer better sound quality and smaller file sizes. A 96 kbps AAC is better than a 128 kbps MP3, for example. However I didn't suggest it for the chatting because it's really slow to encode. A 5 minute song took ~12 minutes with the AAC encoder. However, it sounded awesome.

Sastraxi
Jan 21st, 2002, 04:27 PM
Ah, so what you're saying is that we could have different terrains under these buildings?

Excellent...

PsyVision
Jan 21st, 2002, 04:52 PM
Here is the latest version of the chat, guaranteed not to **** up like before, guaranteed not to let two users with the same name on the server =)

Generally more improved code, if the server is quiteed the clients disconenct properly, the repeating messages should be gone all together. The messages apearing when u press disconnect (the last thing u said) should be gone too.

Im thinkin this sunday about 1.00pm GMT we should do a test and get as many people onto the server as possible (get loads on vb forums) to download the client and see how many it can handle without lag.

PsyVision
Jan 21st, 2002, 04:56 PM
Ooops, forgot to include.

Well, thats 4hrs of work on this today. Time for bed me thinks.

Zaei
Jan 21st, 2002, 05:37 PM
Exactly right, Sas. This will save memory, because we only have to include an identification (probably a filename, or part of one), a phi and theta(for positioning) value, and a team. It shouldnt be a very hard assignment, but polising it up might require some graphics =).

Z.

Zaei
Jan 21st, 2002, 05:38 PM
Oh, and Psi... Sounds good =).

Z.

Jorj
Jan 21st, 2002, 10:30 PM
Status report:

I've got three of the languages done.

I've also started on the cultures. Here's a map of the current civilised nations in the world. Note that these are few of many abilities that I or others can think of. If you have a suggestion, be creative, but logical. Also, think foremost of balance.

CULTURES (in terms of the game)

1: Seeing as this is primarily a rainforest culture, these people would most likely specialise in slashing weapons (due to the need for cutting through foliage). They should therefore also be able to move through forests more quickly. However, few cavalry.

2, 3, 4: These are likely to be of the same culture, because they were, until recently, one country. A good infantry civilisation would be feasible here because of the climate type: Mediterranean. Remember, Rome was a Mediterranean country and had the best infantry in the world!

5: This would probably be similar to 2, 3, and 4 except for the fact that this culture is in a marine climate type with abundant trees. Thus, archery and shipbuilding would probably be predominant here.

6: This culture is most likely to be the most navally-intensive culture in the world. It has almost constantly had overseas colonies throughout history, but has often failed to keep them. A naval society would be perfect here.

7: This country is in reality a league of newly-civilised barbarian tribes. Since it borders the steppe, strong avalry would be a probability, yet I think that the true strength of this country would lie in its 'shock troops'.

8: This Mediterraneanly based society is building off of the remains of one of the most ancient societies of the world. This could be a typical well-balanced culture, or it could have a few eccentricities. This will need to be debated upon.

More to follow...

Sastraxi
Jan 21st, 2002, 10:46 PM
This is all great work, guys! Great, great, great all around!
Expect the new site to be up on Saturday. Not database oriented, but all up.

Zaei
Jan 22nd, 2002, 07:17 AM
Jorj. Just some brain storming...

Why did 2, 3, and 4 split up? Was it an unfriendly split? If so, each culture would probably be trying to be as different from the others as possible. If it was friendly, what happened? Is there some way that we could incorperate this?

Z.

Zaei
Jan 22nd, 2002, 01:13 PM
I am adding vertex normal exporting to the converter. It should work, the way I have it, so I am trying to get D3D Lighting to work correctly.

Z.

Zaei
Jan 22nd, 2002, 02:21 PM
As far as I can tell, the normals have exported correctly. I got lighting to work just fine. The faces were backwards though, so the model was inside out, but I fixed that in the exporter, and everything works correctly now =).

Z.

PsyVision
Jan 22nd, 2002, 02:36 PM
LOL - I realised today that after re-writing the code for the server and client i had missed out a load of it so text wasnt being sent properly to all the clients. The problems have been corrected now.

Zaei
Jan 22nd, 2002, 02:47 PM
Oops =).

Z.

PsyVision
Jan 22nd, 2002, 02:52 PM
I was thinking this weekend to go for a test with the server and to get as many people from these forums onto it as possible to see how well it stands up to the mass number of users and to see the lag.

Whatcha think for a test with a max of 100 users this sunday at 1.00pm GMT ??

Sastraxi
Jan 22nd, 2002, 02:53 PM
So you're telling me that we can now convert ASCII 3DS files to ToW Models??

AWEsome. Is everybody fine with the AAC/MP3 ideas?

Zaei
Jan 22nd, 2002, 02:58 PM
I wont be here this weekend to do the test =(.

As for streaming audio, I think taht we should make the multiplayer component very modular, and build the rest of the system first. Then, depending on the bandwidth usage, we could stick it in(I think that I calculated a max of 200 net messages per second on a 33.6kbps connection at one point, but dont quote me).

I think the next demo will be something Diablo Styled, to show off animated meshes, and also allow me to figure out walls, and someone else can do the area editor. Of course, this is just an idea, anyone can make suggestions if they like =).

Z.

PsyVision
Jan 22nd, 2002, 02:59 PM
Streaming wont be able to be done on the server with it in its current form, it would need two threads per connection for it to work well because:

1 - For Game Data
2 - For Streaming Data

So if as Zaei said we would have about 10 users on the server that would be 20 threads which i dont think is too bad - tho not sure.

P:s. Sas - I pissed up adding files to the web site, can you please remove all of the winsock ones. I added the first and it worked. Then the second load it didnt and then so i added the latest version coz it wasnt there and they all appeared.

PsyVision
Jan 22nd, 2002, 03:03 PM
I can make all of the networking stuff go into a dll so all that you have to do is call one function in that which spins off a thread to run the server in which spins off threads for the connections.

Parksie says we are safe with 20 threads.

Can we leave streaming out for the moment and get the chat and game data sending going first ??

Am i correct in saying that we have someone starting a server somewhere from which people can join to and there is only the one lobby on the server which is for that one game ??

Server and client will be built into the same thing so people can host and play ?

Servers will have an option to be dedicated or non-dedicated ?

PLEASE GIVE VIEWS ON THE TESTING OF THE SERVER AND CLIENT THIS WEEKEND SO I CAN GET A POST IN SOME OF THE OTHER FORUMS (GENERAL) TO GET PEOPLE KNOWING THAT ITS GOING ON

Zaei
Jan 22nd, 2002, 03:08 PM
20 threads is certainly ok. We should definately have the option of allowing players to host and play at the same time.

Z.

PsyVision
Jan 22nd, 2002, 04:17 PM
New Functions:

Server
--------
Can now boot users
Can now whisper to users
Can now send text to users without the "Server:" prefix

Client
-------
Can now whisper to one another

To be added - Logging

Sastraxi
Jan 22nd, 2002, 04:45 PM
Servers should be able to ban people too. In Half-Life, each CDKey & Installation is given a WON ID. When they ban a user they stop their WON ID from ever coming back. So, we should promote a system like that too, so that people that cheat (I'm thinking about it already, I was just playing CS with a bunch of cheaters! :eek: ) can be banned, and banned for good.

Sastraxi
Jan 22nd, 2002, 04:51 PM
Yes, both server types should be available. Is the Dedicated server window going to be a console or have a GUI? I hated Half-Life's dedicated server console, it was really hard to look up commands and such. Also we need room for server "plugins", so that they can add things such as anti-cheat software and new admin/user commands (such as the infamous AdminMod).

Sastraxi
Jan 22nd, 2002, 04:52 PM
Files have been "un-pissed"!

Jorj
Jan 22nd, 2002, 05:33 PM
Zaei, I believe there was an error in my previous statement. I will address it at the end of this statement.

Here's a compact history of the region contained within those countries that will clarify things:

(note: I gave each country a unique identifier corresponding to the technological level in which they were founded. These are not their real names.)

(note: all dates are approximate)

90 - Massive migrations begin in the region.
240 - ALTI founded on the southeastern shore.
250 - Migrations end due to ALTI's civilising influence.
360 - ANTIS is founded on the northwestern shore.
380 - ANTIS begins its expansion southward along the shores, conquering the sedentary locals there.
470 - ANTIS' armies march southward and invade ALTI.
480 - The ANTIS-ALTI border is stabilised, with ANTIS making negligible gains.
500 - Copper is first utilised in weapons in ANTIS. Its use soon spreads to ALTI.
590 - The ANTIS script is introduced to write the ANTIS language.
610 - ALTI adopts the ANTIS script to write the ALTI language.
690 - ALTI begins a golden age of art, literature, and science. ANTIS script used along the coast of the entire region.
760 - ALTI expands into the interior of the region.
790 - ALTI brings the ANTIS script to its newly conquered territories.
960 - As a result of the increasing freedoms given to the local authorities in ALTI, which in turn was due to the difficulty of governing so much area, many of ALTI's cities declare independence and the kingdom collapses. The squabbling principalities have little to no power on the world stage.
1140 - After stagnating for six hundred years with few competent rulers, the kingdom of ANTIS falls prey to the same fate as that of ALTI.
1150 - Taking advantage of the regional chaos, one of the former ALTI city-states, led by an exceptional ruler, founds an independent kingdom called BINTA and conquers the former ALTI heartland along the coast.
1250 - BINTA conquers the former ANTIS city-states which occupied the coast to the south of the once-home of the ANTIS kingdom.
1320 - After consolidating its gains, BINTA produces great philosophical and poetic works, as well as great architecture.
1380 - BINTA annexes all former ANTIS territories.
1920 - Bronze weapons are introduced to BINTA from overseas.
2220 - Iron is first used in weapons in BINTA.
2600 - The king of BINTA is the adopted barbarian son of the previous king. A strong cavalry force is added to the army of BINTA, as stirrups are introduced.
2690 - Using their newfound weapon, BINTA conquers the interior of the region, leaving only the northern coast independent.
2700 - The early middle ages begin in BINTA.
2860 - The world experiences great prosperity.
3510 - The feudal age begins in BINTA.
3920 - There is a massive civil war in BINTA. A radical faction wanting an end to the old monarchy attempts a coup, but is forced to retreat to its power base in the north, where they form BINTA2 (2) and promptly expand to the northern limit of the region.
4040 - The armies of BINTA attempt to destroy the government of BINTA2, but make only minimal gains.
4130 - BINTA2 regains its lost territory.
4150 - A worldwide plague outbreak occurs.
4180 - The plague dies down.
4260 - The area occupied by the modern day country 4 secedes from BINTA, forming the kingdom of EVV (4).
4290 - Binta becomes two countries, EBYN (3) and EBAN (5).
4310 - There is a resurgence of the plague,
4370 - The second plague ends.
4510 - There is a rebellion in BINTA2 trying to bring back the old BINTA lingdom, but it is crushed.
4530 - The world experiences great prosperity.
4710 - THE PRESENT DAY.

2: This is an anti-monarchy country which has been having problems with rebels lately.

3 and 5: These, apart from the differences I mentioned earlier are probably very similar, each professing to be the true heir to the BINTA kingdom.

4: This is a country which is probably very much like 3, but with a barbarian cavalry influence.

I hope this clears things up.

By the way, you have a good point. Please continue to look at everything through the lens of logic, Zaei (and everyone else)! Good job!

Zaei
Jan 22nd, 2002, 07:48 PM
I can build a "CD-Key" feature into the program. People then email us, and we reply with a key. Can you set up an auto response on the website for this, Sas? I can then bury a UID deep in the registry, so that once a key is issued, another will not work.

On another note, A bunch of my friends got bored of CS, and want to bribe me into making a mod -.-;;.

I also started in on the Main Engine Editor, which will eventually encase all editing functionality of the game. It doesnt do much at the moment (I have a tree view, with a root node, and a single light), but that will change. I am going to more the ASE converter into this program, and build in a model viewer, and all of that.

Z.

Zaei
Jan 23rd, 2002, 01:22 PM
Well, I have added ASE importing into the editor, as well as model viewing. I have to write a TOW model importer in VB, as well.

Z.

PsyVision
Jan 23rd, 2002, 02:23 PM
Im gonna add the post to the General Forums about the testing because i think the server / client is ready for it ?

I had a lil look at skool today sas and i think there is still a version of the client on the site - can u remove it please.

Please correct me on this, is ToW a RTS TBS combination or what ?

PsyVision
Jan 23rd, 2002, 02:45 PM
I added it as a 3D RTS:

Times of War Networking text (http://www.vbforums.com/showthread.php?s=&threadid=137020)

Zaei
Jan 23rd, 2002, 03:55 PM
Its just an RTS.

Z.

Zaei
Jan 23rd, 2002, 05:16 PM
The model importer is done. Now i have to do skinned meshes.

Z.

Zaei
Jan 23rd, 2002, 06:32 PM
Well, ASE is just great for static meshes, it becomes useless for bone animations, as the animation fo the bones is not exported. I was at a loss for a while, but then I realized that the DX8 sdk comes with a 3ds->x file converter. Further, I remembered that you can export an ASCII x file. Also, the sample animated mesh that comes with the SDK is an ASCII version. So, I took a look inside, and I should be able to parse these files just as easily as I was the ASE files. Problem solved =). I will start in on these tomorrow.

Z.

Zaei
Jan 23rd, 2002, 10:16 PM
I added in scene loading and saving. The system allows for an unlimited number of user defined parameters. Example:

Root
{
Name="Root"
Parent=""
Type="Root"
}

DragonMesh
{
Name="Dragon Mesh"
Parent="Root"
Type="AnimatedMesh"
Pos=0.0000 10.0000 0.0000
Filename="\Media\Meshes\Dragon.model"
}

Would produce a treeview with the nodes Root, and the child Dragon Mesh

Root
Dragon Mesh


I will post a screenshot of the tool soon.

Z.

Zaei
Jan 23rd, 2002, 10:20 PM
Now that I think about it, the entire game can be defined with this format:

Game
{
Name="Game"
Parent=""
Type="Game"
}

Areas
{
Name="Areas"
Parent="Game"
Type="Data"
}

SomeArea
{
Name="Some Area"
Parent="Areas"
Type="Data"
Objects=2
Instance="Dragon"
Instance="Swordsman"
}


Gives:


Game
Areas
Some Area
Dragon
Swordsman


Z.

PsyVision
Jan 24th, 2002, 10:57 AM
You are working very hard on this Zaei!!

Good ideas and good coding!!

PsyVision
Jan 24th, 2002, 12:42 PM
I started on the dll for the networking today. In light of the GUI demo naming i have called it network.dll

The whole thing is called 'Divinity Networking Module'

There will be one main class called divServer, the idea is that you do like

class divNetworkServ : divServer {
};

The divServer will have a load of virtual functions to do with error messages and connections, i thought this was best so you can then change the menus / windows etc when it connects / disconnects etc.

Hmm, with looking on it on second thaughts im not sure if i should do like this:

class divNetwork - this comprises of an initialize function which takes 1 for server and 0 for client.

Then it sets an overall variable to whatever, then i can do if its the server do whatever if its the client do whateve.

Whatcha guys think on the structure of it ?

PsyVision
Jan 24th, 2002, 12:50 PM
I think two seperate classes will be simplar

PsyVision
Jan 24th, 2002, 02:14 PM
ok, current classes are:

divConnection
divServer
divSocket
divWinsock

im working on getting the server going first.

Zaei, whats your mail address coz i wanna mail you what i have done so u can see what its like (coding style, naming etc) ?

PsyVision
Jan 24th, 2002, 02:29 PM
well what i have done so far works, im havin a lil class error though atm.

i have a function called initialize() in divServer, divNetworking is then derrived from divServer. when i call divNetworking.initialize() i get an error so i had to add in a function to divNetworking which then calls divServer::initialize(). But it works fine.

In my simple demo i did, if u call winsock.initialize, then server.initialize, it works, but if u dont init winsock then the OnError gets called :D:D

PsyVision
Jan 24th, 2002, 02:32 PM
The current callbacks are:



bool OnClose (void);
bool OnConnection (int client);
bool OnDisconnection (int client);
bool OnError (int error);
bool OnInitialize (int port, int clients);
bool OnListen (void);
bool OnRun (void);
bool OnStart (void);
bool OnStop (void);
bool OnTerminate (void);

Sastraxi
Jan 24th, 2002, 02:59 PM
Since you seem to be having some sort of soliloquy here (I didn't spell that right, I'm positive...!), I'll cut in. Good work, it seems that you're really doing well with the networking code. As long as Zaei gives the all okay, it'll be set.

dec-arrowflight3@home.com

I think that's it...

PsyVision
Jan 24th, 2002, 03:08 PM
nope, the address was rejected.

Zaei
Jan 24th, 2002, 03:37 PM
No 3 at the end, but Im not recieveing mail at that account at the moment, and It will be closed at the end of February. The new one will be dec-arrowflight@comcast.net, for future reference. For now, send the files to k0k0_krispies@yahoo.com . =).

Your setup seems good, but you need to export a Class called Network, or Multiplayer from the DLL. This class should have methods to create a server, create a client, etc. Basically, a factory class.

Z.

rEaL iGoR
Jan 25th, 2002, 05:15 AM
im sorry for not being available. The Local area network at home have been sort of.. dead lately. Im at school now, but I'm doing some work and be ready for some new themes in not so long..

Sastraxi
Jan 25th, 2002, 07:09 AM
Ah you're back! I've even missed you on MSN.

If you've gotten up to date, Jorj asked you a question.. why don't you ask it again Jorj?

PsyVision
Jan 25th, 2002, 11:17 AM
Yeah, i will do that for ya zaei.

Zaei
Jan 25th, 2002, 12:06 PM
Sorry about a lack of updates yesterday.

Welcome back Igor. the Vertex Buffer article I wrote for you is back a few pages =).

I did more work last night on the editor, and things are progressing very well. Unfortunatly, I wont be here for the rest of the weekend, starting at about 3 today. Ill be back sunday night.

I will try to get back to you about the network coding early next week, Psy, as I dont know exactly when I will get a chance to really sit down and take a look at them.

Z.

PsyVision
Jan 25th, 2002, 12:11 PM
i decided not to send it yet, i wanna get some more basic and better code going.

PsyVision
Jan 25th, 2002, 12:44 PM
Darn this is complicated.

Im thinking like this:


Servers Main Thread
-> Check For Connections
-> Client Thread Started
-> Check Messages
-> Get Data
-> Act Upon It
-> Disconnect ?
-> Close Thread



Im trying to get this sorted in my head, do u have any threaded server demos of theory code zaei ?

PsyVision
Jan 25th, 2002, 01:47 PM
well im getting there, i now have connections being done and a thread gets spanned which then continually loops for messages and data.

Zaei
Jan 25th, 2002, 02:30 PM
I know very little about network coding, beyond simple things with the Winsock control in VB. I want to learn, but I need to set it aside for more important things right now =).

Are you using TCP/IP, or UDP? TCP/IP will probably be best for chatting, but fr the actual game, UDP will be a requirement.

Z.

PsyVision
Jan 25th, 2002, 02:37 PM
TCP/IP at the moment.

I got stuck now because i need to pass an integer to a thread but cant get the data back from the function:



divThreadData m_divthreaddata;
m_divthreaddata.m_server = &this;
_beginthread(Function, 0, &m_divthreaddata);



then



static void Function (void *parameters) {
divThreadData (*???)threaddata;
threaddata = ????
}



the _beginthread function sticks the index var into the prameters thing but i cant get it back out coz im **** with pointers.

Once i can get around this i can get all the server going properly. I now have a class called divThreadData. i now pass this into the thread (shown above).

PsyVision
Jan 27th, 2002, 01:35 PM
YES YES YES

This is going very well at my end. I was wondering why it wasnt wokring and why nothing i was changing was having an effect but then i realised it was in Debug compile not Release. So far connections can eb accepted and then any data sent gets passed back to the OnData function :D

PsyVision
Jan 27th, 2002, 01:50 PM
Ooooops, found a few bugs that have been cleared up. The client threads were not being ended :(

the dll for just the server bit stands at 40kb at the moment so with the other stuff added it should be nice and light. I shal lwork on clearing the function names etc up then post a copy of it plus source code on to you Zaei.

Sorry - I did not get to test the old server and chat client because i was busy with my girlfriend ;). I think it would have been obsoulete anyway in light of a new threaded server being created.

Norman_Nomein
Jan 27th, 2002, 02:39 PM
Well in my news..
The Unicorn, Mage, Sorcerer, and Necromancer are inked, and
I will send the as soon as I get my scanner back, my brother is using it for a few days....

I could also do a more powerful version of the unicorn...The Pegacorn!!! a unicorn with wings and alot of power..Think about
it... the name is changeable....


Plus I need to know sort of the powers of the Mage & Sorcrere..

PsyVision
Jan 27th, 2002, 02:59 PM
Zaei you should have awaiting you in your mail box the zipped up source for the server.dll.

The networking now comprises of three dlls:



main engine
-> network.dll
-> server.dll
-> client.dll

PsyVision
Jan 27th, 2002, 03:04 PM
lol, the yahoo.com mail address was not accepted, nor was the other, i dont wanna post it here.

Sastraxi
Jan 27th, 2002, 10:07 PM
Sorry for not being here the past few days - a horrible flu passed my way and I've not felt up to anything, really.

Zaei
Jan 28th, 2002, 09:07 AM
Well, I am back. Sitting in classes right now, so i wont get anything done until later. I am going to keep working on the editor, and maybe get a bit into skinned meshes tonight. Glad to see the networking is going along, I will have to get the UI system converted so we can get something going inside the game.

Z.

Zaei
Jan 28th, 2002, 05:06 PM
I added icons to the editor, so the type of object determines its icon. It looks neat. I am going to try to get a scene loader into the actual engine, and see how it works =).

Z.

Zaei
Jan 28th, 2002, 05:07 PM
I hope you start feeling better soon, Sas. I didnt see your post earlier.

Z.

Sastraxi
Jan 28th, 2002, 06:02 PM
Everything sounds great Zaei! I already am feeling quite better, I just have a bit of a headache now. Thanks for that too!

I'm planning to do a wall building next in VRML.

Zaei
Jan 28th, 2002, 08:33 PM
I think I have figured out how I am going to do it. I will have a model that will form the actual wall part. This wall will not have sides, and will be a mirror of itself, so that it can be repeated. I will repeat this model until I come to a corner. The corner will be a skinned mesh, with a single joint. The joint will then be angled so that the one bone will be parallel with the first part of the wall, while the second will be parallel to the second section of wall. There is then the special case of single distance walls, and wall endpoints, which are easy. Sound good?

Z.

Sastraxi
Jan 29th, 2002, 07:12 AM
I gotcha. So all I need is a wall that looks good repeated?

PsyVision
Jan 29th, 2002, 11:16 AM
Glad ur better Sas.

Everything is going good here at my end, bout to start work on the client.

PsyVision
Jan 29th, 2002, 11:50 AM
this is the sweet way the server / client works:



bool divNetworking::OnData (int module, int client, char *data) {
switch (module) {
case DIV_N_M_MOD_SERVER:
return true;
case DIV_N_M_MOD_CLIENT:
return true;
}
return true;
}



There is only one OnData function which can get called from both the client and the server, althoughit can tell between which one by using the module integer. This class has to go in the actual game coz this is where it is decided what is done with the actual data sent. This also allows for both hosting and playing :D:D

Sastraxi
Jan 29th, 2002, 02:50 PM
You seem to be in a good mood Psy! By the way, that is a good way to handle it.

PsyVision
Jan 29th, 2002, 03:45 PM
WOW, on my new computer.

I have to wait until i get the visual studio cd back off my mate before i can do more work coz its stuck in the hall way at the moment (my old pc) so i cannot use it. The sound on this byatch is so good. 19inch monitor is fat in a 1280 x 1024 resolution :D:D

Sastraxi
Jan 29th, 2002, 05:08 PM
Put it to good use, load up 3DMark2001!

PsyVision
Jan 30th, 2002, 12:51 PM
i got the old pc setup so i can get back to worok on the module on that but i need to wait for my dumb ass mate to give the visual studio back.

flame_211
Jan 30th, 2002, 07:25 PM
I dont know if you guys care about the bugs or whatever but, I finally got DX8 and when I tried to open your game it gave me this (after each return is a new message):

Device Creation Failed!
D3D Object creation Failed.

E_UNKNOWN
--------
Description: An Unknown Error has Occured

IC

Degub Error!
Program: Divloader.exe
DAMAGE: after Normal block (#163) at 0x00B11510

DIVLOADER caused an exception 03H in module SYSTEM.DLL at 0177:0049e2d0.
Registers:
EAX=00000001 CS=0177 EIP=0049e2d0 EFLGS=00000246
EBX=007df830 SS=017f ESP=007df384 EBP=007df394
ECX=80007cc0 DS=017f ESI=007df544 FS=117f
EDX=80007d20 ES=017f EDI=007df444 GS=0000
Bytes at CS:EIP:
33 c0 85 c0 75 bd 8b 4d fc 83 79 14 03 75 6c 8b
Stack dump:
007df444 007df544 007df830 00b114f0 007df3c8 0049e0a1 00b11510 00000001 007df444 007df544 007df830 000000cd 007df1b4 007df528 004a5034 00547680




Hope it helps in one way or another...

-Andrew

Zaei
Jan 30th, 2002, 07:50 PM
DX8, or DX8.1? If you dont have 8.1, it wont work.

Z.

Sastraxi
Jan 30th, 2002, 07:50 PM
Make sure your card has 3D Acceleration, and that it is DX 8.1, not 8, that you posess. :)

Zaei
Jan 30th, 2002, 07:51 PM
=).

Z.

Zaei
Jan 30th, 2002, 07:52 PM
Off Topic, but...

Has anyone read the Count of Monte Cristo. I just finished it an hour ago, and would suggest it to anyone who hasnt. In fact, I cant find the words to describe how much I recommend it.

Z.

flame_211
Jan 31st, 2002, 09:32 AM
Ok... Thats probably my problem, I got DX8 not DX8.1,

later,
-Andrew

PsyVision
Jan 31st, 2002, 02:45 PM
I found a bug in the net module which was ****ing me off, i now fixed it. I will post a demo soon, the server is working and the callbacks are working. I will post a demo once i have got the client done.

I cant work on the new pc yet coz my **** visual studio cd is bust and so i cannot get it to install, i gotta get it copied to my pc then burn a new one befroe it will work.

Any tips to get the scratches of a cd ??

Sastraxi
Jan 31st, 2002, 03:15 PM
There are usually CD cleaning/scratch removal kits at hardware stores/do-it yourself stores.

Zaei
Jan 31st, 2002, 04:15 PM
That really sucks. Hope you get it working soon =).

Z.

PsyVision
Feb 1st, 2002, 12:20 PM
I almost got the stuff from the cd copied to my harddrive and things copied via floppy to my drive too. I will then burn a cd and voila :D should be working tonight

PsyVision
Feb 1st, 2002, 01:35 PM
ok, i got it installed on my pc although lots of header files are missing. im gonna copy the ones needed to get this ass working then i shall copy the rest across tomorrow when the network gets set up.

For some reason now neither the old version of DNM or the new one will accept connections which is ****ing me off :(

Just so i know how do i get apps to look like the new WinXP style ?

Sastraxi
Feb 1st, 2002, 03:13 PM
Filburt has a tip on his Turtle Tips site...

http://www.turtletips.com/

Zaei
Feb 1st, 2002, 11:32 PM
I got a wall to render, and tile, and it looks pretty nice.

Z.

PsyVision
Feb 2nd, 2002, 08:01 AM
Looks like your having better luck than me.

For some reason winsock seems to have completely ****ed up on my systems (both that is) i copied the code form a demo on planet-source-code.com to check if its wokring (one that worked before) and not even that works.

It wokrs fine except it wont accept connections for some reason, i went back to code i wrote ages ago that had not been chnaged (in another project) and not even that will work.

:( :( :(

Sastraxi
Feb 2nd, 2002, 08:51 AM
Download the latest service pack, I believe it has the latest Winsock version in it.

PsyVision
Feb 2nd, 2002, 08:59 AM
Well i made a little demo in vb using winsock which worked, i got somehting made by someone else off my old pc and stuck it on this one and that worked. I also just ran the one i made before and it seems to work now i added port 50 to the WinXP firewall list, i tried it on port 100 and it works too, so im completely not sure.

PsyVision
Feb 2nd, 2002, 09:07 AM
LOL, it works now, connections are going through fine, now i gotta get it to pass a disconnect message ok, then i can start onto logging in and user details etc

PsyVision
Feb 2nd, 2002, 09:14 AM
arse, i dunno if the connection is holding up, no data will pass

PsyVision
Feb 2nd, 2002, 09:34 AM
I got it all back and wokring again =)

Im gonna redo part of the server. At the moment it spans a thread for each connection. As data comes in on the thread it gets passed to a OnData function, the only problem is that if the client closes but doesnt send the /quit message (if the app crashes) then the thread locks and loops.

I need to make it create two threads, one checks for messages, if there is a message the second thread handles it whereas if it has crashed the first thread will stop it and so stopping the locking error.

Sastraxi
Feb 2nd, 2002, 09:53 AM
Excellent, looks like you've put a lot of work into that.

PsyVision
Feb 2nd, 2002, 09:57 AM
Sas, in your mail box any time now u will have a demo of what i have been doing.

Zaei
Feb 2nd, 2002, 10:51 AM
Instead of a separate thread to check for disconnects, have something like this, in one thread:

if(GetData(...))
{
//Do Data Stuff
}
else
{
//Check for disconnect
}


Z.

PsyVision
Feb 2nd, 2002, 01:38 PM
Well the way it works is it polls the socket, it checks to see if disconnected then it checks for data, if there is data it runs a function which receives it and posts it back through the virtual functions, the only problem is the data function jamms and so i gotta make a seperate thread to control it.

2 threads per user is not gonna effect the stability as long as its restricted to no more than 10-20 users.

PsyVision
Feb 4th, 2002, 11:50 AM
Grrr, sometime i run it and it wokrs fine other times it doesnt.

I trapped the error down and i know where its from. I dunno how im gonna get to fix it.

Zaei
Feb 4th, 2002, 01:24 PM
I know how that is =).

Z.

Zaei
Feb 4th, 2002, 01:27 PM
I modified the model loading code so that when it loads, it generates a scaling matrix that is applied when the model is rendered. This matrix causes the model to be 1 meter tall, wide, and deep, so that another scaling matrix can be applied on top of the first to allow for custom sizes of objects.

Z.

Sastraxi
Feb 4th, 2002, 02:41 PM
So basically when you import a model it's a fat short guy?? Hehe!

Zaei
Feb 4th, 2002, 05:03 PM
Exactly =).

Z.

Zaei
Feb 4th, 2002, 08:37 PM
I started in on a device remodelling tonight. Tomorrow I will finish it, so that a device can be loaded from a DLL, which means that we can write rendering plugins (D3D, OGL, Software, whatever), without modifying the engine code.

Z.

rEaL iGoR
Feb 5th, 2002, 05:52 AM
Hello there. Im back...my network suddenly appeared to work again. I have NO idea what's going on with that, but never mind. I've also ran into a bit of personal problems lately and have been stressed with school too...I am working on an exceptional hard piece for my exam..
(If you've heard it: Beethoven's "moonlight" Sonata, 3rd movement)
However. I have been composing a lot the days I've been away...My piano sonata is soon to be finished. I've started a new theme for you guys too, but the music always seems to be the same, so I'm gonna take it with me to school and see if I can get some good advices.
However...I'm back and I will be updated from now on

Sastraxi
Feb 5th, 2002, 07:29 AM
Excellent, if you haven't been able to review Psyvision's working on the Networking code now and doing a good job of it ;)

PsyVision
Feb 5th, 2002, 03:57 PM
Today i have made a thread class which should make the new server easier to manage. I thought i had realised what the problem was with the server, but it wasnt to be.

Zaei
Feb 5th, 2002, 04:50 PM
I have been thinking a bunch about the map, lately, as I want to get that Implemented soon. I know that Sas doesnt want a really curved map, I have been thinking about going back to a regular grid, with a catch. It is very easy to make a gid wrap, as long as it is big enough to give the idea of vast size.

So, I have been thinking. Let me know your comments on what YOU want to map to look like. When you guys have done that, we can sit down, combine the things we like, throw away the things we dont, and get that done. Sound good to everyone? Ill go first =).


Personally, I dont think we require a level of detail terrain mesh. Today's hardware is perfectly capable of rendering full quality terrain, especially since the amount of visible terrain is fairly low (isometric perspective).


Z.

Sastraxi
Feb 5th, 2002, 06:31 PM
When released maybe, but people may want to just play and not have a fast computer. I think there should be an option, it just looks horrible in Black & White (which was a very well done game, however).

Zaei
Feb 5th, 2002, 06:38 PM
Ill place it in a DLL, with a set of interfaces. That way, we can replace it at lesiure. Besides, I dont have a fast computer (not int he least =), so if I can get it running at 10 or 12 FPS, I will be happy with the performance.

Z.

Zaei
Feb 5th, 2002, 08:41 PM
Ok, I believe that I have cleaned up the Rendering Device stuff, at last. As it stood before this renovation, there were two availible APIs, implemented with switch statments. Ewww.

Now, I have abstract interface classes, and soon will be able to load the correct definitions of these classes from a DLL. This means that someone else could write a software renderer for TOW, and it would work fine. The current classes are as follows:

SYSDevice : abstract main rendering device.
IVertexBuffer : abstract vertex buffer container
IIndexBuffer : abstract index buffer container
ITexture : abstract texture container (not complete)

At the moment, I am doing a quick hack to start a D3D Device, but it is simple to remove (2 lines of code).

Z.

PsyVision
Feb 6th, 2002, 11:05 AM
Grrr, bogged down with homework at the moment.

This whole server thing is still not going, it receives data but its only on one thread. I need a demo of a threaded server if anyone can find me one ?!?!?

PsyVision
Feb 6th, 2002, 01:58 PM
I got a demo for a threaded server and it works well, will get it sorted out from the poor coding structure of the demo into a better one then into the DNM.

Sastraxi
Feb 6th, 2002, 02:52 PM
Hey, right now I'm making the complete bare-bones (aka. not graphical) forum for us. It's black on white, normal text, but has options for polls, graphic upload, and VRML upload to show in a small window (user-defined). It'll also have administration options. Then, after I've gotten it all finished up, it will be easy to add graphics and CSS to make it a fully functional graphical forum environment, not unlike the one here.

Zaei
Feb 6th, 2002, 03:31 PM
Sounds good to me, Sas =).

Z.

Sastraxi
Feb 7th, 2002, 07:04 AM
Heh, I'm sure Igor would like a break in this department. I'll let you in, but the final decision is up to Igor because he's the "Senior" music creator, so to speak.

PsyVision
Feb 7th, 2002, 10:42 AM
Well i got the server wokring fine, its accepting connections, now i just gotta put it into the dll and then setup the vitrual functions and callbacks and voila

The demo i will make first (hope it will be done tonight) shall be showing chat being done over the server.

Zaei
Feb 7th, 2002, 12:11 PM
Looking good Psy. Keep up that good work.

Z.

Sastraxi
Feb 7th, 2002, 02:59 PM
That sounds excellent. Here's a challenge for you though; can you make it do file transfers from user to user?

Zaei
Feb 8th, 2002, 11:46 AM
I got texturing done last night.

Z.

PsyVision
Feb 8th, 2002, 12:28 PM
Well, one step forward, two back.

I got it put up into the sever.dll file but the callbacks form threads wont work so i gotta re-write the threading before its going properly. I noticed a few more problems that will need some playing around with before i can even start to consider file transfers / chat etc.

Zaei
Feb 8th, 2002, 06:07 PM
Got the plugin system up and running. I can now create plugins for the graphics sub system.

Z.

PsyVision
Feb 9th, 2002, 03:48 AM
Cool =)

I have started on changing another test for the callbacks using a different thread creating method.

Sastraxi
Feb 12th, 2002, 02:49 PM
On this occasion, I agree totally!
YEAH BABY

PsyVision
Feb 13th, 2002, 11:28 AM
A) My network cards have arrived, i dunno if my dad has ordered any cable to (havent opened the parcel yet)

B) I have BOTH bugs fixed. If the server is full, the user should connect as a normal user but a -FULL signal is sent and they remove themselves from it.


- Note -
This is still all in one exe and so no callbacks or anything of such has been tested. This is the next stage of fun =)

Zaei
Feb 14th, 2002, 04:11 PM
I realized something last night about the units. Since all units can mount and dismount, we may run into problems with archers. I would imagine that the standard archer unit would be equipped with a long bow for greater range. The problem comes when the units mounts a horse. It is nearly impossible to use a long bow while riding on a horse. So, as when on the ground, I would imagine that the archer would have to stop the horse completly to fire. So, I would think that we need a second archer type, that uses a short bow. It would have a shorter range, but would allow a mounted archer to move AND fire at the same time.

Z.

Jorj
Feb 14th, 2002, 04:38 PM
I completely agree.

All types of bows were not available to all nations in our past either. The longbow requires special types of trees, and the composite bow requires the horns of... I forget which animal, but it's native to Central Asia.

Zaei
Feb 14th, 2002, 06:39 PM
That should be easily reflected through unit upgrades. Also, allied nations could trade upgrades, and spies could steal them. I would imagine that, when an upgrade is complete, all current units are NOT upgraded, but any new units trained would benefit.

Z.

Jorj
Feb 14th, 2002, 07:45 PM
Exactly!

Sastraxi
Feb 14th, 2002, 08:31 PM
Yeah, and you can also put 'em back in to get upgraded, it will be a flat rate to upgrade to the newest level, so if you wait longer it'll cost less, but maybe at the cost of your life :)

It all adds more realism to the game you see!

PsyVision
Feb 15th, 2002, 05:58 AM
I was having huge porblems with the threading of the server which threatened to mess the whole thing up. callbacks canot work from calling onClose etc becuase virtual functions cannot be static and the function theyre called from is static which causes errors.

I needed to create a class for packages divThreadPackage, the problem was i filled in the details as needed (it has divServer and an index variable) which then allow me to call the virtual functions this way and still be able to access the client (using the server and index variables).

The problem was the threadpackage class was getting mangled because it wasnt static.

All fixed now :D i have half of it done up into a new v2 dll. I can now do the other half now that this is fixed :D

PsyVision
Feb 15th, 2002, 12:08 PM
The server is working almost properly, not all of the callbacks are working properly.

PsyVision
Feb 15th, 2002, 12:29 PM
THERE IS NO STOPPING THIS GUY

I got all of the callbacks working :D

I also did a major up-haul of the naming system.

it was like divServer

but this is a seperate module for the thing so its now:

dnm_s_server

ie dnm = divinity networking module
s means its the server part (c for client, n for network)
the server bit is the class name so theres thread, client winsock etc

Zaei
Feb 15th, 2002, 03:14 PM
Looking good, Psy =).

I wanted to ask everyone to keep on the lookout for a texture artist, unless Norman thinks he can do it. We are going to have need of that soon.

Z.

Sastraxi
Feb 15th, 2002, 05:36 PM
I've posted a couple of times at GameDev but never gotten a reply.

Sastraxi
Feb 15th, 2002, 05:52 PM
Okay, I've done again and if we're lucky we'll be able to get someone from over at GameDev. If we're not lucky... oh well, it'll be another while :(

Zaei
Feb 15th, 2002, 06:10 PM
Sounds good to me. If anyone knows someone who might fit the bill, let them know =).

Z.

sheng
Feb 16th, 2002, 06:34 AM
I'm a artist from GameDev.net, I hope to help you out a little. I'm also in need of person for my project, if you canhelp me out after you finish this project. So what kind of help do yous need?

PsyVision
Feb 16th, 2002, 06:51 AM
sheng - i think we need a guy to make up textures to then be used for models, im sure Zaei will let you know when hes next online.


others - i changed the dlls over to release build and then compiled and changed the lib dirs and it gets an access vialation now so im trying to sort that out.

Im off to a party so wont be around to do much coding after the next 30 mins.

PsyVision
Feb 16th, 2002, 06:57 AM
ah 5 mins later and release build is wokring fine :D

Heres a lil sample debug logging :D



Divinity Networking Module - Debug.txt
--------------------------------------
on_n_Initialize
on_w_Initialize
on_s_Initialize
on_s_Start
on_s_Connection: Index: 0 Address: 127.0.0.1:3578
on_s_Data: Index: 0 Data: /join;richard
on_s_Data: Index: 0 Data: /text;richard:;hello
on_s_Disconnection: Index: 0
on_s_Stop
on_s_Terminate
on_w_Terminate
on_n_Terminate
--------------------------------------

Sastraxi
Feb 16th, 2002, 10:22 AM
It's excellent to see that someone was able to come and help us- I'm the project leader, so once you're ready, welcome aboard the team. What kind of commitment are you asking for after our project?

Zaei
Feb 16th, 2002, 10:53 AM
We are looking for someone who can create model textures, and, if possible, do the actual texturing =). I would be quite happy to get either of the two, though =). Just to let you know, we are working with fairly low-polygon models.

Z.

sheng
Feb 16th, 2002, 01:43 PM
will My skills including paper art 3d modeling and some others. I can try to texture for yous, you must first give me some art work so I can work on it.

Sastraxi
Feb 16th, 2002, 03:04 PM
Say no more!

http://www.crystal-rain.com/art/mote.jpg - Mage of the Eye
http://www.crystal-rain.com/art/kotb.jpg - Knight of the Blade
http://www.crystal-rain.com/art/lizardman.jpg - Lizardman
http://www.crystal-rain.com/art/lizardchamp.jpg - Lizard Champion
http://www.crystal-rain.com/art/swmstr.jpg - Swordsmaster

They're all full colour pics. Once Norman's converted all of his newest ones to full colour you'll have the Dragon, the Drage, and some others. More to come! :cool:

PsyVision
Feb 17th, 2002, 03:56 PM
The networking is coming along just fine. I have started to add the actual protocol.

On connection the client send:

/user;username

Then a +OK or -ERR is sent, if +OK is sent back to the client the client sends:

/pass;password

Then again +OK or -ERR is sent back to the client. If its a +OK it allows the client to send chat data to the server which can then be sent to other users :D

PsyVision
Feb 17th, 2002, 04:31 PM
on_n_Initialize
on_w_Initialize
on_s_Initialize
on_s_Start
on_s_Receive: Index: 0 Data: /user;richard
on_s_Send: Index: 0 Data: +OK
on_s_Receive: Index: 0 Data: /pass;username
on_s_Send: Index: 0 Data: +OK
on_s_Connection: Index: 0 Address: 127.0.0.1:3571
on_s_Status: Connections: 1 Maximum: 1
on_s_Connection: Index: 1 Address: 127.0.0.1:3572
on_s_Status: Connections: 2 Maximum: 0
on_s_Receive: Index: 1 Data: /user;dave
on_s_Send: Index: 1 Data: +OK
on_s_Receive: Index: 1 Data: /pass;username
on_s_Send: Index: 1 Data: +OK
on_s_Receive: Index: 0 Data: /text;richard:;hello
on_s_Send: Index: 0 Data: /text;richard:;hello
on_s_Send: Index: 0 Data: /text;richard:;hello
on_s_Receive: Index: 1 Data: /text;dave:;hi
on_s_Send: Index: 1 Data: /text;dave:;hi
on_s_Send: Index: 1 Data: /text;dave:;hi
on_s_Disconnection: Index: 1
on_s_Status: Connections: 1 Maximum: 1
on_s_Disconnection: Index: 0
on_s_Status: Connections: 0 Maximum: 2
on_s_Stop
on_s_Terminate
on_w_Terminate

Zaei
Feb 17th, 2002, 08:34 PM
I created a nifty Console class earlier, and got it working. Pretty simple:


#define _S(x) std:string(##x) // helper for string creation

VOID consoleFunc(char* params, DWORD numParams)
{
OutputDebugString(params);
}

int main()
{
Console* c = new Console;
c->AddConsoleVariable(_S("someVar"));
c->AddConsoleFunction(_S("SomeFunction(string)"), consoleFunc);
c->ParseCommand(_S("SomeFunction(\"Hello\n\")"));
c->ParseCommand(_S("someVar=10.0000"));
cout << c->GetVariableValue(_S("someVar")) < endl;
return 0;
}

Pretty simple. AddConsoleVariable creates a new console variable, default value of 0.0. This can also be specified in the function call. AddConsoleFunction creates a new console command function. They can take numbers(floats) and strings as parameters. The ParseCommand function actually does the work of assigning values to variables, or running functions. There IS parameter checking as well. The GetVariableValue function simple returns the current value of any variable. The above would output:

Hello
10.00000


Z.

Sastraxi
Feb 17th, 2002, 11:08 PM
Excellent to see that it's working out for you two. The next step would be to integrate what the server spits out into a server console and the client's console. Of course, the passwords would never be visible, because only the other client has that password and it is never sent to the other clients :)

Cool stuff.

PsyVision
Feb 18th, 2002, 02:44 PM
Everything is going HOT

i got the dnmclient.dll module running well, connections are wokring and data travel is going well.

still setting up the protocols for chat on server n client.

remind me again: is this one lobby per game ?? as opposed to channels from which u goto games ??

Sastraxi
Feb 18th, 2002, 02:56 PM
If it's still easy for you two, I'd like it to be one main ToW lobby (get to talk with all ToW players in the lobby), then different "floors" for different game lobbies, eg. Clan places, etc. Then you can enter game rooms from there.

Alternatively, you should also be able to browse all of the games at one time, like how Half-Life has it.

PsyVision
Feb 18th, 2002, 03:05 PM
Hmm, i thought it was gonna be done like so there is just the one lobby for the game, so like u get the servers ip off a m8 on msn etc and then connect to it.

if not then im not sure, like u need a central server for that.

PsyVision
Feb 18th, 2002, 03:40 PM
Zaei, is this small enough code to start, run, and close a server ??

I could cut it down a bit more.



#include "dnm_n_network.h"

#include <conio.h>
#include <iostream.h>

dnm_n_network network;

int main (void) {
if (network.initializeNetwork(DNM_SERVER, true, 2, 2) == true) {
if (network.initializeServer("-ANY", 50, 10) == true) {
if (network.startServer() == true) {
_getch();
network.stopServer();
}
network.terminateServer();
}
network.terminateNetwork();
}

return 0;
}



And for a client:



#include "dnm_n_network.h"

#include <conio.h>
#include <iostream.h>

dnm_n_network network;

int main (void) {
if (network.initializeNetwork(DNM_CLIENT, true, 2, 2) == true) {
if (network.initializeClient() == true) {
if (network.logonClient("127.0.0.1", 50) == true) {
_getch();
network.logoffClient();
}
network.terminateClient();
}
network.terminateNetwork();
}

return 0;
}

Sastraxi
Feb 18th, 2002, 04:20 PM
Oh well now that I think of it yeah, we would need a central server for that. How about some sort of program that plugs into IE or NS and captures link clicks to TOW servers (eg. tow://127.0.0.1:2050/). By the way, what ports are you using?

Zaei
Feb 18th, 2002, 04:34 PM
That amount of code is just fine. Ports should be user configurable, with a default of something over 10000. We should be able to create a sort of IE plugin, fairly easily. I have been working on creating a thinner layer between a base object and a vertex buffer, for example. I had a lot of garbage being inherited when it wasnt needed at all (message queue in a texture? -.-).

Z.

Zaei
Feb 18th, 2002, 09:01 PM
On Upgrades an Units.

I got these ideas tonight. First on upgrades. It makes no sense to be able to pick and choose what upgrades to research, and then pay x amount of food, and x amount of gold, etc. I have a better idea. Why not have a new building (say, an "Academy of Learning"), that would be constantly researching. you would perhaps pay an upkeep on this building (or maybe on all buildings?), and it would research new technologies. The player would then have the choice of putting the new research into action. If the player chooses to use the new tech, units may cost a bit more, or take longer to train, or both. For instance, your academy researches a new type of arrow that goes farther. These arrows cost a bit more to make, so the price of training a unit with these arrows goes up. But, all units trained get a plus to range. All other units continue to use the old arrows, unless they return to training for x amount of time. Then, the academy figures out some new Zen of archery, that gives a MUCH greater accuracy to archers, but it takes a LOT longer to train units. Make sense? We could then split the academy up into an "Academy of Learning", for normal stuff, and an "Academy of the Mystic", for anything magical (magical weapons, perhaps?).

Now, as to units. Since we have an Academy of Learning, why not just start all players off with a few peasants, and perhaps a few basic soldiers. The Academy is then responsible for researching new technologies, and the units to use them. So, your academy comes up with the idea for the bow. You then get Short Bow Archers. Then they research horseback riding, and you can have mounted Archers, etc.

I would also allow each player to start with one Academy, then, if they choose, build more. If ever they lose all of their academies, a new one can be build fairly cheaply, while the extras would cost bundles.

Basically, now that i think about it, its the Civilization research method, but the player doesnt get to pick the next thing to research.

Z.

Zaei
Feb 18th, 2002, 09:02 PM
Oh, and my new email address is Zaei@comcast.net =).

Z.

Jorj
Feb 18th, 2002, 10:14 PM
Zaei, that is an amazing idea! May I extrapolate?

Perhaps the player could choose what general areas into which to place his or her research, and set percentages of income on, such as:

- Weaponsmithing
- Fletchery
- Armour Forging
- Medical Theory (more HP)
- Education (better morale, new strategies)
- et cetera

I think this could really be useful! Great idea!

Why didn't I thnk of that? (Jorj says as he walks away)

Zaei
Feb 19th, 2002, 08:00 AM
I like it Jorj =).

Z.

PsyVision
Feb 19th, 2002, 10:24 AM
The server is currently running on port 50 and is unconfigurable (ie hard coded). Im currently making a win32 application for both server and client allowing that to be changed, its gonna be a sample application that works with a userdatabase etc. The server can be operated on a specific ip or on any available.

I didnt quite understand that IE plugin. Do u mean so they can type the address and it will log on to the server or what ??

PsyVision
Feb 19th, 2002, 10:24 AM
The other thing, can any of you access planet-source-code.com coz for me sites take ages to load when they didnt before ??

Zaei
Feb 19th, 2002, 01:25 PM
He means that, on a web page, we can have links that, instead of http://xxx.xxx.xxx.xxx:xxxxx, we can have tow://xxx.xxx...., and a plugin can catch clicks on that kind of link, and launch the game.

Z.

Sastraxi
Feb 19th, 2002, 02:51 PM
I had an idea (with Jorj) a while back on something else, we could issue a "Classic RTS" MOD that would have everything like it is in other games (eg. houses let more units be created, research normal, etc.). However we would release this after so people will be able to play the new rules too, and get to like them :)

Oh and by the way I'm still looking on how to do that plugin, if anyone can find out for me I'd be thrilled ;)

Zaei
Feb 19th, 2002, 07:05 PM
We dont even need a plugin. I found the article in the MSDN earlier, and its just a set of registry settings. I tested it out as well. Here is how it works:

HKEY_CLASSES_ROOT
[tow]
(Default) = "URL: TOW Protocol"
URL Protocol = ""
[shell]
[open]
[command]
(Default) = ""c:\Program Files\Times Of War\tow.exe" %1"
[DefaultIcon]
(Default) = "c:\Program Files\Times Of War\tow.exe"

Square backets denote a key =). The %1 at the end of the filename passes the url into the program.

Z.

Sastraxi
Feb 19th, 2002, 10:05 PM
Would this not also ned then the Url Protocol in CLASSES_ROOT/TOW/ to be "tow" or "tow://" or something similar?

Sastraxi
Feb 19th, 2002, 10:19 PM
Hey Zaei, I made a short proggie but all I am getting when I go to a place such as tow://127.0.0.1:50/ is Page Cannot Be Displayed and Invalid Syntax Error in the Titlebar.

PsyVision
Feb 20th, 2002, 06:39 AM
I'm at skool now so not actually working.

I shall add a protocol to allow u to enter a standard ip or a tow address. I gotta think how this should be done coz we want some kin of structure to it.

normal connecitons:

http://ip/

ones from IE can be

tow://ip/

I shall add in some command line params for conenction to games etc and using specific ports so access can be done thru a firewall.

I have also decided to put it all up into one dll called divnetwork.dll

I shall get a demo and the seperate library with source into a zip to zaei to add to the engine.

Zaei
Feb 20th, 2002, 08:11 AM
Straight from MSDN:

[HKEY_CLASSES_ROOT]
[note]
(Default) = "URL:Note Protocol"
URL Protocol = ""
[DefaultIcon]
(Default) = "notepad.exe"
[shell]
[open]
[command]
(Default) = "c:\windows\notepad.exe %1"


allows note:// protocol.

Sounds good, Psy, though I will do the tow:// address parsing in the main application.

Z.

PsyVision
Feb 20th, 2002, 11:02 AM
so you dont want me to make it parse the urls, just make it connect to the url specified in the function call ?

that registry stuff will need to be added via the installer program, once its working can u export the keys to a .reg file and mail it to me please.

PsyVision
Feb 20th, 2002, 12:35 PM
#include <string.h>
#include <iostream.h>
#include <conio.h>

void main (int argc, char *argv[]) {
if (argc < 2) {
return;
}

char m_temp[80];
char m_url[80];

strcpy(m_temp, (argv[1] + 6));

for (int b = 0; b < sizeof(m_temp); b++) {
if (m_temp[b] == '/') {
m_url[b] = '\0';
break;
}
else {
m_url[b] = m_temp[b];
}
}

cout << "Passed Url: " << argv[1] << endl;
cout << "Parsed Url: " << m_url << endl;

_getch();
}



:D

This will take an url such as:

tow://127.0.0.1/

and turn it to

127.0.0.1


I'm thinking all urls to connect to should be passed to the net module as a tow:// ??

p.s i got the registry done so dont worry over it =)

Zaei
Feb 20th, 2002, 01:26 PM
Yeah, the main game will take the tow://, and strip out to just the IP, and port, and use those to connect.

Z.

PsyVision
Feb 20th, 2002, 01:29 PM
ok, i will leave as is.

Sastraxi
Feb 20th, 2002, 02:51 PM
Sweeeet!!!!!

I'm sorry I just had to say that, its just plain cool :cool:!
That works awesome.

Sastraxi
Feb 20th, 2002, 02:58 PM
Okay, I've thought up a syntax:Times of War Address:
tow://127.0.0.1:50@password/towservername/It's kind of like an IP address, it lets you have the port, the IP, and the password all there. A great thing about this is it lets you have web listings and true web integration so that administrators can easily make up server pages. The last variable after the / is the hostname, if its not there it'll connect to the first gameserver seen there. If it is, it will attempt to connect to the ToW Server app with that name (admin customizable). Let me know what you think.

Zaei
Feb 20th, 2002, 05:15 PM
Explain, Sas. i dont get it =).

Z.

Sastraxi
Feb 20th, 2002, 05:59 PM
It's like FTP access with all of the info able to be passed through the web address. About the multi-server things, since there is an app spawned to make the server (correct me if I'm wrong), there could, theoretically, be more than 1 server on one machine (or on computers LANNED together to 1 IP, more than 1 on the network).

Zaei
Feb 20th, 2002, 06:41 PM
OK, makes sense =).

Z.

Zaei
Feb 20th, 2002, 09:48 PM
I have a request for you guys. Could you all post EVERY attribute of a unit that you can think of? I want to start planning unit file loading, and I want to know what kinds of options to include. I want everything from speed, hit points, mana, spells, equipment, etc, etc. Same for buildings, too.

Do we want to load upgrades from files as well? If so, list those here as well.

Oh, and Sas. Can you implement a download counter on all of the files? It will be helpful to see how people like TOW =).

Z.

Sastraxi
Feb 20th, 2002, 10:30 PM
Aaargh! I just spent about 1/2 an hour writing the attributes and I accidentally clicked the back button, arghhh!

PsyVision
Feb 21st, 2002, 06:33 AM
I think the protocol should be:

tow://username:password@ip:port/

this will be better (its just like ftp)

i didnt quite get the admin thing and server address.

PsyVision
Feb 21st, 2002, 06:38 AM
I dont think we should have that coz u can only have one server on a port so i dont think it would make that much difference, i think it shud be tow://username:password@ip:port/gamename/ that would be better, no ?

PsyVision
Feb 21st, 2002, 10:37 AM
Grrr, vBulletin pissed up my protocol:



tow://username : password@ip : port/gamename/



its pissed up the : but basically there is no space next to it, so where it has " : " its actually just ":"

PsyVision
Feb 21st, 2002, 12:31 PM
hey, attached it a little program i made :D

if u setup the thing with internet explorer try this with my protocol :D and your data :P

PsyVision
Feb 21st, 2002, 02:05 PM
The networking dll shall be ready soon. The actual engine will need to have a class within it which will contain the protocol. I need to add some more stuff to allow it to be used properly and set stuff so it cannot be directly accessed etc etc.

Shall be done soon hopefully. 1 week max !

Zaei
Feb 21st, 2002, 03:38 PM
Take your time with it. What I would like for yo to do though, is to make it a real component. It would be great if you could wrap everything up into 2 classes, the Server class, and the Client class. Export both from the DLL. Then, what I would want is to have a Connect() method, taht takes an IP, a port, and a "NetSession**", or some such. The session object then actuall controls the data transfer and stuff. You could also create some other classes, such as DataSession, for map, or media transfer, etc. All of these should be exported from the DLL. Perhaps even wrap them all up into a single class that creates Clients and Servers =). I know its asking a lot, but the idea is to make it as high level as possible =).

Z.

PsyVision
Feb 21st, 2002, 04:21 PM
i will create two classes that go on top of the network class, then i will create enother that goes ontop of that that creates client and server. im not sure bout getting the data session and net session thing done. i'ts working at the moment and i guess its a case of structuring it. The current structure:



dnm_socket->
dnm_status->
dnm_client -> dnm_client -> dnm_network
-> dnm
dnm_socket -> dnm_server -> dnm_network
dnm_client ->
dnm_status ->
dnm_thread->



I shall have to draw some stuff up on paper and see whats what.

invitro
Feb 21st, 2002, 06:32 PM
Sorry I haven't visited this thread in a while.
If you guys still need a person, check out my post in Project Requests. Its new, you cant miss it.

O BTW: I woulden't touch 3d Graphics. I'm sure I could do them if I spend alot of time on it, but my other job takes to much time right now and it would take me probably a year per model

I can however help you guys out with the concept art. I will post some samples later, right now I gotta run.

Check out my other post, I got some music samples on there.
If you wanna get a hold of me, Email me, or give me some kind of forum I can go to where you guys communicate other then VB. (Your emails dont work)

Laters