GoldFire

Members
  • Content Count

    59
  • Joined

  • Last visited

About GoldFire

  • Rank
    Advanced Member
  • Birthday 09/27/1988

Contact Methods

  • Website URL
    http://goldfirestudios.com
  • Twitter
    GoldFireStudios

Profile Information

  • Gender
    Male
  • Location
    Oklahoma City

Recent Profile Visitors

1546 profile views
  1. We've just released Exocraft on mobile for iOS and Android! App Store: https://itunes.apple.com/us/app/exocraft-space-ship-battles/id1460263762?ls=1&mt=8 Google Play: https://play.google.com/store/apps/details?id=com.goldfire.exocraft.io.space.battle.game
  2. @TheBoneJarmer Thanks, I'm glad you liked the game! The server is written with node.js and uses a combination of MongoDB, Redis and in-memory messaging with our open-source democracy.js module (https://github.com/goldfire/democracy.js).
  3. We just went live on Steam! You can download for free on both PC and Mac. If anyone has been successful getting a Linux build working with Electron we'd love to hear about it as we wanted to support Linux, but kept running into issues. https://store.steampowered.com/app/793490/Exocraft/
  4. Our Steam launch just got featured on Rock Paper Shotgun! https://www.rockpapershotgun.com/2019/03/12/diy-spaceships-mmo-exocraft-blasts-off-on-steam-today/
  5. With our latest "biomes" update, we've decided to update the gameplay trailer to showcase all of the colorful new changes to the world:
  6. We started the multi-platform rollout with the Windows Store, but we certainly aren't stopping there. You can now add Exocraft to your Steam wishlist, with a release date set for March 12 on PC/Mac! https://store.steampowered.com/app/793490/Exocraft/ We've also released our first gameplay trailer:
  7. The web was really just our soft launch, and now that we've fleshed out a lot of the features and content (still lots more on that front though), we are starting to roll the game out on other platforms. The first of those stops is a PC download through the Windows Store, available as of today! https://www.microsoft.com/store/apps/9PPSDQH8MTPS
  8. @ShrewdPixelThank you so much for the kind words, we really appreciate it! Glad to hear you noticed the polish/performance as there definitely was a lot of work that went into both of those aspects.
  9. We've just released yet another massive update that includes the new supply drop feature, 26 new parts, 13 new crew members, 12 new drones and lots of other features, updates and fixes.
  10. Sure! We don't actually have any ads on our games (we do have an offer wall on this one, though it is barely generating any revenue to be worth it, so it'll likely get removed before too long). We mostly monetize through limited edition item sales and premium currency.
  11. GoldFire Studios started as a hobby way back in the day, but we have been a full-time business for around 7 years now. We are still very small (3 devs and 1 artist), but our games are able to support the studio.
  12. We've just released our biggest update yet! This one comes with two major new features that add a lot more depth and strategy to the gameplay (and open things up for us to expand on that further with upcoming updates). 1. Fleets - Instead of just being a one-off ship, you can now build as many ships as you want and store them in your hangar. You are now positioned as the owner of an entire space mining company and can rise up the ranks as the most profitable in all the galaxy. 2. Crews - You can't run all of these ships on your own, so we introduced the crews feature that lets you hire droids, people and aliens to man your ships (and some spiffy new art to go along with it).
  13. It might be tough to get it running well on an S4, but we are getting smooth 60fps on iPhone 6S and a Samsung from 2 years ago (can't remember which model). However, we've yet to do any optimizations for performance and for the UI on mobile yet. That is one of the next things on our list as we'll be releasing native apps with Cordova later in the fall.
  14. We've spent the last month porting the game from Phaser-CE to Phaser 3 and it seems to have paid off! We are seeing performance gains around 300-400% across the board (not out of the box, we've done quite a bit of optimizing and are using our own custom pipeline, but we were doing that with Phaser-CE as well). With these new performance gains we are going to be able to do some new things that we just couldn't before, which we are pretty excited about.
  15. With some help of some nice people in the Discord channel, we came to the conclusion that this isn't possible with the standard particle system. However, we also found that you could pass custom onEmit and onUpdate methods to the emitter, which allowed for a custom solution to add this functionality. Since we were porting from Phaser 2 with Particle Storm, I decided to write this in a way that prevented us from having to re-do all of our particle configs, so we simply include value and control in the same format and pass the following two methods as onEmit and onUpdate. /** * Custom particle update callback that handles Particle Storm style controls. * @param {Object} particle Particle to act on. * @param {String} key Property name. * @return {Number} New value. */ static controlUpdate(particle, key) { const {control} = particle.emitter[key].propertyValue; const initial = particle[`${key}Initial`] || 1; const percent = particle.lifeT; let index = 0; let point = control[index]; if (point.x === percent) { return point.y; } // Find the next point based on the current percent. while (point.x <= percent) { if (index >= control.length - 1) { return point.x; } index += 1; point = control[index]; } const prev = control[index - 1]; // Follow curve with linear interpolation: f(x) = y0 + (y1 - y0) * (x - x0) / (x1 - x0). const valueMulti = prev.y + (percent - prev.x) * (point.y - prev.y) / (point.x - prev.x); return valueMulti * initial; } /** * Custom particle emit event to set the initial value. * @param {Object} particle Particle to act on. * @param {String} key Property name. */ static initialOnEmit(particle, key) { const values = particle.emitter[key].propertyValue; // Handle a random value. if (typeof values.value === 'object') { particle[`${key}Initial`] = randomBetween(values.value.min, values.value.max); } else if (values.value) { particle[`${key}Initial`] = values.value; } }