• 0

    posted a message on Map uploading error: GATEWAY_HASH_MISMATCH

    Happened to me a lot as well. It was sort of a dice roll, where it worked maybe 5% of the time.

    After hours of frustration and mostly fruitless internet searching, I came to a conclusion.

    1. My upload speed is too slow.
    2. My map file size is too big.

    I've tried a few things I read on the internet, such as using cheat engine to speed hack the editor (making it slower which should slow the timeout) but that never worked. Often made it time out faster, regardless of how much I slowed it or sped it.

    There is a preference to reduce file size, but I read that it takes longer to upload when that preference is selected since it has to unpack it. So make sure under File -> Preferences -> Documents you have it optimized for Faster Saves.

    I've since upgraded my upload speed and that's made a big difference. But I still can't publish a map that's too large. So all you can really do is reduce the file size. Shrink your loading screen (or get rid of it), have fewer preview screenshots, have fewer / lower quality imports. Loading screen is usually the biggest contributor. Wish it didn't have to be tga.

    In the end, it's Blizzard's fault for assuming everyone has lightning fast upload speeds. This problem has been reported a few times but never resolved, and probably never will be.

    Posted in: Galaxy Editor Bugs and Feedback
  • 0

    posted a message on Mimicing the pull of gravity and orbits [SOLVED]

    You're still trying to take shortcuts.

    You use a 10x larger gravitational constant for the star than the home planet? You should reflect this by giving the star a 10x greater mass (custom value 4). G should be the same for both.

    It should look something more like this.

                    Unit Group - For each unit unit 1 in PlayerUnits do (Actions)
                        Actions
                            Unit Group - For each unit unit 2 in Planet Group do (Actions)
                                Actions
                                    General - If (Conditions) then do (Actions) else do (Actions)
                                        If
                                            (unit 1 is alive) == True
                                            (unit 2 is alive) == True
                                            (Distance Squared(unit 1, unit 2)) > 25.6
                                        Then
                                            Variable - Set Force[1] = (1000.0 * (((Custom value 4 of unit 1) * (Custom value 4 of unit 2)) / (Distance Squared(unit 1, unit 2))))
                                            ApplyForcePolar(unit 1, Force[1], (Angle from (Position of unit 1) to (Position of unit 2)))
                                        Else
    

    Although I haven't gotten it to work properly in testing. Just need to make it print out some numbers to make sure things are working as intended. And disable CollideBounce.

    Doesn't seem to work at all for me. Must be something else interfering, or units not being placed into groups correctly.

    Posted in: Triggers
  • 0

    posted a message on Mimicing the pull of gravity and orbits [SOLVED]

    Ok, thought you were trying to make planetary systems. You can just use two groups then and the planet group pull the unit group.

    Yeah distance squared isn't in the tutorial. Read the last note of my previous post. That's the whole function. Takes two units and returns a real.

    It doesn't need to be a function but I tend to use it for lots of things.

    Posted in: Triggers
  • 0

    posted a message on Mimicing the pull of gravity and orbits [SOLVED]

    Looks a little convoluted... here's what I'd do.

    Add each planet to a unit group. Let's call it PlanetGroup.

    This runs in a periodic trigger, which you could combine with the Move Objects trigger if you'd like.

    Global variable G is some constant, use trial and error to find an appropriate value
    
    Trigger event:
    every 0.0 game seconds
    Local variables:
    Unit1 (unit)
    Unit2 (unit)
    Force (real)
    Actions:
    For each unit Unit1 in PlanetGroup do
        For each unit Unit2 in PlanetGroup do
            If (Unit1 != Unit2)
                Force = G*(Custom value 4 of Unit1)*(Custom value 4 of Unit2) / DistanceSquared(Unit1, Unit2)
                ApplyForcePolar (Unit1, Force, Angle Between Units(Unit1, Unit2)
                ApplyForcePolar (Unit2, Force, Angle Between Units(Unit2, Unit1)
    

    Note:
    Custom value 4 represents the unit's mass
    DistanceSquared is a custom function that uses the distance formula, but without the square root. This is more efficient than squaring the square root.
    It does this: c^2 = a^2 + b^2
    Return (X of position of Unit1 - X of position of Unit2)^2 + (Y of position of Unit1 - Y of position of Unit2)^2

    Posted in: Triggers
  • 0

    posted a message on Mimicing the pull of gravity and orbits [SOLVED]

    What you need for maximum realism is a physics engine.

    Since you asked for a "Physics to SC2 for Dummies", I'll refer you to my tutorial which is just that.

    http://www.sc2mapster.com/forums/resources/tutorials/22121-triggers-implementing-a-physics-engine/

    This will also give you collision bounce effects.

    Making the gravity work would be trivial using my ApplyForcePolar (for ease) or ApplyForceCartesian (for efficiency) function from the tutorial.

    What it does is applies a force over the shortest period of time (1 game loop). All you'd need to do is call it once every game loop, for each object, onto each other object (n^2 operations). This means you can't have too many units or it will get quadratically more laggy.

    The amount of force is based on the distance and the object masses, as in Newton's equation.

    Edit: Regarding vectors, the most effective format is X and Y (and Z if 3D) components. So if an object has an X velocity of 5.0 and a Y velocity of -2.0, then in the next game loop the object will have moved 5.0 units to the right and 2.0 units down. The functions I'm talking about simply modify these vectors using vector arithmetic and F=MA.

    Posted in: Triggers
  • 0

    posted a message on Has the Arcade gained momentum?
    Quote from Fullachain: Go

    @Eiviyn: Go

    Problem is getting that crucial early feedback is virtually impossible. Ppl will only join page 1 maps and their bookmarks.

    I think that's another big problem with the arcade. It's awful at fostering the actual development of games. You don't want to publish for public a work in progress. What do people do when they encounter a game-breaking bug? One star. Not enough content to want to keep playing? Three stars. You fix the bugs, and add more content. But the bad rating is a death sentence for filling lobbies. People very rarely go back and reevaluate your game so they can update their review.

    I will continue to work on maps because I enjoy it. But I won't publish a map until it is near finished. My testing pool is limited to whatever AIs I can make and friends, who become less active and eventually disappear because SC2 is a dying game.

    Posted in: General Chat
  • 0

    posted a message on Open Sourced Maps List

    I agree with this completely, and that's why I left all my maps unprotected.

    My oldest is Build Your Own Maze. It's a pretty simple game where you make an obstacle course for other players to try to beat. Might be useful for beginners.

    My latest is Dogfighters. Much more advanced triggers, and it implements my 3D physics engine. From this you could learn advanced trigger concepts like orienting an actor to any yaw/pitch/roll, getting the vector the camera is facing, and of course physics. For that you might want to go through my tutorial first.

    http://www.sc2mapster.com/forums/resources/tutorials/22121-triggers-implementing-a-physics-engine/

    Posted in: Tutorials
  • 0

    posted a message on Dogfighters

    @SouLCarveRR: Go

    It's based on the Magecraft physics, but with much added since then.

    @zeldarules28: Go

    Thanks for the front page!

    Posted in: Project Workplace
  • 0

    posted a message on Dogfighters

    I'm finally ready to announce my biggest project yet:

    Dogfighters

    Dogfighters is a third person team action game with a focus on aerial combat. See the video below.

    Embed Removed: https://www.youtube.com/v/xlyW2NvDLIQ?fs=1

    Everything shown and described is subject to change since this is a work in progress.

    Features and design philosophies:

    Purely physics based game mechanics, to maximize "emergent gameplay" and "awesome moments"
    Mechanics based in reality, for intuitive player adaption
    Mobility as a defense
    Importance of survival; feeling of urgency
    High levels of customization, with no arbitrary limits - but consequences for every decision
    Emphasis on fun, fairness, and freedom
    Fast paced and high skill ceiling; low skill floor
    Many game details; don't have to understand everything to play effectively
    No snowballing; should never have a reason to leave the game before it's over

    Game modes:

    Currently three modes: Tutorial Mode, Arcade Mode, and Showdown Mode

    Arcade Mode

    This is the preferred mode for beginners, comparable to games like Battlefield and mobas. Random vehicles are spawned in your base, a set amount of money is spent on upgrading them, and all the player has to do is choose one and hop in and start fighting.

    The objective is to destroy the enemy Command Center. Each base is surrounded by a big blue shield, which destroys projectiles and forces enemies out. The only way to take down the shield is by destroying the enemy Bunker.

    Bunkers are extremely tough and require siege tanks to reliably damage. They can shoot down your projectiles and zap your bullets before you can hit it. This way players can't snipe them from across the map, since there is no arbitrary range limit on projectiles. The only way to get in and damage a bunker is to attack it while it's preoccupied, by shooting at something else like a group of marauders. The best method, however, is to let your team's siege tank get in range and start laying on artillery. The siege tank's projectiles are the only projectiles impervious to bullets, so the bunker can't stop them.

    Vehicles continue spawning whenever your team needs one. Their value is based on how long the game has been playing, which increases over time so you start with the simplest vehicles and progress to the high end ones with many weapons and upgrades. Whenever a new vehicle is spawned however, your team produces one less marauder for the next wave, or even the tank if there are no marauders left to sacrifice. So if your team wastes too many vehicles, it will struggle in the land battle.

    Dying is not a big deal and you respawn 10 seconds later (with adjustments if teams are uneven). However, every death increases your respawn time by 1 second permanently. You can sometimes save your life by ejecting from your vehicle before it explodes.

    Showdown Mode

    This is the preferred mode for experts, who wish to have more control over their vehicle's loadout. It's more akin to Counterstrike because you build your vehicle from scratch and upgrade it however you want. And the objective is to eliminate the opposing team; when you die you don't respawn until the next round. Best of 9 rounds wins the game.

    There are still marauders and siege tanks, but no Bunkers. In its place is a Power Facility, which can be captured by your team's ground forces. If your team owns both Power Facilities, then the enemy base's shield goes down and their Command Center is vulnerable. You can destroy the enemy's Command Center to win if the enemy players are hiding from you. These rounds are supposed to be finished much faster than Arcade mode, which is why there are multiple rounds.

    Each successive round you are given more money to spend on your vehicle, and an option to rebuild your previous vehicle for the same price, and then continue to add on to it. This is useful because of the market simulation in this mode.

    Every vehicle, weapon, or vehicle mod purchased will have some impact on its cost in the next round. Simulating supply and demand, the more of something you purchase/upgrade, the more it will cost in subsequent rounds. This helps to encourage variety in builds, as well as suppress imbalances by making overpowered things more expensive.

    Tutorial Mode

    This mode is triggered whenever there is only one player in the game. It gives you the option to go through a step-by-step tutorial to get used to the controls and features. Or you can skip the tutorial and just play in a sandbox with unlimited money and some dummy vehicles for you to test your weapons on.

    Customization

    Each vehicle has its own set of available weapons (there's room for up to 15, but not that many implemented yet) that you can buy, upgrade, modify, change hotkey, buy ammo, install/uninstall, and reorient. There is no arbitrary limit on weapons; you can have all of them installed at a time. The drawback is their weight. Newton's Second Law requires that Acceleration = Force / Mass. So as you can intuit, the more stuff you put on your vehicle the more sluggish it will be. You can counter this with engine upgrades to improve your movement Force, and for aircraft, weight reduction upgrades. Nothing is required, though, and the game won't save you from making stupid decisions. That's why Showdown Mode isn't for beginners.

    Weapons have up to 5 Mods, as shown at the end of the video. These make drastic changes to the weapon's functionality, unlike basic upgrades which are incremental and consistent. Each mod has an upgrade level requirement, however. The last weapon mod is usually the best.

    Combat

    There's way too much to explain. Just play it and see!

    Join me in channel Dogfighters on North America, where you can help me test and offer suggestions.

    It's now published for public on North America! Try the tutorial and let me know what you think.

    Posted in: Project Workplace
  • 0

    posted a message on Brainstorming a Boss Battle Map

    Aphotic, aka http://www.sc2mapster.com/profiles/Stealthsam/ is working on a map like that. Maybe you should collaborate with him.

    Posted in: Map Suggestions/Requests
  • 0

    posted a message on Computational Efficiency of records vs large arrays

    It doesn't really matter; they're just storage, and you're not using too much memory by any means. Arrays have the advantage of being able to iterate through each element, though. But if giving them names makes it easier for you to remember their significance, go for that.

    Posted in: Triggers
  • 0

    posted a message on Map making for money

    Some relevant food for thought.

    Posted in: General Chat
  • 0

    posted a message on [Triggers] Implementing a Physics Engine

    @Oparcus: Go

    I've been busy lately but I have included 3D capabilities with terrain collision, I'll add it to the tutorial eventually. There's also an error with the collision reflection function; the normal vector needs to be a unit vector (this is achieved by dividing all of its components by its magnitude). I noticed this when my unit was being pushed ridiculously far away from a larger than usual object. Ctrl+F search for "Edit:" in the original post to find where I corrected that mistake.

    As for doodads, you'd have to just treat them like units. if a sphere-shape isn't specific enough, you could use a group of invisible dummy units with fixed positions.

    Posted in: Tutorials
  • 0

    posted a message on My answer to B.net Arcade

    I guess it deserves a topic since it's the only feature that would really matter.

    We're getting something close, though. A button to join the chat room for a specific map. This could allow you to look for players for several maps at a time rather than sitting in a single lobby. However, knowing the B.net community, people will probably be too lazy to use it.

    Posted in: General Chat
  • 0

    posted a message on SC2 Arcade Alpha

    If you're in the beta and about to give feedback, make sure they know how badly we want an active lobby list. Maybe they'll actually listen to you then.

    Posted in: General Chat
  • To post a comment, please or register a new account.