WIP Physics Wars

Sevion

The DIY Ninja
Reaction score
413
PHYSICS WARS
By: Sevion
Version: IN DEVELOPMENT​

Description:

Physics Wars is a 3v3 massive unit battle map in which you can control the very forces of physics. The level of your hero determines the weight of your physics powers. If you and your opponent both attempt to affect gravity on the same unit, then the user with the higher level will have more weight in affecting the outcome. If you have an ally helping, your team's weight affecting the outcome increases exponentially. Along with your hero levels. The number of units being affected also affects this. The more units, the farther stretched your powers become and the weaker you are. The more focused your powers, the stronger it becomes. Range is another prospect. There are just so many factors in determining your power. Can you predict them all? Doubtful.

This game is a game of which will require micromanagement skills beyond those of the average Joe. However, you might survive, if you're lucky. Micro your troops and buff them with your physics powers to crush the forces of your enemy!

Info:

Your stronghold will spawn units over time according to the currently selected spawn-type.

There will be four races, each with four unit-types:

Humans: Footmen, Rifleman, Knights, Siege Engine
Orcs: Grunts, Headhunters, Tauren, Demolisher
Night Elves: Archer, Huntress, Mountain Giant, Glaive Thrower
Undead: Ghouls, Crypt Fiends, Abomination, Meat Wagon

Each unit will have its strengths and weaknesses.

Both races also have strengths and weaknesses:

Humans: 5% Increased Income, Age Development
Orcs: 5% Increased Health, Beast Alliances
Night Elves: 10% Increased Spawn Rate At Night, Night Bonuses
Undead: 5% Increased Attack Speed, Life Leech

*Subject to Change

Progress:
Terrain:
progressbar.php

Triggers:
progressbar.php

Systems:
progressbar.php

Units:
progressbar.php

Items:
progressbar.php

Total:
progressbar.php


Features:

Promotion System:

Have a footman whose survived many battles? Taken a liking to them? Now you can give them a promotion! However, you don't, moreover the system will automatically select units and give them promotions based on time alive and more!

Unlimited Selection System:

Ever felt that it was stupid how you could only select a maximum of 12 units? Wanted to order your ENTIRE army to attack? Well, in Physics Wars, you CAN. ;) In Physics Wars, you can select your entire army, set a low friction buff and speed across the land at your enemy and even split orders across the entire army! How cool would that be? How to do this? You'll have a bar with an icon of all of your units, and in that bar, you'll be able to click on a specific group (categorized by unit-type, but can be mixed :O) and order that specific group to do something. You will have controls to divide and combine groups as well as groups of different types ;)

Concept Image:
PhysWars-User-Bar.png

Current Draft:
Palette.png

If you can't read, it says:

Abom (Abomination), Archer, Ftmn (Footman), Add, Subtract, Divide, Separate.

Basically, you can select a group of aboms then divide it into 2 groups, then divide an archer group, select an abom group and an archer group, then add. Baboom! You got 4 groups: Abom, Archer, Abom+Archer, Ftmn! Then click separate on Abom+Archer to make Abom, Abom, Archer, Archer, Ftmn! And whatever!

Don't worry about concept image ugliness. It'll look better in the end o_o'

Projectile System:

That's right. All units with any special ability that have to do with projectiles will be controlled by a projectile system made by cleeezzz.

Camera System:

Custom Camera System. You ask why? DGUI requires it. However, it's not bad. Differences are noticeable between this camera and regular camera, but it's nothing serious. Speeds are about the same at 75 WC3 Units per 0.0325 timer seconds. It works by locking the camera to a unit and moving the unit via a timer at 0.0325 intervals to position of unit + 75 towards the correct angle.

And, yes, it does work with diagonal ;)

Physics System:

And last, but not least, a physics system to control Gravity, Friction, Inertia, Time & Space. Gravity to slow your enemies and increase damage on hits etc. Friction to increase or slow movements. Want to stop units in their tracks? Raise gravity and increase friction! Want to stop time in a specific area? Then do it! Because you can!

Team

  1. Sevion
  2. Infinitegde
  3. cleeezzz
  4. Renendaru
  5. Nitheral

Helpers:

  1. Frozenhelfir

Snippets

Here is a snippet from the last updated item ;)

If you feel like some parts of the code seem to be missing, that's because it is. I cut the code only to show you a single part of it ;)

