Space based FPS

I’ve been working on this project for a little while now. I have something of substance now, so I decided to share some of the progress with you all. The bullet physics are calculated (by the server of course) on a very heavily modified version of fastcast. This project is so much easier thanks to Eti’s module. Projectiles are rendered on the client to ease the load on the server.

This is a short gif of the first viewmodel. Reload, gunswap, scopes, and targeting solutions are not displayed here.
https://gyazo.com/f1d24fbe9602a86dbc6bdacbc87208be

All assault weapons are to be caseless, so this means less work for me when animating them. The client only renders the player’s firearms at the moment.

More

Here are some of the very basic gunmodels. Only the middle gun is being used for debugging purposes.

image

Silhouette default suit and MMU image

A very blown out image of the player image

And finally, the firing solution and sight.
https://gyazo.com/2b20b1b1b91d30ffd4c09e5c57068594

Because of the scale of the environments that the firefights will be in, I’m using basic Newtonian physics (zero gravity) by negating any gravity. Calculating the actual physics beyond this would be unnecessary and a waste of server processing.

Thanks for reading this. I plan to make more of these posts in the future. Any questions and/or feedback will be appreciated.

8 Likes

This is awesome! I love that sight and it’s HUD.

2 Likes

That is an amazing creation and looks pretty advanced. It has been a while I have seen something like that in “Cool Creations”.
I don’t really know and it might be wrong and if it is please reply and I will remove this post, but can I get some understanding on how you made the scope-in part?
Just some basic understanding on what I should be approaching when scoping in like as it zooms in.
Thanks

1 Like

Thanks for the feedback.

I first calculate where to place the players arms. The negative upvector of the camera’s CFrame places the basepart of the arm viewmodel where I want it to be. I actually CFrame the gunmodel’s basepart to this origin (arm basepart) CFrame. From here, I have an attachment aligned to the scope of the rifle. Using a variable that changes each frame, I slowly change the origin of the arms by adding the product of this variable and the attachment location relative to the gunmodel.

TLDR:I determine where to put the viewmodel based on the cameras distance from the base of the viewmodel. I then use a variable to slowly scale the distance between the sight and the base of the rifle.

It can 100% be done more efficiently, but it gets the job done for what I want in this scenario. Feel free to dm me for a more in substantial response.

2 Likes

This is really cool, I love the idea of a zero gravity space FPS! Your prototype is very well polished.

My only suggestion would be better lighting because it’s hard to see in your suit screenshot, but I’m thinking this is a placeholder map anyway. Keep up the good work!

1 Like

Yeah, the video was compressed in the link but I’ve adjusted the lighting so that it should be a bit easier to view in game.

Thanks, I’ll make sure I keep up with this.

1 Like