[libGDX] Embersol Mercenaries - Online Shooter (v2.0.2 MMO update released!)

http://www.playembersol.com/wp-content/uploads/2014/08/captialshipbeams.png

Hello everyone, first time poster, long time time listener. I’ve been working on this game for the past 6 months and I could really use some feedback.

Embersol is an online space shooter set in a persistent universe. Hire pilots to fight for you, join or create mercenary squads, and fight other squads in scenario based missions. Embersol is being developed using libGDX and will be available for android, iOS, and PC/Mac/Linux.

Features:
-Real-time action multiplayer for android/pc/iOS. Play cross platform with or against anyone.
-Create/join mercenary squads with other players
-Persistent universe
-Roguelike pilots and advancement

Released on Google Play Store:

http://developer.android.com/images/brand/en_generic_rgb_wo_60.png

Released on PC/Mac/Linux:
www.playembersol.com

Dev blog: http://www.playembersol.com/dev-blog/
Trailer: Embersol Release Trailer
Twitter: @BartGunderman


http://button.indiedb.com/popularity/medium/games/33436.png

Latest Updates
v2.0.2
-fixed graphical issue for players using Android runtime (ART)

v2.0.1
-fixed merc pilot not appearing to warp out when disconnected
-fixed Flagship health slider not being removed if killed in another zone

v2.0.0
-Added Flagships
-New Research system for flagship and pilot upgrades
-Added DryDock to purchase upgrades for flagships
-New Hangar Bay for pilot upgrade purchases
-Added Tech Level system for player and enemy progression.
-New menu system. Users are always connected in-game with menu overlay.
-FTL drive and warp map to travel the solar system
-Random player discovery. Players in nearby zones will show up on the warp map for you to join.
-New Bridge menu tab with user information and in-system chat.
-Pilot leaderboards changed to weekly updates
-New database and messenging backend

These forums have been a huge help while learning how to make games in java so just wanted to to give a huge thanks for all the knowledge on this board.

TdQUtPoIAWE

That look really great, i’ll try this when back home.

I was planning to make something looking similar (just need more time and motivation :-).

Cool game! Your ship turns way too slow though, found myself firing into empty space instead of at the enemies. XD

EDIT: It’s not a turning problem, it’s just you can’t shoot very accurately while strafing.

Thanks MonsieurZad, can’t wait to hear what you think of it.

Hey superminer thanks giving the game a try and for the feedback. You’re absolutely right about the aiming. The problem was the initial design was for touchscreens so the turn rate is way too slow for the mouse. Also I think I figured out why you couldn’t aim while strafing. It was due to a bug. The aim direction was being setup with the cursor relative to the center of the screen instead of to the ship. So when you were strafing it was screwing up the aim. I fixed both those issues so I think it’s a lot easier to aim now. Thanks for that feedback. It would be hard to notice since I’m testing it out all the time. I just got used to it :-\

Also I replaced the global chat with pilot leaderboards. I might add global chat back in at some point. I just think most games of this type it’s filled with spam and other nonsense. You can still chat with squadmates.

http://www.playembersol.com/wp-content/uploads/2014/04/a1a_pc_4_17_1.png

Looks good!

The movies on the website dont play for me (Win 7 laptop, tried FireFox 17 and IE 11). On FireFox the movie appears to play but stays black, on IE it doesnt start at all (no error, just stays at 0:00).

The game (applet) does load smoothly for me however, which is more important ;D Nice interface, pretty good looking. Unfortunately the server seems down, as I get “Disconnected: Server Disconnected”.

I’ve played it some more, and the two things that nag me is you can’t see how much health you have and the dash bar doesn’t empty in the same amount of time that the dash blue light is shown.

I seem to be the first player to get a pilot KIA. XD Went too far off the map.
I have seem to gotten the game to crash twice, but can’t find anything for getting access to the console or a crash report.

Hey Grunnt thanks for trying to play and the feedback. Glad you liked the interface. I was a little worried because it’s just programmer art I’m not too good with that sort of stuff. I was afraid it was all too flashy. The video on the website uses the wordpress default video player. I’ll try to look into it to see what’s causing the issues but I’m pretty lost when it comes to wordpress. I just figured out how to use it last week. The last website I made before this one was plinking away on notepad and html about a decade ago.

The disconnection errors though have me worried. I went through the logs and didn’t see any connection attempts that didn’t go through so I thinking(hoping) it’s just a firewall issue. Can you try again with the firewall snoozed or in game mode?

superminer! you crashed the game and I forgot to add something to help with crash reports for applets. Damn :confused: You can set the console to display by going to your java control panel and under advance settings select the show console toggle. The next build will definitely have some type of crash reporting. Can’t believe I forgot to include one. I do have crashlytics(which is great!) for the android version but I’ll need something for the applet.