JASS:
    private function MoveCameraR takes nothing returns nothing
        call SetUnitPosition(LOCK[GetPlayerId(GetTriggerPlayer())], GetUnitX(LOCK[GetPlayerId(GetTriggerPlayer())]) + SPEED * Cos(0 * bj_DEGTORAD), GetUnitY(LOCK[GetPlayerId(GetTriggerPlayer())]))
    endfunction
    
    private function MoveCameraL takes nothing returns nothing
        call SetUnitPosition(LOCK[GetPlayerId(GetTriggerPlayer())], GetUnitX(LOCK[GetPlayerId(GetTriggerPlayer())]) + SPEED * Cos(180 * bj_DEGTORAD), GetUnitY(LOCK[GetPlayerId(GetTriggerPlayer())]))
    endfunction
    
    private function MoveCameraU takes nothing returns nothing
        call SetUnitPosition(LOCK[GetPlayerId(GetTriggerPlayer())], GetUnitX(LOCK[GetPlayerId(GetTriggerPlayer())]), GetUnitY(LOCK[GetPlayerId(GetTriggerPlayer())]) + SPEED * Sin(90 * bj_DEGTORAD))
    endfunction
    
    private function MoveCameraD takes nothing returns nothing
        call SetUnitPosition(LOCK[GetPlayerId(GetTriggerPlayer())], GetUnitX(LOCK[GetPlayerId(GetTriggerPlayer())]), GetUnitY(LOCK[GetPlayerId(GetTriggerPlayer())]) + SPEED * Sin(270 * bj_DEGTORAD))
    endfunction
    
    private function MoveCamera takes nothing returns nothing
        if GetTriggerEventId() == EVENT_PLAYER_ARROW_RIGHT_DOWN then
            call TimerStart(TIMER[0], 0.0325, true, function MoveCameraR)
        elseif GetTriggerEventId() == EVENT_PLAYER_ARROW_LEFT_DOWN then
            call TimerStart(TIMER[1], 0.0325, true, function MoveCameraL)
        elseif GetTriggerEventId() == EVENT_PLAYER_ARROW_UP_DOWN then
            call TimerStart(TIMER[2], 0.0325, true, function MoveCameraU)
        elseif GetTriggerEventId() == EVENT_PLAYER_ARROW_DOWN_DOWN then
            call TimerStart(TIMER[3], 0.0325, true, function MoveCameraD)
        elseif GetTriggerEventId() == EVENT_PLAYER_ARROW_RIGHT_UP then
            call PauseTimer(TIMER[0])
        elseif GetTriggerEventId() == EVENT_PLAYER_ARROW_LEFT_UP then
            call PauseTimer(TIMER[1])
        elseif GetTriggerEventId() == EVENT_PLAYER_ARROW_UP_UP then
            call PauseTimer(TIMER[2])
        elseif GetTriggerEventId() == EVENT_PLAYER_ARROW_DOWN_UP then
            call PauseTimer(TIMER[3])
        endif
    endfunction

    private function ini takes nothing returns nothing
        set t = CreateTrigger()
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_RIGHT_DOWN)
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_LEFT_DOWN)
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_UP_DOWN)
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_DOWN_DOWN)
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_RIGHT_UP)
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_LEFT_UP)
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_UP_UP)
        call TriggerRegisterPlayerEvent(t, GetLocalPlayer(), EVENT_PLAYER_ARROW_DOWN_UP)
        set TIMER[0] = CreateTimer()
        set TIMER[1] = CreateTimer()
        set TIMER[2] = CreateTimer()
        set TIMER[3] = CreateTimer()
        call TriggerAddAction(t, function MoveCamera)
    endfunction


Screenshots

Date-08-31-09
WC3ScrnShot_083109_212428_01.png

Date-09-01-09
WC3ScrnShot_090109_185716_01.png

Date-09-01-09
WC3ScrnShot_090109_220916_01.png

Date-09-01-09
WC3ScrnShot_090109_231748_01.png

Date-09-02-09
WC3ScrnShot_090209_225157_01.png

Slideshow:

Conclusion

So, as you can probably see, I've really got my work cut out for me ;) But, I believe, that if I do this right, it can be a really really challenging and fun game ^_^

I just gotta hope I pull through ^_^'

I think that's everything, if there's any questions, feel free to ask.

When I release Physics Wars, it will be ENTIRELY OPEN SOURCE!
 

Sevion

The DIY Ninja
Reaction score
413
Is this for TFT? IF not, I wanna help...

