asyncrobot Posted March 25, 2017 Share Posted March 25, 2017 Hi everyone, I was working on a game called "Space Blast". You can play it by clicking the link. http://www.spaceblast.io There isn't much players currently. Features: XP based level up system. Player's XP is reduced to half when player ship explodes. Players shoot asteroids and other players to gain XP. Asteroids divide into smaller pieces. If a moving asteroid hits a ship, ship explodes. Players gain skill points on each level up. Upgradable skills: Health, Health Restoration, Speed, Fire Rate, Bullet Speed, Weapon Damage. Development Notes: I wanted to make physics simulation deterministic, so I wrote a small library for simple impulse based physics simulation. Only circular bodies are supported and no rotation is implemented. But still it is hard to get the same simulation running on the both ends. Also I think I spent too much time here. There can be lots of moving bodies, so the communication is in binary format to reduce the traffic. Only client and server specific code is separate. All game related code is shared between client and server. This really ease the development for me. Game simulation runs on clients and server at the same time. Minified game source (client javascript) is about 70 KB. It is not very important but I am quite happy with it Sound effects are played in different playback rates (90% - 110%), this also gives some variety. When player ship explodes it adds a lowpass filter. Game also works on mobile devices but it requires good processing power. Any feedback is welcome. Thanks! Umz 1 Quote Link to comment Share on other sites More sharing options...
DarkwallLKE Posted March 25, 2017 Share Posted March 25, 2017 Loved this game. Had a ton of fun playing it. Ended up playing for an hour without knowing... asdf for the win! What did you use for the multiplayer capability? I was expecting the steering to be more like this https://phaser.io/examples/v2/arcade-physics/asteroids-movement but once I got familiar with it, it was ok. Keep up the great work! Cheers, DarkwallLKE Quote Link to comment Share on other sites More sharing options...
asyncrobot Posted March 26, 2017 Author Share Posted March 26, 2017 Thank you, I'm glad that you enjoyed it I didn't use anything specific for the network capability. I read these articles and pick something I could achieve http://gafferongames.com/networking-for-game-programmers/ Basically server sends entity information (position + velocity) at a constant rate, when client receives that, it applies new properties directly for the simulation. I only apply some smoothing on the graphics layer. Until client receives new data from server, client runs simulation with the data it has. About sending data, I wrote serializers for each game object. If a property gets modified, only modified part is sent automatically by the server. Quote Link to comment Share on other sites More sharing options...
FakeWizard Posted March 27, 2017 Share Posted March 27, 2017 reminds me of agar.io :} Quote Link to comment Share on other sites More sharing options...
scheffgames Posted March 27, 2017 Share Posted March 27, 2017 Nice game. I do like the simplicity of the overall graphics but I'm thinking that a bit of spice would be nice - maybe make an agressive neon look with sci fi elements? I was the only player sadly so I can't say much about the overall gameplay experience. One thing I noticed and liked was the debris (when a static element is shot at) being directed at an inverse angle from the shot direction (like a pool ball). Quote Link to comment Share on other sites More sharing options...
asyncrobot Posted March 27, 2017 Author Share Posted March 27, 2017 @FakeWizard Yes graphics are similar to agar.io and diep.io @scheffgames Thanks I wanted graphics to be simple and responsive but of course there are plenty of room for improvement. Quote Link to comment Share on other sites More sharing options...
X1P.com Posted March 31, 2017 Share Posted March 31, 2017 Nice game, I added it on GAME.WTF a couple days ago. Let me know if you'd like to get featured there, I only ask for a backlink in return. Quote Link to comment Share on other sites More sharing options...
NicoA Posted March 31, 2017 Share Posted March 31, 2017 Really Nice it works really well!!! do u use a engine like phaser? what did u use for server? Quote Link to comment Share on other sites More sharing options...
asyncrobot Posted April 3, 2017 Author Share Posted April 3, 2017 @GAME.WTF Thanks for adding the game to your site. @NicoA Thanks! Most of project was started from scratch. For eg. renderer class uses canvas element directly, most of the code is vanilla js. I used nodejs for the server and websockets of course X1P.com 1 Quote Link to comment Share on other sites More sharing options...
elparole Posted April 6, 2017 Share Posted April 6, 2017 Cool game, congrats! Works well on my smartphone moto x style. I found one other player and we tried to shoot each other, but it seems our guns were very weak or health/armor very strong, so after 5 minutes we still had both 90% health. Quote Link to comment Share on other sites More sharing options...
asyncrobot Posted April 7, 2017 Author Share Posted April 7, 2017 @True Valhalla I heard the same thing from several people but I couldn't reproduce it. I really appreciate if you can give me more information on that. Such as your PC, browser and error prints on developer console. I didn't implement support for big endian devices but I think that is not very common. I am planning to support that later. I added a small script to check this, if you click on the link below it should say "little endian". That might be the case, but I am not sure. http://www.spaceblast.io/endian.html @elparole Thanks, I wanted to support mobile with this one. But it uses too much processing power, my phone becomes very hot and I can see the drop in battery level Without upgrading your damage skill it is not easy to destroy enemies. May be I should change that, game balance is hard to tune. Another strategy is to destroy enemies by shooting nearby asteroids. Asteroids explode into smaller ones and if they bump into a moving asteroid that also destroys ships. I am planning to make this more effective. Quote Link to comment Share on other sites More sharing options...
elparole Posted April 7, 2017 Share Posted April 7, 2017 @asyncrobot Oh! So I can destroy asteroids! First time I played I thought they are undestroyable. This was because of only 2 newbie players were on the map at the same time. Today, I saw lot of players and now I see the what's going on! I think you could make asteroids graphics of damaged state more obvious for players, because right now more of them could think that they cannot destroy asteroids and won't get any experience points and quit the game because of none progress. Earning exp by destroying such objects is very good idea for that kind of online game. It is easier for new players to join the game. Also, I like avoiding bullets in gameplay and predicting enemies position when shooting. Reminds me Quake 2 Quote Link to comment Share on other sites More sharing options...
asyncrobot Posted April 11, 2017 Author Share Posted April 11, 2017 Thanks @True Valhalla , I will check with AdBlock Plus. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.