I used to have a hud element for almost everything, missiles count, health status, cores, but there was way too much clutter. I literally went one by one and tried find a way to get rid of it all and the health bar was one of the first to go. I’m trying to make it more intuitive, your shield will flash and your commbuddy will send out a message letting you know you should maybe back off for a second. I try to find a way to make it more obvious what your health status is.

Ok, I tried it on a different computer and now the video and the login works fine. Perhaps it was just a firewall issue. Unfortunately I’m at a different location right now so I cant look into it further. However, I think it is a problem on my side. I can play it now!

And wow, that’s one heck of a game! Very good work, it’s an impressive game. The art is good looking and consistent, the menus are clear and accessible, I’m impressed by how smoothly you handle networking stuff, and the action is fun.

Some suggestions:

I found the control scheme somewhat awkward, as I’m more used to:
W = move forward (in the direction of the nose of the ship)
A/D = strafe left/right
S = move backward (or slow down)
However, that’s a personal preference.

The (good looking) planets have somewhat jagged edges, so maybe some kind of antialiasing may make them look a bit nice (either in a shader or just by antialiasing the edges in the graphics).

I found the shields a bit weird looking, especially when they turn all-white. Their looks would be improved I think if they would never go fully opaque.

The actual shooting may need some tuning to make it more interesting. Currently there is relatively little to choose for the player, e.g. it seems that missiles are launched with the same button as the gun. I think I’d like it more when missiles are launched seperately, so that making the decision to “launch the missiles!” becomes a bit more meaningful.

But overall good work, keep it up!

Got it to crash, here’s the stack trace:


Exception in thread "LWJGL Application" java.lang.NullPointerException
	at b.a.r.a(Unknown Source)
	at b.a.a.a(Unknown Source)
	at b.b.a.a(Unknown Source)
	at wolf359.a.b.R.a(Unknown Source)
	at wolf359.b.b.a(Unknown Source)
	at wolf359.b.a.render(Unknown Source)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:204)
	at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:112)

Sometimes I wish code wasn’t obfuscated.

Sorry been out of town this week so no updates :frowning: but I’m back and already working on the next update. Grunnt thanks for the awesome feedback! I’ll definitely take a look at the antialiasing effects. The planets do look jagged but it’s not as much an issue in a few other planet effects I’m working on. I’ll look into the shield effect as well, play around with the opacity and see if it looks nicer.

Combat is at a very early stage so understand its not interesting right now. Once I get the environment physics up and running I’ll be dedicating the update after for just combat. I like the idea about launching missiles yourself. People always like a “launch missiles!” button.

superminer congrats on getting to the top of the leaderboard! looks like we have our first champion lol. Thanks for the crash report. It turned out to be a silly bug on my part. While testing the game I can set the library to simulate real world latency issues. So its always set to 250ms delay, 10% packet loss, and random packet reordering while testing. Helps a lot to avoid surprises when deploying. Unfortunately I forgot to set a flag when updating the simulation code so it was ALWAYS running :/. It never effected anyone before since the packets get consumed before the simulated latency kicked in but I guess in your case it did. Opps!

So tonight I’ll bring an update online with just a few tweaks and bug fixes here and there, not really updating much that you can see. The update after though will be an update to pilot progression system (get to actually spend some of those credits) and environment physics so should make it more fun.

New update is online, here’s a quick list of changes

0.0.2
-added shield health bar (tip of the hat to superminer)
-add fire effect at critical shields
-fixed bullet reflection on shields
-made bullet sparks more sparky
-added random background planets
-fixed mipmaps(thanks grunnt!, this helped a lot with the antialiasing effects)
-dash meter empties immediately
-shields opacity tweak
-fixed bug with missiles launching at origin
-added disconnect due to inactivity
-crash reporting for applet

I just read this article http://www.lostgarden.com/2013/12/multiplayer-logistics.html.
The site is a great resource for free graphics and general game dev knowledge and this article when into some of the game design challenges for making a multiplayer experience. It’s definitely given me a lot to think on for the direction I’m going to take the game. I’ll try to write up a more in depth post on it but for now I’m going to let it marinate a bit in the back of my mind.

Hello everyone, it’s been a busy week and there’s a new update for Embersol. I’m not really sure how much in detail to do these post so I guess I’ll just hit the wavetops and if anyone wants me to go into more detail on something specific, maybe some sample code just let me know.

0.0.3 Changelog

-Elliptical shields. The system before was just based on circular shields and collisions. It was about as simple tech as I could make it
for testing out networked collisions. Point to circle collisions are easy and cheap to check, all you need is a radius and shield angles
don’t even play a part in it. I needed something more advanced for capital ships though so I figured this was a good time to update it.
Turned out not to be that bad. Just needed the equation for an ellipse and figure out some translations for the point to get it in the
ellipse’s local space and bam you got yourself a blue pancake.

