• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Survival map

Status
Not open for further replies.

Deleted member 219079

D

Deleted member 219079

Any ideas to create a good survival map?throw in ideas!
Make the techtrees start like those in Jurassic Park, JP has good first buildings, like tent, campfire, fences, gates etc. But it gets quite dump after that, so try to make something unique for the mid and late game.


For the gameplay, I suggest making 2 teams, evils and good guys. There would be fewer evils than good guys, for example in ratio of 1:3. This is a good script to separate evils and good guys:
JASS:
function SetAlliances takes nothing returns nothing
    local integer i = 0
    local integer j
    local player p1
    local player p2
    loop
        set p1 = Player(i)
        if GetPlayerSlotState(p1) == PLAYER_SLOT_STATE_PLAYING then
            set j = 0
            loop
                set p2 = Player(j)
                if j != i and GetPlayerSlotState(p2) == PLAYER_SLOT_STATE_PLAYING then
                    if udg_IsEvil[i-1] and udg_IsEvil[j-1] then // if both are evil
                        call SetPlayerAllianceStateBJ(p1,p2,bj_ALLIANCE_ALLIED)
                        call SetPlayerAllianceStateBJ(p2,p1,bj_ALLIANCE_ALLIED)
                    elseif not (udg_IsEvil[i-1] or udg_IsEvil[j-1]) then // if both are not evil
                        call SetPlayerAllianceStateBJ(p1,p2,bj_ALLIANCE_ALLIED)
                        call SetPlayerAllianceStateBJ(p2,p1,bj_ALLIANCE_ALLIED)
                    else // if they are in different teams
                        call SetPlayerAllianceStateBJ(p1,p2,bj_ALLIANCE_UNALLIED)
                        call SetPlayerAllianceStateBJ(p2,p1,bj_ALLIANCE_UNALLIED)
                    endif
                endif
                exitwhen j == 11
                set j = j + 1
            endloop
        endif
        exitwhen i == 11
        set i = i + 1
    endloop
    set p1 = null
    set p2 = null
endfunction
You'll require to make following variable (Ctrl + B, then Ctrl + N to create variable):
attachment.php


Then you'll create your own system to config IsEvil for each player, and call SetAlliances, which you'll paste in your map header code.


After loss, I suggest you'd still have a chance to get back to life, just like in Tree Tag. Just have a region where the dead good guys go, and other good guys could revive them for there.

For evils, make so that they'll auto respawn at the center, and make the respawn timer visible for everyone.


Don't make the game last more than 45 mins, and even 45 mins is a lot of time. I'd recommend for the first version to only last for 30 minutes.


Just like Save/Load system in some games, and anti-maphack system in Tree Tag and the custom taunt sounds in Island Defense, don't put those kind of extras to your first release. So aim to get the first version finished as soon as possible, to get feedback and enjoy it :)


Same answer as for the fancy systems, just get the first version ready first.


The game doesn't have to be unique, it has to be fun and entertaining! Concentrate on: Making interesting heroes (if you'll have heroes), having different races (not for the 1st release though), making interesting and varying waves (if you decided not to have evil players), making compact map (at least for 1st release).


There's still a lot of fields to cover, but they're up to you :)
 

Attachments

  • asd.png
    asd.png
    6.4 KB · Views: 167
Status
Not open for further replies.
Top