A Flash Developer Resource Site

Page 1 of 2 12 LastLast
Results 1 to 20 of 22

Thread: Gunrunner: an experiment in UGC and phased release

  1. #1
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697

    Gunrunner: an experiment in UGC and phased release

    Hi guys,

    I was thinking about a simple game to develop, instead of another unfinishable mammoth project. Now when I start to design, it still has a tendency to develop into something complex, however I think this time I may have come up with a solution to that. I'm interested in what views you guys have on the subject.

    The game premise is simple enough. Your planet is attacked by a huge fleet of spaceships. Knowing that it's a suicide mission, you decide to give them hell before you go. The game is a topdown shooter in which you control a single spaceship and the player can move 360 degrees. Now the further the player moves away form it's home planet the stronger the enemy ships will be.

    I was thinking about this and I figured it would be nice if the enemy ships would be downloaded from a server. Say I start out with a few enemy ship designs in cache. These designs have been rated from 100 to 300 in strength/difficulty. Now the player moves away from the planet and it should encounter enemies in the range 400 to 600. The game has anticipated this by requesting these designs from the server. This would allow me to have a huge range in enemy strength. This would be a project on it's own, but it gave me another idea. Inspired by the Spore Creature Creator I thought, why not create a Ship Creator? Players can design and upload their ships, which get rated by the game through a rating system.

    This would make the game a pretty big project, but I'm thinking about developing them in phases. First I create the editor and release it, so players can start uploading their designs to the database. While they're creating designs I can work on the core game which I can release later on. This allows me to have a database of user generated content while the game ships.

    So I'm interested in what you guys think of this. Do you see any pitfalls or advantages to this approach? I've also posted a more in-depth post on this idea on my blog.

    Update
    build1
    build2
    build3
    build4
    build5

    latest and greatest:
    build6

    Last edited by TOdorus; 04-28-2012 at 04:13 PM. Reason: newer build

  2. #2
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    Sounds good.

    Just when players design the ships, you'll probably need a points system so they can't just stack on a bunch of guns and make a supership, but you've probably though of this already.

    Going the Minecraft, open-beta route could work for this! And making the actual game doesn't sound TOOO difficult, since like you said, you'll be working with a dynamic environment, which means you just gotta write a few generation algorithms, done. You'll already have the database of enemies.
    (While I'm writing this I'm realizing more of the advantages, so I'm probably repeating myself)

    Only thing I wouldn't like is that playing the game offline wouldn't work (sometimes I have a Flash game load up on my browser, then I play it later when I don't have the interwebz). What would be cool, but of course more work, would be to also make a ship generator, that the game switches to in case the user isn't connected or the ship database is down.

    P.
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

  3. #3
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    Moving into a new appartment with your gf and no internet connection (as of yet) doesn't really help somebody in replying promptly to a thread. Anyways, glad I can now. Also, good to see you're still active these days Pazil.

    About the points system. I don't really care if a player designs a supership. If the player creates a ship worth 300 points, the game's going to throw 300 point ships at the player, and increase from that base value. When a player starts out with a 1000 point ship, well... Also I can use a rating system which evaluates the damage done against the ships worth. Big ships get less points when they deal damage.

    The lack of an interwebz isn't really an issue, as this was one of the first things I considered. The game will ship with some basic designs and I'll leave a cache in the SharedObject which gets filled with UGC. The game can throw designs at the player which are in the cache or the core game and request additional designs from a server. This can be the case when it doesn't have designs of 3000 points in cache.

    I'm thinking about making the game to be as simple to use as possible and this is what I've come up with for the ship creation process. The user gets a predefined set of parts to use which snap to each other. This also solves the sibling problem (which part(s) is sibling to what other part?).

    I've created a few mockups to help me envision this and keep focus.

    Snapping parts together to make a frame
    Snapping a thruster to the frame
    Snapping a turret to the frame

    The thruster idea is making things more complex. First, I need to write an algorithm which checks which thruster configurations should be used for steering left and right,moving forward and backward. This is easy. Now the hard part is, that each ship can have parts shot off. If thrusters are only allowed on the outside of a part, these are pretty vulnerable in most designs and can make a ship go 'limp' when a critical thruster is shot off. Now this is cool when you're fighting the AI and you can shoot of a part of it, but it isn't much fun when it's happening to you as a player. A design can fight this by adding armor around thrusters but I think this may be to restrictive. I can think of a few solutions like: repair powerups, thrusters between parts (like a multistage rocket), escape pod. All of these add to the complexity of bieng a fast shooter, so I may decide to allow thrusters on inner hardpoints anyway.

    Luckily I'm almost finished with the frame parts creator so I can quickly create new parts to try out. Hopefully I'll finish the frame parts of the ship editor that the player will use this weekend so I can try some stuff out.

  4. #4
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    Your linky's don't work
    Did you share the public url of the docs?
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

  5. #5
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    Sorry, google docs n00b at work. They should work now.

  6. #6
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    Gah, where does the time go...

    I checked out your screenies, and it all looks pretty good, I mean, without trying it out, it's hard to say. The fine tuning should simply be in snapping distances and what not.

    And I say no thrusters on bodies, since I think shooting off engines would be a really cool gameplay element, and would definitely bring in some sort of strategy element.

    Also, for a game like this, it would be cool for you to make a generated galaxy, that's infinite :O

    Anywho, definitely keep posting up more stuff, and a working demo as soon as you have one!

    P.
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

  7. #7
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    build1

    This is more of a dev build but it shows a nice proof of concept. Drag a part from the menu on the left and drop it in. The button in the top of the menu is for loading additional parts, from a file, so you can ignore that. The squares in the top left corner are for mirroring, the one in the bottom right corner for removing.

    I see some room for improvement, as the snapping can be a bit wonky. What happens, is that you drag a part in snapping range and it snaps into the new position. If you are still moving your mouse cursor (which is pretty probable) it could snap again in the newly rotated position. This can occur a few times before the part settles in some situations. I'm thinking of having a small delay on dragging when snapping, but I'm yet to experiment with this. Any feedback on that would be most welcome.

    I've tried out some designing with just these parts and I found out my thruster worries weren't that legitimate. I could get some designs which had places for thrusters and backup thrusters while offering them protection. I found it wasn't that hard and added to the design challenge for a player.

    Just ordered a vps as a development server, so I can continue on some backend stuff while I think about how to improve the usability of the shipcreator.

  8. #8
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    I think it works pretty well as it is, doesn't even seem THAT wonky.

    ...All I can really say right now
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

  9. #9
    When you know are. Son of Bryce's Avatar
    Join Date
    Aug 2002
    Location
    Los Angeles
    Posts
    838
    Is this anything like Captain Forever? http://www.captainforever.com/

  10. #10
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    Quote Originally Posted by Son of Bryce View Post
    Is this anything like Captain Forever? http://www.captainforever.com/
    Yes. I've actually played this as a source of inspiration, but I think I can improve on the concept in pacing, strategy and variation.

    I find that the pacing and strategy suffer in Captain Forever because of the choice for one mode. Because I need to design in the same mode, there are moments I'm left alone when I want action and vice versa. Also there are some pretty big differences in difficulty from enemy to enemy, making some enemies way too hard and some way to easy.

  11. #11
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    For one, you could give the system more structure, like you said, have a central planet that the space revolves around (both literally and...the other way).
    Another thing you could have, is space stations, where you can dock and live in peace for a bit (and design/upgrade your ship). From the space station concept, you could have 2 factions form, pirates and the police. If you get a bad reputation with the cops, you can't dock at space stations, and cops around space stations try to kill you. On the other hand, being in good rep with the pirates could make other pirates less likely to attack you, granting you peace and calm in which to design your ship as well.

    And then even you could have missions at space stations, like convoy escorts etc.

    I don't know how complex you want to make the game, so I just had this spurt of ideas. If you're aiming for Cpt. Forever or similar, I guess some of them might be a tad too complex...

    (Captain Forever just wasted me half an hour of my life...)

    P.
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

  12. #12
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    Quote Originally Posted by Pazil View Post
    For one, you could give the system more structure, like you said, have a central planet that the space revolves around (both literally and...the other way).
    Another thing you could have, is space stations, where you can dock and live in peace for a bit (and design/upgrade your ship). From the space station concept, you could have 2 factions form, pirates and the police. If you get a bad reputation with the cops, you can't dock at space stations, and cops around space stations try to kill you. On the other hand, being in good rep with the pirates could make other pirates less likely to attack you, granting you peace and calm in which to design your ship as well.

    And then even you could have missions at space stations, like convoy escorts etc.

    I don't know how complex you want to make the game, so I just had this spurt of ideas. If you're aiming for Cpt. Forever or similar, I guess some of them might be a tad too complex....
    I'm aiming for the shooter part to be as simple as possible, so yeah, they would be a tad bit too complex I like those ideas though, so if you won't mind I'll put those on the Won't have section of the MoSCoW list. Those concepts would be a natural step up for the design if the game is succesfull.

    Speaking of the design. For anyone interested enough to look through a few pages here's the semi-permanent link to the designdoc: linky

    I've been in less than perfect health the last couple of days, so I've only looked at some possible backend services, namely GamerSafes LevelVault and Parse which is used by Playtomic (interesting api btw). Too bad none of these live up to my standards, which are pretty high because I can build a webapplication of my own. Parse had the addition of having a cost per request and data entry, which is a really weird pricing model. To redeem the costs per play of that service I'd have to use the highest volume subscription and I can host a pretty high end vps for that kind of money (damn those things are cheap these days).

    So today I did a little actual development and upgraded the ship creator a bit. Now it should properly show which slots are still available. There is an exception to this, but I've only been able to produce it once, so I guess that's a bug I can live with. I've also marked the 'master part'. For those of you who won't read the designdoc: every part of the ship must be (in)directly linked to the master part. You can let parts overlap, but I'm gonna let that slide. I don't see a way to exploit it to the point that it would be cheating. If no one else can see a way for that, I'm not gonna let it restrict creativity.

    So without further ado:
    build2

  13. #13
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    I didn't notice that much improvement, but like I said before the first build didn't seem that awkward to me anyways. Though the devil is in the details, and it's good you sorted the stuff out early.

    I think I'll use your design doc as an example/template for my design docs, since whenever I made mine, I keep forgetting to include some details that I just take for granted/assume...

    And no, you can't use my ideas actually, I have them trademarked/copyrighted/licensed. But I'll sell you rights to them for 1 million dollars! (seems legit).
    (Ye mayn, I was just throwing my first thoughts at you, definitely use them if you like them!)

    When do you plan to start working on gameplay? Or is the first step to have the creator 100% done, so you can start the first stage of release?

    P.

    Plus I just realized that I didn't mean to say Cpt. Forever wasted half an hour of my life (in a bad way), it's actually really addicting and I've played it for pretty long periods in the past week+.
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

  14. #14
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    For the first time since forever, I've got no obligations this weekend. Since the first time in six weeks I've got internet. Got to stay focused!

    Well Pazil, I've been watching the patent wars for a while now and I've learned a thing or two. So I'll trade you the design doc template for your ideas on the game In all seriousness: when I create one, I keep in mind that this is for potential teammembers or sponsors, so I write it for this group of people. When an artist comes onboard or I get a solid idea on artstyle, that gets added as well.

    The creator is almost finished. I decided to use compositing for turrets and thrusters, so now everything is considered a framepart. Difference is that some parts have a turret, thruster, armor or a combination. This immediatly gave me a problem. Why not make a ship which is nothing but thrusters, armor and guns? So I added the rule that a turret/thruster part does not link other parts to the main part.

    Now, since I've got the weekend off and I just figured out how to setup Starling and a good way to connect all of this to a physics engine and my ship format by using VO's... I'm going to add my View to the editor by using Starling for rendering. Heck I'll probably be able to support zooming! Flash11 brings out the little kid + candystore in me. Let's see how far I'll get.

    So I'm off to find out some temp artstyle and a pipeline to easily push art to a Starling game. I got some prototyping to do.

    Oooh candystore!

  15. #15
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    I opted for ND2D instead of Starling. According to my speedtest ND2D uses a little more memory than Starling, but unlike Starling ND2D isn't built on another framework meant for mobile (well, we all know how that's working out for Adobe). I also love the opensource approach of ND2D. I had to get acquinted to GiT, but man, why did I work without that before? I'm trying to get this introduced at work as well.

    So Blasting Forever (yes Gunrunner has a name now) now uses a combination of Stage3D/ND2D and Stage/Flex to render. The polygons of yonder build are now used to dynamicly draw textured parts and I've created a pipeline to easily add premade images for those special parts like turrets,thrusters and beautification (cockpit, radar dish). And less interesting, I can exclude polygon edges from having connection slots. The result, with some borrowed temporary art, is a whole lot sexier than it was. I wanted to get some more skinning & polishing done this weekend, but hey, gotta get up for work tomorrow



    Enjoy,

    build3

  16. #16
    Senior Member
    Join Date
    May 2009
    Posts
    138
    Lookin pretty good. This is just the editor right now, right? Can't actually see the ships in action yet? Couple suggestions.. it kinda jumps a bit when you first start dragging a piece which I think is because you center it on the mouse, is that something you have to do for simplicity sake for the code? It's a bit disorienting. Also, if you could just click to highlight a piece already in place then you could add flip and delete buttons to the piece.

  17. #17
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    Been working on storing and loading ship designs today. It seems to be working allright now. I've chosen to compress the shipdesign into a string, to give me some options for data storage with minimal size increase. Time to go windowshopping for database solutions. I'll create a seperate thread for that if you want to pitch on in that linky


    Oh I forget to mention last time. You can use the left and right arrow key to rotate a part.

    Quote Originally Posted by redjag View Post
    Lookin pretty good. This is just the editor right now, right? Can't actually see the ships in action yet? Couple suggestions.. it kinda jumps a bit when you first start dragging a piece which I think is because you center it on the mouse, is that something you have to do for simplicity sake for the code? It's a bit disorienting. Also, if you could just click to highlight a piece already in place then you could add flip and delete buttons to the piece.
    Good points redjag.

    Yeah, I have simplified by centering the part on the mouse, to have an absolute position to move the part to. Now that you mention it, I realise this is only necessary when giving it an initial position (when you drag the part on the canvas). Added to the list!

    I will take the button suggestion to let the user change the armor type or setting a part as the master part. I don't see the necessity to add flip and delete buttons to a part. As flipping a part would mean you'd have to move the part to compensate for the flipping. A delete button isn't necessarily much faster an interface, as you need to aim at the button first, instead of already dragging it towards the bin.
    Last edited by TOdorus; 11-16-2011 at 02:55 PM. Reason: added link to database thread

  18. #18
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697

    Finally!

    build5

    Changes
    • You can testdrive your ship! (arrow keys to control)
    • Top slots
    • Dislocaters
    • Animated parts



    Well, I had to put in some good hours at work the last few months, learning the Android framework while building an app for a customer who knows what he wants is taxing. It's also rewarding, as I've delivered a pretty lean and mean app. I can't wait 'till it hits Google Play. This did took away any dev time I had on Blasting Forever for a good few months.

    Also, optimizing a steering solution with just thrusters is damn near impossible. You have to do almost everything perfect in order to make that happen. After a month of trying I decided to kill my darling. Instead of thrusters there a now "dislocaters". A dislocater can add forward, backward and side thrust as well as torque, depending on the type, but it can be placed anywhere on the ship. That made stuff A LOT easier for the AI to handle The dev build features a rotation and a forward/backward dislocator.

    Anyways I added top slots. These are there to place dislocaters, modules (shields, energy generators), turrets etc on. At the moment there can be only one top slot per part. I may remove this limit in the future, but I'll first try how this balances out.

    I've also experimented with dynamic music waaay back, but the prototype is promising. I can now switch between music loops without skipping, by directly adding the bytes to the soundbuffer. The idea is to have a musical score with loops that vary in intensity, so the games score can always match the intensity of the gameplay. In other words: if the gameplay gets more frantic, so does the music. I'll have to find someone to write me some cool music though. I'm no star at that.

  19. #19
    Senior Member Pazil's Avatar
    Join Date
    Sep 2006
    Location
    Ontario, Canada
    Posts
    913
    I gotta say that the test drive is feelin' sexy already
    Only awkward thing is that you cut off the velocity at a certain point (the sudden stop vs. natural slow-down).

    And maybe you should consider offering less snapping points? Because with all those points, sure, it allows more customization, but also makes it more of a hassle, and easily goes into wacky behaviour. I'd say a simpler layout would actually give more to the design thing...(imo )

    But yeah, really cool development, and it's actually taking shape now, seems like there's more substance to this demo!
    As for the music, I can give it a shot What kind of music do you want?

    P.
    WIP-ZOMBIES

    I love vegetarians! More meat for the rest of us!

  20. #20
    Funkalicious TOdorus's Avatar
    Join Date
    Nov 2006
    Location
    Nijmegen, Netherlands
    Posts
    697
    Quote Originally Posted by Pazil View Post
    Only awkward thing is that you cut off the velocity at a certain point (the sudden stop vs. natural slow-down).
    Yeah, that's even more noticeable when I reduce the friction some more. A bug in Nape it seems: it puts bodies to sleep to soon. I've concentrated on features first this time. I'll try to set up a reproduction case for DeltaLuca sometime this week(end).

    Quote Originally Posted by Pazil View Post
    And maybe you should consider offering less snapping points? Because with all those points, sure, it allows more customization, but also makes it more of a hassle, and easily goes into wacky behaviour. I'd say a simpler layout would actually give more to the design thing...(imo )
    Thanks for the input. I'm currently building the engine more than pure GUI and gamedesign stuff, but good to know. I can easily vary the distance between slots, so I'll experiment with that some more. Also, the parts in there are pure testcases. The parts are a bit big as they are. You'd need a lot of screen real estate to display the game with ships on this scale. I'll probably have to look into a camera that scales the screen according to a players ships size and velocity, though.

    Quote Originally Posted by Pazil View Post
    As for the music, I can give it a shot What kind of music do you want?
    Well I think it's a little to early to start recruiting right now (lesson learned). I'll add you to the list of possible recruits. Nothing against you though, I know some guys who are semi-professional musicians that actually live in the same country as me

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  




Click Here to Expand Forum to Full Width

HTML5 Development Center