http://www.playembersol.com/wp-content/uploads/2014/05/0.0.3ellipse.png

-Frigate capital ships. With the ellipse shields in place I was able to get started on those capital ships. Before that I went ahead and
refactored all the AI drone code to make it more extensible. Once that was done I was able to quickly setup assault drones, frigate class
drones, and bullet/missile turret drones. The turret drones can either be static or “locked” into place on another drone.

http://www.playembersol.com/wp-content/uploads/2014/05/0.0.3frigate.png

-Frigate debris. I didn’t like the look of the frigate just disappearing once destroyed so I whipped something up in Gimp. The frigates
will now break up into 2 pieces and after about a minute they’ll just fade away. I thought they came out pretty good :slight_smile:

http://www.playembersol.com/wp-content/uploads/2014/05/0.0.3debris.png

-Environment wall. While I was messing around with the ellipse shields I also added a rectangle mode to the damage object so I could have
bullet collisions with wall objects. With that in place and the network objects set up I just needed to create physics objects so ships
could actually be blocked by them. I use Box2d for the ship physics and its very easy to use. It’s not really designed for networking but
since the collision model is pretty simple (ships can’t collide with each other, only static geometry) I was able to hack something that
works, looks good and doesn’t cost too much performance wise. I also added a collision listener so that missiles will detonate if they
happen to run into something.

http://www.playembersol.com/wp-content/uploads/2014/05/0.0.3wall.png

-contracts now cross-squad. While in a queue for a contract mission you will be matched up with
people from other squads. I originally wanted just squad members to be able to play the story mission together but the article I linked in previously has me thinking otherwise now. One of the key points of the article is to prevent fragmentation so this is just one step in that direction.

-Missiles now shot by player. The reload rate is pretty high so have fun with it. The missiles will shoot straight and lock onto whatever is in front on them so you still have to aim. Since the launch of missiles in now clientside I added missile decoys. When you press the button to shoot a missile a graphical decoy is immediately created. Once the round trip time to the server comes back with the actual networked missile object, the decoy is seamlessly replaced by it.

-lots of tweaks and fixes

In other news guildwars2 is out for 50% off. I’ve been wanting to play this for awhile now but when it came out I didn’t really have time for video games. polygon just gave it a glowing updated review and with the sale I figured I might as well pick it up. If anyone here plays let me know!

This last week I’ve been tearing the guts out of a lot of code trying to setup a fundamental addition to the game. I’ve been thinking about the direction and end goal for the first release to the app store and I pretty much have everything laid out. The contract co-op system is already where I want it to be and it’s pretty easy to add new missions in the future. Most of it is server side so I could even add new missions without needing to update the client. What’s missing is the competitive multiplayer. I wanted the game to be primarily a pvp shooter, squads vs squads kind of deal so I’ve been trying to come up with a cool game mode to make that happen.

I already have capital ships in the game so it wouldn’t be too hard to just set up the map with a capital ship per team, with AI drones occasionally spawning to help out, and whichever team destroys the other capital ship wins. There’s another multiplayer space shooter already on the app store that does it like that but I’d rather not just straight up copy them. I think I can do better.

I was reading up on the latest blog post from Enemy Starfighter http://enemystarfighter.com/blog/2014/2/13/greetings-starfighters. I think he has the right idea when it comes to space games. The concept of hunting and hiding really hits what I’m trying to do. I loved that feeling when playing Eve Online and even lately while playing Titanfall where the concept of who is hunting or hiding can change at a moments notice with a Titan drop. Add this with the perma-death for pilots and I imagine things can get very intense.

So what I’m working on now is MOBA game mode based on huge solar system map consisting of many zones. Gameplay would consist of jumping from zone to zone, capturing objectives, hunting enemy squads or running from them depending on numerical/tech superiority. Different objectives will grant bonus to teams like the ability to track enemy ships in warp or jumping in carriers to defend a zone.

I just completed the basics of getting the zones working so the next update should be done in a few days. It’ll just be a solar system with 2 or 3 zones with you can travel too with various AI defenses. It will still be straight deathmatch but it will serve as a good base to build off of.

Just a little short video on how the zones are progressing. Update next week!

8Nyy6gIVCwo

Looks nice! Can’t wait for the update!

Looks Great! I’ll try it.

Thanks guys. I’m really excited about the next update. Things are starting to come together.

In other news I jumped into a zone while testing and saw these guys duking it out. I think I have to work on the targeting and formation AI. :stuck_out_tongue:

http://www.playembersol.com/wp-content/uploads/2014/05/targettingFail2.gif

