1. Post #1
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    Hi !



    Have you guys ever played Wario Ware ? That stupid great game where you have to perform actions in a short timespan ?

    Well, as I am a fan of this series of games, I've thought I could try to make a gamemode where every Lua coder could contribute by adding their own minigame !

    It's still an early prototype, but I'm in need of feedback.

    We are not recruiting, but you can submit your scripts if you made one !

    _____________________________________________
    Essential Links

    Download
    The game is available but still in a prototype status.
    Garry's Mod Beta contains a "stable revision" of our SVN.



    If you want to take part in the experimental revision with maybe new minigames but also code tweak and on-work gameplay changes, use this:
    [list][*] Create a folder called "garryware" in "SourceMods/garrysmod/gamemodes/".[*] Use this SVN on the folder : http://subversion.assembla.com/svn/garryware[/list]


    If you people desire, you can join Garry Ware Steam Community Group.

    Changelog
    SVN Changelog
    _____________________________________________

    In descendant chronological order :

    Most recent YouTube videos :

    GarryWare Two


    Old (Garry Ware One, but on a public server)
    Revision 161 with 24 players (public).





    Older YouTube videos :


    Gameplay with 24-32 players

    What new minigames (2):

    What new minigames :

    Real gameplay footage, at an early stage :




    _____________________________________________

    What is that game?
    It's a game where you play very rapidly a series of microgames. Every microgame lasts from 4 to 12 seconds, and requires the player to be very active.

    Can you name example of microgames?
    [list][*] Don't move ! : You have 3.5 seconds to hide, and then don't move or don't get hit by other player's thrown crowbars for 2 seconds ![*] Break 1 chair ! : Chair spawns in the map, but there is not enough for all the players. Break at least one ![*] Watch the props ... Stand on the missing prop ! : Dryers randomly spawns on boxes. Watch them all, and the one will be disappearing, so rush on the box to earn a point ! You could also block the others players from jumping on the box.[/list]
    How many microgames are there?
    There are currently 34 microgames. It is possible to make minigames for it just by placing your script in a folder that will be automatically loaded.

    Currently available minigames:
    
    Added wares (33) : "alarmcrates" "avoidball" "barrelroll" "battery" "bigcrate" "breakallcrates" "buildtothetop" "bullseye" "calc" "calcthink" "catchball" "chair" "climb" "dontmove" "findthemissing" "flee" "forest" "getoncolor" "hlss" "jumpbox" "meloncrates" "melonharvest" "memorycrates" "paparazzi" "pickupthatcan" "rightorder" "rocketjump" "rollingcolor" "shootcolor" "sprint" "touchsky" "tryclimb" "_empty" 
    Author [wares] :   [1 wares]   Kilburn [8 wares]   Kelth [5 wares]   Frostyfrog [1 wares]   Hurricaaane (Ha3) [17 wares]   xandar [1 wares]  
    
    

    Where to download it ?
    The game is available but still in a prototype status.
    [list][*] Create a folder called "garryware" in "SourceMods/garrysmod/gamemodes/".[*] Use this SVN on the folder : http://subversion.assembla.com/svn/garryware[/list]
    Outdated screenies :
    http://www.hurricaaanes.info/ai/garryware_test1.jpg
    http://www.hurricaaanes.info/ai/garryware_test2.jpg


    Technical details about making minigames
    What do I need ?
    First, you need an idea. You need to stay within this nomenclature :
    - All players are equal. You give them the same weapons and the same abilities.
    That means, no "haunted" minigame where a player needs to flee from the other players.
    - Players can't get damage or be killed.
    - Presence of an item disappears when the minigame ends.
    - Player must win or fail at a minigame. No draw game is possible.

    The minigames
    Basically, a minigame is composed of 2 phases :
    - The Warmup period, where players winning or losing isn't defined. For example, in the "Don't move", it's the time where the players can still move without being penalized.
    - The Action period, where a trigger gets activated. In the case of "Stand on the missing prop !", it's the time when a hidden landmark is used to find all the entities in a box. If a player gets in the bix, he wins.
    - The time required for the warmup and the action phases are defined during the warmup using a function.
    - You can hook functions by naming the function using the hook name as the WARE method name.

    The map
    The map contains hidden landmarks used for the coder in order to spawns entities in or use them for detection. There are:
    - On the boxes.
    - Over the boxes.
    - Over the boxes in the sky level.
    - In the cross of the corridors.
    You can get the list of all the entities in a table using a function.

    The victory states
    When a minigame starts, an "Achieved" status is set : It determines if the player starts with a winning scenario or a losing scenario. It can take 3 values :
    false : The player starts as a loser and much complete something to win.
    true : The player starts as a winner, but needs to avoid doing something.
    nil : The player starts as a loser, but won't know if he won until the end of the minigame. (Currently, only one minigame uses this.)

    During the minigame, a player Achieved status can dynamically change. When he completed a certain thing (bad or good), we can change his Achieved status and Lock his state. Locking validates the point for a player, and prevents that player from changing their Achieved state and/or lock multiple times. You can't unlock a player's status, there is no point.
    Something else can also be done : We can Lock the status a player currently have.

    When a minigame ends, a function in the minigame is called to do some stuff.
    AFTER this function has been called, every player that doesn't have their status Locked, gets it Locked.
    That means it is possible to change someone's Achieved state at the very end of the minigame, which is useful for games like "Break all crates !" or "Stand on a missing prop !".

    Where do I put my minigames ?
    In
    garrysmod\gamemodes\garryware2\gamemode\wareminiga mes
    all files will be loaded automatically. Create a new file in there with your nickname.

    I need to play all your minigames to finally test my own ! Can I test my minigame rightaway ?
    Yes :
    "ware_debug 1" : Enables debug mode, no waiting time before game starts, only one minigame game plays repeteadly.
    "ware_debugname dontmove" : Replace dontmove with the name of your minigame to debug.
    Other options :
    "ware_debug 2" : Enables complete game mode with no waiting time (Solo mode)
    "ware_debug 3" : Enables complete game mode with no introduction minigame (Beware : the introduction minigame is not a useless phase : It helps players to perform a double-model caching so that game doesn't stutter.

    Beware ! These settings sticks on server shutdown. Be sure to put debug to "0" when you don't need it anymore !

    Do you want to contribute?
    Read the minigame examples and don't hesitate to post your minigames.

    Here's an example of the "Calc" minigame :
    WARE.Author = "Hurricaaane (Ha3)"
    WARE.Room = "none"
    
    WARE.CorrectColor = Color(0,0,0,255)
    WARE.ChatCorrect  = Color(0,192,0,0)
    WARE.ChatWrong    = Color(192,0,0,0)
    WARE.ChatBleh     = Color(192,192,0,0)
    WARE.ChatRegular  = Color(255,255,255,0)
    
    function WARE:Initialize()
    	GAMEMODE:SetWareWindupAndLength( 2 , 8 )
    
    	GAMEMODE:SetPlayersInitialStatus( false )
    	GAMEMODE:DrawInstructions( "Prepare to type in the chat ..." )
    	
    end
    
    function WARE:StartAction()
    
    	local a = math.random(10,99)
    	local b = math.random(10,99)
    	self.WareSolution = a + b
    
    	GAMEMODE:DrawInstructions("Calculate : "..a.." + "..b.." = ?")
    	GAMEMODE:PrintInfoMessage( "Calculate", " : ", a.." + "..b.." = ?" )
    	
    end
    
    function WARE:EndAction()
    	GAMEMODE:DrawInstructions( "Answer was "..self.WareSolution.." !" , self.CorrectColor)
    	
    	GAMEMODE:PrintInfoMessage( "Answer", " was ", self.WareSolution.." !" )
    end
    
    function WARE:PlayerSay(ply, text, say)
    	if not ply:IsWarePlayer() then
    		if (text == tostring(self.WareSolution)) or string.find(text, tostring(self.WareSolution)) then
    			return false
    		end
    		return
    	end
    	
    	if text == tostring(self.WareSolution) then
    		local initialLocked = ply:GetLocked()
    	
    		ply:ApplyWin( )
    		if ( ply:GetLocked() and not(ply:GetAchieved()) ) then
    			chat.AddText( self.ChatBleh, ply:GetName(), self.ChatRegular, " thought ", self.ChatWrong, "he could have multiple tries." )
    		elseif initialLocked and ply:GetAchieved() then
    			chat.AddText( self.ChatBleh, ply:GetName(), self.ChatRegular, " has found ", self.ChatBleh, "the correct answer ... but no need to say it twice." )
    			
    		else
    			chat.AddText( self.ChatBleh, ply:GetName(), self.ChatRegular, " has found ", self.ChatCorrect, "the correct answer !" )
    		end
    		return false
    		
    	else
    		ply:ApplyLose( )
    		
    		if string.find(text, tostring(self.WareSolution)) then
    			local txtReplace = string.Replace(text, tostring(self.WareSolution), "<answer>")
    			chat.AddText( self.ChatBleh, ply:GetName(), self.ChatRegular, " said \"" .. txtReplace .. "\" ... ", self.ChatWrong, "not quite right !" )
    
    			return false
    		end
    	end
    end
    


    "Don't move" minigame :
    WARE.Author = "Hurricaaane (Ha3)"
    
    function WARE:Initialize()
    	GAMEMODE:SetWareWindupAndLength(3.5,2)
    	
    	GAMEMODE:SetPlayersInitialStatus( true )
    	GAMEMODE:DrawInstructions( "Don't move !" )
    	return
    end
    
    function WARE:StartAction()
    	for k,v in pairs(team.GetPlayers(TEAM_HUMANS)) do 
    		v:Give( "ware_weap_crowbar" )
    	end
    	return
    end
    
    function WARE:EndAction()
    
    end
    
    function WARE:Think( )
    	for k,v in pairs(team.GetPlayers(TEAM_HUMANS)) do 
    		if (v:GetVelocity():Length() > 16) then v:ApplyLose( ) end
    	end
    end


    We are awaiting feedback. Feel free to tell us what you think. Also, you may want to come and play that game with a lot of people, so get on the Facepunch Test Server (get informed here : http://www.facepunch.com/showthread.php?t=702614 ) which contains a stable revision of Garry Ware. If you would like to play the experimental version, I'd suggest you Vent Mod Server : 78.129.250.5:27016

    Also, please note that this gamemode uses modified entities of other gamemodes to test ideas fast, but it'll come a time when those weapons will be real custom ones.

    Thanks for reading !
    Reply With Quote Edit / Delete Reply France Show Events Winner Winner x 8 (list)

  2. Post #2
    Gold Member
    bigboss15's Avatar
    July 2005
    115 Posts
    It's looks really good ! nice idea for a gamemode .

  3. Post #3
    renegeed's Avatar
    December 2008
    385 Posts
    Looking from the video, it looks like much fun :D

  4. Post #4
    Gold Member

    June 2007
    5,036 Posts
    We need more game modes for this incredible masterpiece.

  5. Post #5
    Gold Member
    Lord Ned's Avatar
    April 2006
    3,702 Posts
    While I can't code anything, here's a few suggestions:

    Avoid falling boxes/smashing fists
    Some sort of race, where you can delay the other people by hitting them with crates, furthest person along wings
    Moving floor/ "The-floor-is-lava" type thing.
    Reply With Quote Edit / Delete Reply United States Show Events Friendly Friendly x 1 (list)

  6. Post #6
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    I admit there is still a problem with having a static map. If we find good designs of other rooms that can be used by more than one minigame, we could make very fast (8 second) races and other cool stuff.

  7. Post #7
    Gold Member
    Lord Ned's Avatar
    April 2006
    3,702 Posts
    There's plenty of space in both the X Y and Z spaces of a map. ;)

    I'd suggest making all the rooms look the same, and then have a entity in the center of the room. After the mini-gamemode switches, teleport them to the appropriate room, and that way that room can be moving and look different. If done right, no one would notice the teleporting around, and it would look like one big multi-dimension moving room.

  8. Post #8
    im gay
    _Kilburn's Avatar
    July 2007
    3,699 Posts
    Now that looks pretty awesome, can't wait to code a few contribution for you guys.
    By the way, can't you just automatically register Think and other various hooks inside the registerMinigame function? Having to do the whole "if GAMEMODE:GetWareID() == "dontmove" then" doesn't look really practical.

  9. Post #9
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    Now that looks pretty awesome, can't wait to code a few contribution for you guys.
    By the way, can't you just automatically register Think and other various hooks inside the registerMinigame function? Having to do the whole "if GAMEMODE:GetWareID() == "dontmove" then" doesn't look really practical.
    I may try to make a registerTrigger or similar. Thanks for asking, it's in the works.

    EDIT: Well, it might not be possible...

  10. Post #10
    Nerdboy's Avatar
    July 2007
    891 Posts
    Meet the Sniper has the greatest sounds.
    Reply With Quote Edit / Delete Reply United States Show Events Agree Agree x 1 (list)

  11. Post #11
    TheGreatVax's Avatar
    March 2008
    137 Posts
    What about 'Catch the X'
    Give the players a gravity gun and make em catch an extremely quickly bouncing thing

  12. Post #12
    Viking666's Avatar
    April 2009
    2 Posts
    How about one with platforms that appear that you have to jump on, and they disappear, so you have to move fast, and they keep going faster and faster.

  13. Post #13
    Nerdboy's Avatar
    July 2007
    891 Posts
    How about everyone is on fire and a whole bunch of medkits are spawned. Everyone alive after about 30 seconds wins.

  14. Post #14
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    What about 'Catch the X'
    Give the players a gravity gun and make em catch an extremely quickly bouncing thing
    Thanks for the suggestion !
    Kelth made this minigame into the list of available minigames.


    How about one with platforms that appear that you have to jump on, and they disappear, so you have to move fast, and they keep going faster and faster.
    Not yet possible with the available map concept.


    How about everyone is on fire and a whole bunch of medkits are spawned. Everyone alive after about 30 seconds wins.
    Nomenclature says :
    - Players can't get damage or be killed.

    Still, this concept can be adapted.

  15. Post #15
    Jmax's Avatar
    February 2008
    393 Posts
    The only thing I don't like is the math part.. No one wants to play Gmod to do math.. No one even likes math..

    edit: also, is there a server for this up?
    Reply With Quote Edit / Delete Reply United States Show Events Disagree Disagree x 1 (list)

  16. Post #16
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    The only thing I don't like is the math part.. No one wants to play Gmod to do math.. No one even likes math..

    edit: also, is there a server for this up?
    The most funny thing is when we talk on voice chat about how ridiculous a player got wrong at math.

    I know no one likes to do math, but well, the funny part is when someone miscounts :D



    Currently there is no server running the mod, but you will occasionally find ourselves testing the mod live under the name of "Garry Ware - Test server" with a variable IP.

  17. Post #17
    Nerdboy's Avatar
    July 2007
    891 Posts
    How about a gamemode where you need to whack someone with your crowbar in two seconds, but they can't have been whacked already?

    The only thing I don't like is the math part.. No one wants to play Gmod to do math.. No one even likes math..
    I love math. Add in integrals.

  18. Post #18
    jonney934's Avatar
    December 2007
    238 Posts
    A quick randomized Simon says concept, example would be to pick up a crate <random number between 2 and 4> times

  19. Post #19
    Gold Member
    supertoaster's Avatar
    May 2007
    770 Posts
    How about a bunch of bouncy balls and if it touches you, you die :O Last person alive wins


    And a hot potatoe gamemode. Don't know how you could implement that

  20. Post #20
    Appreciates Subtle Titles
    NanoSquid's Avatar
    April 2009
    6,789 Posts
    -snip- Double post vv

  21. Post #21
    Appreciates Subtle Titles
    NanoSquid's Avatar
    April 2009
    6,789 Posts
    WOW :xd:

    Looks amazing! The "Meet the Sniper" clips are a nice touch!

    You should have the "Jump!" minigame where you hop when something hits the ground.

  22. Post #22
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    A quick randomized Simon says concept, example would be to pick up a crate <random number between 2 and 4> times
    Concept needs to be refined to make it better, but can be nice. I can think of a floating bullseye you must hit for a exact number of times.

    Edit : "Hit the bullseye exactly x times !" preparing to be committed !




    How about a bunch of bouncy balls and if it touches you, you die :O Last person alive wins


    And a hot potatoe gamemode. Don't know how you could implement that
    The bouncy balls already exist. Hot potato doesn't seem to be in accordinance with the "All players are equal" rule, but maybe this can be exploited.




    WOW :xd:

    Looks amazing! The "Meet the Sniper" clips are a nice touch!

    You should have the "Jump!" minigame where you hop when something hits the ground.
    Yeah, the Jump when it's gonna hit is a good concept, although players can be disadvantaged by lag, we'll see what it's gonna do.



    Thanks for your suggestions ! Remember if you desire you can code your minigames yourself !

  23. Post #23
    Gold Member
    Kwigg's Avatar
    January 2007
    1,013 Posts
    EPIC!
    Can't wait for full release!
    Is there a test server or sommat?
    I wanna try multiplayer, it's gonna be hilarious.

  24. Post #24
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    Major update adds a clock in the HUD : Yellow during warmup, smoothly coloured blue/red when winning/losing, strongly coloured blue/red when having won/lost.
    Reply With Quote Edit / Delete Reply France Show Events Late Late x 1 (list)

  25. Post #25
    Gold Member
    thomasfn's Avatar
    July 2008
    2,964 Posts
    Maybe there should be a minigame where an npc stands at one end of the room, and the players have to run and press "e" on him but they have to stand still if he looks at them. If he catches them moving, they are out.

  26. Post #26
    Jaykin Bacon: Episode 3
    SteveUK's Avatar
    May 2005
    2,452 Posts
    If you PM me I can put this on the Gmod Beta SVN if you want which will then go on the FP Test Server.

  27. Post #27

    January 2009
    30 Posts
    Holy Shit, thats fucking nice

  28. Post #28
    Ha3
    Gold Member
    Ha3's Avatar
    January 2007
    376 Posts
    If you PM me I can put this on the Gmod Beta SVN if you want which will then go on the FP Test Server.
    It's OK, check your PMs ;) . Major bugs are fixed, involving weapon switch, and end of game (it used to play the games while we were frozen).

    If you people desire, you can join Garry Ware Steam Community Group.

  29. Post #29
    DrDaxxy's Avatar
    October 2007
    491 Posts
    Good idea, but this fails in a 3D multiplayer environment, sadly.

  30. Post #30
    im gay
    _Kilburn's Avatar
    July 2007
    3,699 Posts
    Good idea, but this fails in a 3D multiplayer environment, sadly.
    You should try playing it before saying that, it's completely different, but still very addicting.

  31. Post #31
    Frostyfrog's Avatar
    May 2008
    8 Posts
    Hurry, I made a little sprint minigame, I was gonna tell you about it over steam but the friends server is down for routine maintenance.

    Edit: I agree with _Killburn

  32. Post #32
    Gold Member
    Jojje's Avatar
    January 2005
    5,543 Posts
    That's pretty damn innovative, I love it!

  33. Post #33
    Gold Member
    Joerdgs's Avatar
    July 2005
    372 Posts
    Haha, well done! Very original.

    Suggest you look at the WarioWare minigames and look at what you can come up with...

    Collect x coins?

  34. Post #34
    moo
    CowThing's Avatar
    November 2006
    4,820 Posts
    The only thing I don't like is the math part.. No one wants to play Gmod to do math.. No one even likes math..

    edit: also, is there a server for this up?
    Then don't play the game, if it's really that hard to add 2 numbers for a few seconds. I love math.
    Reply With Quote Edit / Delete Reply United States Show Events Agree Agree x 1 (list)

  35. Post #35
    im gay
    _Kilburn's Avatar
    July 2007
    3,699 Posts
    Done a few new minigames today, including the "Pick up that can" one in the second video, update the SVN if you haven't done it yet.
    I won't spoil the other ones, but they are pretty evil. :q:

  36. Post #36
    Dennab
    April 2009
    25 Posts
    How do I get the GMod beta?

  37. Post #37
    Dennab
    April 2009
    25 Posts
    Does this work with GMod 10

  38. Post #38
    Gold Member
    raccoon2112's Avatar
    June 2007
    2,215 Posts
    When I get my new video card (should arrive before friday) I'm totally making a map for this.

  39. Post #39
    Dennab
    April 2009
    25 Posts
    So, does this work for GMod 10 or not?

  40. Post #40
    Frostyfrog's Avatar
    May 2008
    8 Posts
    it works on the gmod beta, which is gmod 10/11