Code Monkey home page Code Monkey logo

sub3's Introduction

Sub^3

Sub^3 aims to be a realistic multiplayer submarine simulator. The goal of Sub^3 isn't to be the best sub sim out there, but to have the best sonar modelling of any civilian simulation available. To accomplish this, it will use USML for all acoustic simulation. Sub^3 currently uses SFML for graphics, networking and input. It also uses SFGUI for the user interface and Boost to support the multiplayer networking code.

Current Status

Sub^3 is playable, depending on how you define "playable". You can do very basic submarine hide-and-seek, but that's about it. Development takes place at https://github.com/nopoe/Sub3

sub3's People

Contributors

nopoe avatar

Stargazers

 avatar  avatar John Deeny avatar Mauro Panigada avatar Marco avatar Ellen Poe avatar Enrico Speranza avatar

Watchers

James Cloos avatar Ellen Poe avatar Evin Sellin avatar  avatar Derek Vanee avatar  avatar

Forkers

shintakezou

sub3's Issues

Don't let the server update a player's own vessel

The player alone should have control over where their vessel is and what it's doing. This is independent of #9 since the player will still have to get their updates through the server's validation before the server lets anyone else see their updated state.

Currently there's a lot of jitter due to server and client disagreeing on the state of the client's own vessel.

Let a vessel determine its loudness

Probably just add a virtual method to the Vessel class that will let USMLManager give a more definitive answer to the question "How much do I hear vessel A in frequencies X, Y and Z?"

This should propagate all the way to the broadband waterfall display.

Add a few more subs and let the user pick the vessel they spawn in

This should include at least 2 subs, complete with narrowband information, top speeds, crush depths, sound intensities at various speeds and depths (undecided about how to handle cavitation for now).

Narrowband information will have to be guessed at because I'm sure it's all classified.

Investigate issues with the USML integration

Currently there are some issues where USML will fail to find eigenrays intermittently. We also have some issues where small differences in position cause large changes in propagation loss.

USML failing to find eigenrays seems to be alleviated by closer spacing of the propagated rays and/or a smaller timestep, but I have no way to reproduce this consistently. And I have no idea what's causing the jitter or if the simulation is being accurate and I'm just erroneously second-guessing it. A test case would be really nice. Maybe add some unit tests to the project?

It would also be good to get #5 done before starting on this so it's easier to visualize what's happening.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.