Sorry, tis for TFT :(

Edit:

Update:

Race revision:

Now have all 4 races with 1 Melee Unit, 1 Ranged Unit, 1 Tanker Unit, 1 Siege Unit

Edit2:

Update:

Map size revision:

I currently had a 96^2 map. Way too small. Resizing to 256^2
 

Sixth House

New Member
Reaction score
21
Really interesting stuff. Something different for sure, and physics is something I'm really interested in and good at, therefore I could help you in the process if you need it.


General Ideas

(Quote) "Info:
Your stronghold will spawn units over time according to the currently selected spawn-type.
There will be four races, each with four unit-types:
Humans: Footmen, Rifleman, Knights, Siege Engine
Orcs: Grunts, Headhunters, Tauren, Demolisher
Night Elves: Archer, Huntress, Mountain Giant, Glaive Thrower
Undead: Ghouls, Crypt Fiends, Abomination, Meat Wagon
Each unit will have its strengths and weaknesses.
Both races also have strengths and weaknesses:
Humans: 5% Increased Income, Age Development
Orcs: 5% Increased Health, Beast Alliances
Night Elves: 10% Increased Spawn Rate At Night, Night Bonuses
Undead: 5% Increased Attack Speed, Life Leech"


I would like to give some constructive criticism.

Instead of using Human, Orc, Elves and Undead, why not create your very own races?

To start with, the creation of your very own race allows you to drift off into idea land because you can do absolutely anything you want to that race you've imagined. Instead of Humans where I know a footman whose wearing thick armor and wielding a sword can somehow fly through space and cast all kinds of gravitational, and friction like spells.....what? :nuts:. People are going to look at you funny when a grunt, whose using an axe, and a tauren, who's using a big fat log is going to some-how time travel and kick your ass with a his super gravity axe and omega gravity log. :p

Secondly, if you created your own race, such as a race of Sheep-o-roids who come from the planet Cotton, then no one can say that they can't cast a Black Hole because it's a made up race. Humans are not a made up race, so logic and common sense would be involved, while orcs, elves and undead are made up, but its too generic. If you absolutely want to use Human, Orc, Elves and Undead, then try to come up with a different name for the race and change the unit names as well. :eek:

The point is: Try to use something else other than the basic Warcraft III races. They're a lot of creatures so I'm pretty confident you can create a imaginary race of your own. Think about.

Here's an example race:

Name: Sheep-o-roids
Units: Fluffy Sheep, Moo-Sheep, Wearing-his-fancy-new-pajamas Sheep, Standard ol' farm Sheep.
Benefits: 5% decreased build time of all Sheep-o-roids. All Sheep-o-roids have a 50% chance of exploding upon death causing gravity to go up or down but drastically reducing friction at the point of explosion.

------

Overall I really like this map idea and can't wait to try this out.
I would like to help in the Hero Development/Story/Lore/Hero-Lore etc if you require that. I'm pretty confident with my writing abilities, and I'm rarely busy, if ever.

Best of luck on your map. :)
__________________
"I am confident that if anyone actually penetrates our facades, even the most perceptive would still be fundamentally unprepared for the truth of The Sixth House."
 

thewrongvine

The Evolved Panda Commandant
Reaction score
506
Keeping the Warcraft races are fine.
I see no "weaknesses" with the races, :D Except for maybe Age Development.
Can you control the phsyics in the whole map? Or only to like your units and your territory? Because if you could affect enemy places too, that'd be rigged. ^^

Good luck, :thup: Seems awesome.

~Hai-Bye-Vine~
 

LurkerAspect

Now officially a Super Lurker
Reaction score
118
Wow. I must say, I've never seen an idea like this before. This in my opinion is a completely unique idea.

I'm so eager to play this already!

But you realise it's going to be flippin difficult to do all the triggers and physics systems by yourself! I wish you luck, and I would offer to help you if my skills were better.
 

Sevion

The DIY Ninja
Reaction score
413
Well, I'm not completely on my own ;)

I've got cleeezzz and Renendaru, however, what I'm going to have them do, I don't know.
 

Sevion

The DIY Ninja
Reaction score
413
Bump, and update:

Canceled idea about trackable use for unlimited selection, and instead... why don't you read the first post ;)
 

Zack1996

Working on a Map
Reaction score
68
Bump, and update:

Canceled idea about trackable use for unlimited selection, and instead... why don't you read the first post ;)
Read the first post. Really interesting concept 0_o What's the maximum unit limit, or is there even one :0
 

Sevion

The DIY Ninja
Reaction score
413
With my current idea, there will be none ;)

Except that your computer will probably lag with anything more than 300 units. It's currently capped at max spawned units 250. ;) However, if I find a higher limit, I will use that. It used to be 5000. But there was major lag and model vertex bugs (if spawned at the same spot and within close proximity).

Quick Update:

