pyxlz Posted March 15, 2004 Report Posted March 15, 2004 I wanted to thank the Subspace community both for explicity answering my development questions, and in general for keeping this game active. With that, I thought I'd share what I've been working on. A while ago, I was looking for a personal project to dabble in game development (something beyond tetris). I was really more interested creating the architecture for the game rather than designing the playable elements. And so, having previously played subspace, it seemed like a pretty good pick to do development in: lots of existing game content, simple gameplay, multiplayer (network) elements, and overall, easy enough to take on alone. After some on and off work(/play) over the past few months, it's finally something recognizable. Keep in mind that this is a work in progress and it's still mostly incomplete. As such, there are a lot of placeholders and things that just plain don't work. I'll continue to work on this project as long as it remains fun for me. Anyway, here's my own subspace client (attached). Extract into your continuum directory and enjoy.subspace_test_1.zip
Death+ Posted March 15, 2004 Report Posted March 15, 2004 Hey pyxlz, I just wanted to say you did a very nice job on this application. Keep working on it. -Death+
»nintendo64 Posted March 15, 2004 Report Posted March 15, 2004 Very nice job, i remember catid released an attempt of making a client too. Here it is attached with source. Edit:If you want it mail me for it. -nintendo64
pyxlz Posted March 15, 2004 Author Report Posted March 15, 2004 Hey pyxlz,I just wanted to say you did a very nice job on this application. Keep working on it. -Death+Very nice job, i remember catid released an attempt of making a client too. Here it is attached with source. Edit:If you want it mail me for it. -nintendo64 Thank you both. .NET?!?It is written in c++ with opengl and directx, no .NET
catid Posted March 15, 2004 Report Posted March 15, 2004 cool beans i like that you got the radar to work; my client never got to that point, though i was not working on it for that long ;-) if you need some help with the non-trivial particulars of creating a client, such as game physics, give me a shout: cat02e@fsu.edu
Mr Ekted Posted March 15, 2004 Report Posted March 15, 2004 Have you actually ripped the VIE physics or just recreated a reasonable estimate from observation?
Qndre Posted March 15, 2004 Report Posted March 15, 2004 The software needs the "MSVCP.DLL" driver file. Can't run it!
pyxlz Posted March 15, 2004 Author Report Posted March 15, 2004 i like that you got the radar to work; my client never got to that point, though i was not working on it for that long ;-)Heh, that radar is really a placeholder, I just re-rendered the map on a smaller scale and put a dot in the middle. Have you actually ripped the VIE physics or just recreated a reasonable estimate from observation? None of the code is ripped, that would defeat the original purpose of creating the client. With that said, the physics is based on some of the do-*BAD WORD*-entation I found along with observations. The velocity of all objects is known in pixels/sec and have no acceleration, so you can calculate how much time has elapsed, p = p0 + v*t. Since this is a linear system, it can be fairly accurately estimated by Euler integration. E.g., moving at 3 pixel/sec * 6 seconds (18 pixels) is the same as [3 pixel/sec * 2 seconds (6 pixels) + 3 pixel/sec * 4 seconds (12 pixels)] (18 pixels). This works for all players over the network because you only receive position/velocity info. Acceleration on the other hand, doesn't work as well with the same method, and in fact I'm doing it wrong. Currently it's based on the speed of input, but this is not time-independent. So, if your frame rate drops, you'll accelerate slower. The software needs the "MSVCP.DLL" driver file. Can't run it!I thought this was a standard windows file? If not, I have no idea, sorry.
Mr Ekted Posted March 15, 2004 Report Posted March 15, 2004 What about ball friction? Is it basically just deceleration (decrease in velocity per update)? Do you have that right?
»CypherJF Posted March 15, 2004 Report Posted March 15, 2004 If it wasnt written in .net why does it say I'm missing MSVCP70.dll o.O
Tascar Posted March 15, 2004 Report Posted March 15, 2004 hehe, jk....Great job pyxlz. Very nice indeed. Now that you have the basic client written, is it possible that you can write additional features into the game? For instance, can you write in a graphical feature that would show the population of each arena on the screen (not using ?arena) or could you create a four way firing ship? or could you create a new weapon? Is any of that possible, or do you still have to rely on the server in some way for that stuff?.... which begs the question...can you write everything needed to be completely free of the existing subgame?
»CypherJF Posted March 15, 2004 Report Posted March 15, 2004 You'd have to rely on the server for new weapons, etc. -- although w/ ASSS being developed and if someone is going to work on a new client, work w/ these together, and technically could outdate subgame and continuum
pyxlz Posted March 15, 2004 Author Report Posted March 15, 2004 hehe, jk....Great job pyxlz. Very nice indeed. Now that you have the basic client written, is it possible that you can write additional features into the game? For instance, can you write in a graphical feature that would show the population of each arena on the screen (not using ?arena) or could you create a four way firing ship? or could you create a new weapon? Is any of that possible, or do you still have to rely on the server in some way for that stuff?.... which begs the question...can you write everything needed to be completely free of the existing subgame?That's a pretty loaded question(s) . I'll try to take them in order... I can write any additional features into the game that are not server dependent. For example, I could make all ships displayed as 3-d models instead of sprites. So yes, it would be possible to write a graphical feature that shows the population of each arena on screen (I think, I actually couldn't figure out how to request the arena listing, so if anyone knows how, that would help me out). A four way firing ship I don't believe is possible under the current protocol because of the way direction is !@#$%^&*ociated with the ship and bullets. You could fake this however. New weapons in general: !@#$%^&*uming the new weapon could be disguised in a current weapon packet, or the server forwards 'unknown' weapon packets, then yes. Although, the new weapon would only work between my client, and not with Continuum. Can I write everything needed to be completely free of the existing subgame: I'm not exactly sure what you mean by this. Subspace is already free of the existing subgame with ASSS. If you mean extend the protocol, or rewrite it, then sure, as long as the server supports it.
pyxlz Posted March 15, 2004 Author Report Posted March 15, 2004 If it wasnt written in .net why does it say I'm missing MSVCP70.dll o.OI would guess this has something to do with the way I linked the project? I really don't know though, if anyone else has an idea, please let me know.
Yupa Posted March 15, 2004 Report Posted March 15, 2004 If it wasnt written in .net why does it say I'm missing MSVCP70.dll o.Oit's either part of Microsoft dev files or comes with Windows XP ...use google you lazy hoe
Yupa Posted March 15, 2004 Report Posted March 15, 2004 gives me 'No data coming from server...' and eventually disconnects
Dr Brain Posted March 15, 2004 Report Posted March 15, 2004 I think, I actually couldn't figure out how to request the arena listing, so if anyone knows how, that would help me outSend "?arena" to the server.
Yupa Posted March 15, 2004 Report Posted March 15, 2004 oh btw here are the dll's I had to get for Windows 2000chimpdust.zip
pyxlz Posted March 15, 2004 Author Report Posted March 15, 2004 I think, I actually couldn't figure out how to request the arena listing, so if anyone knows how, that would help me outSend "?arena" to the server. That makes the server reply with the arena listing packet (0x2F)? I thought it was just a continuum command.
Mr Ekted Posted March 15, 2004 Report Posted March 15, 2004 Send server the ?arena command. Server replies with: 2F \0 CC CC \0 CC CC \0 CC CC ... Each arena name is null-terminated, followed by a short containing arena player count. If the count is negative, that is the arena you are in. You must use raw packet length to determine when the list has ended. Note that a malformed response from the server could result in a client/bot crash if you assume a null exists rather than correctly test for it.
»SD>Big Posted March 15, 2004 Report Posted March 15, 2004 wow, it's good to know such knowledgeable people are behind this project. your efforts are admirable! keep up the good work!
Snrrrub Posted March 15, 2004 Report Posted March 15, 2004 Hey pyxlz, just thoguht I'd chime in and say "keep up the good work" You're getting there... and remember, the only thing that matters is that you have a good time with the project. Cheers,Snrrrub
pyxlz Posted March 15, 2004 Author Report Posted March 15, 2004 Hey pyxlz, just thoguht I'd chime in and say "keep up the good work" You're getting there... and remember, the only thing that matters is that you have a good time with the project. Cheers,SnrrrubThanks, and while you're here, do you have any specifics on door synchronization?
»CypherJF Posted March 15, 2004 Report Posted March 15, 2004 If it wasnt written in .net why does it say I'm missing MSVCP70.dll o.Oit's either part of Microsoft dev files or comes with Windows XP ...use google you lazy hoe i did google it and i was still missing files but now it works.. hm okay.. theres no collision detection and slightly laggy :/ meh but good work .. keep at it!
Recommended Posts