So this is what the conquest map looks like right now. Problem is I need help naming all the of them! There’s 10 different zones to capture. If anyone’s got any ideas I’ll add them in as long as it’s not too crazy or wacky :slight_smile: Thanks!

http://www.playembersol.com/wp-content/uploads/2014/05/zonenames.png

The new applet version was released on my website. It’s been up for a few days but I had to fix a server issue before announcing it. This will be the last applet release. Unfortunately I’ll have to give in to the fact that applets are dead and/or dying. I’ve been using an almost year old version of libGDX due to all the recent releases breaking applet support and even with that I’ve never been able to get the applet to work on my Macbook. So I’m giving up on applets, future updates will be standalone builds for PC/Max/Linux using JWrapper. I’m also hoping that the next update will be ready for an android/iPad release in the App stores. If anyone has any tips or tricks for releasing java test builds on all these platforms I’d love to hear it. Anyways on to the changelog.

0.0.4 Changelog
-Added Conquest contract game type. Team based pickup game where players fight to control zones. This game mode is not match based. You can drop in and out whenever you want. 12 players per team x 3 teams for 36 players max.
-Removed simulation tab. All game modes launched through contracts.
-Contracts no longer require you to part of a squad. You can freelance now.
-Added Quick Play option to main menu. This will either activate a current pilot or hire a new random one and enter you into the first available Conquest game.
-Preliminary pilot advancement system. 5 ranks. Each rank will upgrade either your missile or bullet systems. Permanent death is active for all game types. Exp reset for all pilots.
-Preliminary in game tutorial.
-Radar changes. Now a full screen minimap with updated graphics. Press ‘E’ or ‘Q’ to bring it up.
-Zone systems. Game modes are built up from zones. Either fly to the edge of a zone or hold ‘Shift’ to enter warp.
-Boundary changes. Before your ship would be destroyed for going out of bounds. Now if you’re in a zone, going out of bounds will warp you to interstellar space. Going out of bounds while in warp will simply turn you around.
-Leaderboard now based on AI Kills rather than total exp. This will be changed to Pilot Kills in the future.
-New graphics for many systems. Bullets, thrusters, warp, etc…
-Many, many bug fixes and tweaks.

As always feedback is much appreciated. A lot of the changes here come directly from player feedback! Next stop, the App Store!

Stuff to work on.
-ability to link accounts to an email for recovery and cross-platform access.
-find out what the hell to do with resources (credits/cores). Maybe buy hats???
-player ship graphical update
-adding events to conquest game mode
-gamepad support. (maybe an ouya/amazon fire tv/nvidia shield release?)
-player feedback!

http://www.playembersol.com/wp-content/uploads/2014/05/0.0.4test1.png

Just wanted to post a quick update on whats going on with the game. The last two weeks have been pretty busy. Since the last post I’ve been doing all the millions of things needed to get the game released on the Google play store. There’s nothing really new to show since everything’s mostly on the backend MMO side of things but here’s a short list.

Stuff done in last two weeks
-added UDP encryption for the game servers.
-finalized TLS encryption and keys for the MMO servers
-added ability to link accounts to an email address and recover them along with password reset. Lets you use the same account on multiple platforms
-refactored player ship graphics. ability to have different ship graphics and weapon attachments
-hangar bay. unlockable ships and weapons. Only three ships so far for the first release and one weapon type for primary and secondary.
-server side protections for user accounts. following http://owasp.com/ for most of the systems.
-migrated server from home to linode.com vps
-updated to libGDX 1.1.0. I’ve taken the applet offline and I’m just going to be concentrating on the android release for now. I’ll also be making standalone builds using jwrapper for the next release

Monetizing.
I’ve been researching all the different monetizing strategies out there and I’ve just about given up. I have no idea what I’m doing here LOL. I’ve added modules for ingame advertisments through mopub and also inapp purchases through the google play store but I"m still not sure what type of inapp purchases to have. I definitely don’t want to turn this game into a pay to win game like most of the other mmo’s out there on the app store. I like how Path of Exile does it, where the game is free and you can pay for cosmetic additions or Realm of the Mad God with character slot unlocks and dungeon keys. But one way or another I’ll need to find a way to pay for server costs. Linode is pretty cheap but I’ve still got some work trying to find the balance to let the game be as free as possible. Would greatly appreciate any advice from those that have been through this already.

Ohh by the way. Figuring out server-side authentication of in app purchases through the google play API was a huge PITA. If anyone needs help with it I’ll be happy to pass on the knowledge.

Stuff left to do.
-game trailer
-write up app description, eula, privacy policy
-presskit 2.0
-add inapp purchases if there will be any

I figure another week until I can release. The game trailer will probably be the most time consuming. I downloaded Lightworks so hopefully it’s not too crazy to learn how to use. :-\