Physics Wars now uses a custom camera movement system ;)

Utilizing Camera (because DGUI requires it), I have created a custom camera movement system. Read more on first post (when I get it up). It is up, along with the new Snippet section ;)
 

Sevion

The DIY Ninja
Reaction score
413
I don't have time to worry about desync right now -_-'

I need to fix 1.24 compatibility.
 

afisakov

You can change this now in User CP.
Reaction score
37
I wish you the best of luck with this, the idea sounds really cool and I can't wait to play it.
 

Viikuna

No Marlo no game.
Reaction score
265
That thing creates a different event for each player, so it might indeed desync, depending of what you do with it.

Also this sounds pretty neat.
 

Sevion

The DIY Ninja
Reaction score
413
That thing creates a different event for each player, so it might indeed desync, depending of what you do with it.

Also this sounds pretty neat.

Locks the player's camera to a unit.

Er, wait, come to think of it, it actually moves the unit >_< DUH THAT'S why it desyncs. Bleh I'm retarded XD
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    How can you tell the difference between real traffic and indexing or AI generation bots?
  • The Helper The Helper:
    The bots will show up as users online in the forum software but they do not show up in my stats tracking. I am sure there are bots in the stats but the way alot of the bots treat the site do not show up on the stats
  • Varine Varine:
    I want to build a filtration system for my 3d printer, and that shit is so much more complicated than I thought it would be
  • Varine Varine:
    Apparently ABS emits styrene particulates which can be like .2 micrometers, which idk if the VOC detectors I have can even catch that
  • Varine Varine:
    Anyway I need to get some of those sensors and two air pressure sensors installed before an after the filters, which I need to figure out how to calculate the necessary pressure for and I have yet to find anything that tells me how to actually do that, just the cfm ratings
  • Varine Varine:
    And then I have to set up an arduino board to read those sensors, which I also don't know very much about but I have a whole bunch of crash course things for that
  • Varine Varine:
    These sensors are also a lot more than I thought they would be. Like 5 to 10 each, idk why but I assumed they would be like 2 dollars
  • Varine Varine:
    Another issue I'm learning is that a lot of the air quality sensors don't work at very high ambient temperatures. I'm planning on heating this enclosure to like 60C or so, and that's the upper limit of their functionality
  • Varine Varine:
    Although I don't know if I need to actually actively heat it or just let the plate and hotend bring the ambient temp to whatever it will, but even then I need to figure out an exfiltration for hot air. I think I kind of know what to do but it's still fucking confusing
  • The Helper The Helper:
    Maybe you could find some of that information from AC tech - like how they detect freon and such
  • Varine Varine:
    That's mostly what I've been looking at
  • Varine Varine:
    I don't think I'm dealing with quite the same pressures though, at the very least its a significantly smaller system. For the time being I'm just going to put together a quick scrubby box though and hope it works good enough to not make my house toxic
  • Varine Varine:
    I mean I don't use this enough to pose any significant danger I don't think, but I would still rather not be throwing styrene all over the air
  • The Helper The Helper:
    New dessert added to recipes Southern Pecan Praline Cake https://www.thehelper.net/threads/recipe-southern-pecan-praline-cake.193555/
  • The Helper The Helper:
    Another bot invasion 493 members online most of them bots that do not show up on stats
  • Varine Varine:
    I'm looking at a solid 378 guests, but 3 members. Of which two are me and VSNES. The third is unlisted, which makes me think its a ghost.
    +1
  • The Helper The Helper:
    Some members choose invisibility mode
    +1
  • The Helper The Helper:
    I bitch about Xenforo sometimes but it really is full featured you just have to really know what you are doing to get the most out of it.
  • The Helper The Helper:
    It is just not easy to fix styles and customize but it definitely can be done
  • The Helper The Helper:
    I do know this - xenforo dropped the ball by not keeping the vbulletin reputation comments as a feature. The loss of the Reputation comments data when we switched to Xenforo really was the death knell for the site when it came to all the users that left. I know I missed it so much and I got way less interested in the site when that feature was gone and I run the site.
  • Blackveiled Blackveiled:
    People love rep, lol
    +1
  • The Helper The Helper:
    The recipe today is Sloppy Joe Casserole - one of my faves LOL https://www.thehelper.net/threads/sloppy-joe-casserole-with-manwich.193585/
  • The Helper The Helper:
    Decided to put up a healthier type recipe to mix it up - Honey Garlic Shrimp Stir-Fry https://www.thehelper.net/threads/recipe-honey-garlic-shrimp-stir-fry.193595/

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top