davidyu / Sonar

Networked multiplayer SHMUP-lite
http://lewenyu.com/sonar
MIT License
0 stars 0 forks source link

Non-prototype continuing work #28

Closed davidyu closed 9 years ago

davidyu commented 10 years ago

It's time to reflect on the future of this prototype.

davidyu commented 10 years ago

The longer we wait and the longer the codebase solidifies with the Flash API, the harder it is to pull away from it and develop for another platform.

Platform must be PC. It needs to use both the keyboard and mouse. It may possibly work with dual analog sticks. But it will definitely NOT work on a touch-based mobile platform. Traditional iOS and Android are out, but Ouya is still in.

That also leaves the PS Vita, Xbox/PS4, and PC.

Acquiring a devkit for PS4/Xbox is intractable for this project. They are out.

Out of PC, Ouya, PS Vita, the PC is easiest and probably best platform to develop for.

On PC, web-based (HTML5) or desktop? Maybe both? HTML5 is probably the way to go, but we need either a static code analyzer for JavaScript or use Haxe and compile to JavaScript.

Price will be free. No reason to charge and no expectant audience waiting to buy. Think about starting a slow-burn marketing campaign by keeping a devlog. Start by demoing the prototype at GDC.

davidyu commented 10 years ago

Also consider Unity, which has a web player and good shader and networking support. HTML5 has good shader and networking suppport too, but audio is notoriously bad with HTML5.

My main concern is time to implementation. Portability matters, but if it takes a long time and lots of library/code wrangling to get there, it's not worth it. To me, right now, it's better to have a fast implementation of a good game than a slow implementation of an excellent game.

Let's update this issue after GDC and feedback from squidi to gauge if it's worth moving this past a prototype.

davidyu commented 10 years ago

Also consider TypeScript, which compiles into JavaScript. So if we use HTML5, the stack would look like this:

Engine: JavaScript (need an ES engine -- maybe rewrite esEngine in TypeScript? Playcraft?) Server: JavaScript (node: we can also explore an authoritative server design instead of a relay server with authoritative clients, since the core will be in JavaScript. In fact, it will probably be necessary since it's so easy to cheat in JavaScript) Graphics: WebGL Audio/Sound? Profiler/Debugger: Chrome (Yes!)

davidyu commented 9 years ago

Stick with Flash/Haxe. This will remain a playable prototype.