Jump to content
SubSpace Forum Network

Recommended Posts

Posted

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

  • Replies 86
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted
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

Posted

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

Posted
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.

Posted

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?

Posted
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 blum.gif
Posted
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) smile.gif . 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.

Posted
If it wasnt written in .net why does it say I'm missing MSVCP70.dll o.O

I 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.

Posted
If it wasnt written in .net why does it say I'm missing MSVCP70.dll o.O

it's either part of Microsoft dev files or comes with Windows XP

 

...use google you lazy hoe blum.gif

Posted
I think, I actually couldn't figure out how to request the arena listing, so if anyone knows how, that would help me out

Send "?arena" to the server.

That makes the server reply with the arena listing packet (0x2F)? I thought it was just a continuum command.

Posted

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.

Posted

Hey pyxlz, just thoguht I'd chime in and say "keep up the good work" smile.gif You're getting there... and remember, the only thing that matters is that you have a good time with the project. smile.gif

 

Cheers,

Snrrrub

Posted
Hey pyxlz, just thoguht I'd chime in and say "keep up the good work" smile.gif You're getting there... and remember, the only thing that matters is that you have a good time with the project. smile.gif

 

Cheers,

Snrrrub

Thanks, and while you're here, do you have any specifics on door synchronization?

Posted
If it wasnt written in .net why does it say I'm missing MSVCP70.dll o.O

it's either part of Microsoft dev files or comes with Windows XP

 

...use google you lazy hoe blum.gif

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 .. :D keep at it!

Guest
This topic is now closed to further replies.

×
×
  • Create New...