Your Ad Here

Subscribe
 Post #1
 16th April 2009 Last edited by Ha3; 5th November 2009 at 05:55PM..
Ha3's Avatar
January 2007
408 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:


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?
  • 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.

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.
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 !
 Post #2
 16th April 2009
bigboss15's Avatar
July 2005
286 Posts
It's looks really good ! nice idea for a gamemode .
 Post #3
 16th April 2009
Dennab
December 2008
699 Posts
Looking from the video, it looks like much fun :D
 Post #4
 16th April 2009
Gold Member
Dennab
June 2007
8,686 Posts
We need more game modes for this incredible masterpiece.
 Post #5
 16th April 2009
Gold Member
Lord Ned's Avatar
April 2006
16,480 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.
 Post #6
 16th April 2009
Ha3's Avatar
January 2007
408 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.
 Post #7
 16th April 2009
Gold Member
Lord Ned's Avatar
April 2006
16,480 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.
 Post #8
 16th April 2009
Gold Member
_Kilburn's Avatar
July 2007
2,990 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.
 Post #9
 16th April 2009 Last edited by Ha3; 16th April 2009 at 08:43PM..
Ha3's Avatar
January 2007
408 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...
 Post #10
 16th April 2009
Dennab
July 2007
8,573 Posts
Meet the Sniper has the greatest sounds.
 Post #11
 16th April 2009
TheGreatVax's Avatar
March 2008
294 Posts
What about 'Catch the X'
Give the players a gravity gun and make em catch an extremely quickly bouncing thing
 Post #12
 16th April 2009
Viking666's Avatar
April 2009
10 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.
 Post #13
 16th April 2009
Dennab
July 2007
8,573 Posts
How about everyone is on fire and a whole bunch of medkits are spawned. Everyone alive after about 30 seconds wins.
 Post #14
 16th April 2009 Last edited by Ha3; 17th April 2009 at 12:14AM..
Ha3's Avatar
January 2007
408 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.
 Post #15
 17th April 2009 Last edited by Jmax; 17th April 2009 at 12:13AM..
Dennab
February 2008
667 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?
 Post #16
 17th April 2009
Ha3's Avatar
January 2007
408 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.
 Post #17
 17th April 2009 Last edited by Nerdboy; 17th April 2009 at 01:13AM..
Dennab
July 2007
8,573 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.
 Post #18
 17th April 2009
jonney934's Avatar
December 2007
563 Posts
A quick randomized Simon says concept, example would be to pick up a crate <random number between 2 and 4> times
 Post #19
 17th April 2009 Last edited by supertoaster; 17th April 2009 at 01:36AM..
Gold Member
supertoaster's Avatar
May 2007
4,187 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
 Post #20
 17th April 2009 Last edited by NanoSquid; 17th April 2009 at 01:57AM..
NanoSquid's Avatar
April 2009
1,639 Posts
-snip- Double post vv
 Post #21
 17th April 2009
NanoSquid's Avatar
April 2009
1,639 Posts
WOW

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.
 Post #22
 17th April 2009 Last edited by Ha3; 17th April 2009 at 07:59AM..
Ha3's Avatar
January 2007
408 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

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 !
 Post #23
 17th April 2009
Kwigg's Avatar
January 2007
1,378 Posts
EPIC!
Can't wait for full release!
Is there a test server or sommat?
I wanna try multiplayer, it's gonna be hilarious.
 Post #24
 17th April 2009 Last edited by Ha3; 17th April 2009 at 10:37AM..
Ha3's Avatar
January 2007
408 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.
 Post #25
 17th April 2009
Gold Member
thomasfn's Avatar
July 2008
2,302 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.
 Post #26
 18th April 2009
Super Moderator
SteveUK's Avatar
May 2005
4,348 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.
 Post #27
 18th April 2009
Pureluck's Avatar
January 2009
147 Posts
Holy Shit, thats fucking nice
 Post #28
 18th April 2009 Last edited by Ha3; 18th April 2009 at 10:51AM..
Ha3's Avatar
January 2007
408 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.
 Post #29
 18th April 2009 Last edited by DrDaxxy; 18th April 2009 at 11:46AM..
Dennab
October 2007
2,734 Posts
Good idea, but this fails in a 3D multiplayer environment, sadly.
 Post #30
 18th April 2009
Gold Member
_Kilburn's Avatar
July 2007
2,990 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.
 Post #31
 18th April 2009 Last edited by Frostyfrog; 18th April 2009 at 03:15PM..
Frostyfrog's Avatar
May 2008
21 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
 Post #32
 18th April 2009
Gold Member
Jojje's Avatar
January 2005
6,960 Posts
That's pretty damn innovative, I love it!
 Post #33
 18th April 2009
Gold Member
Joerdgs's Avatar
July 2005
3,051 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?
 Post #34
 18th April 2009
Gold Member
CowThing's Avatar
November 2006
2,829 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.
 Post #35
 18th April 2009 Last edited by _Kilburn; 18th April 2009 at 07:14PM..
Gold Member
_Kilburn's Avatar
July 2007
2,990 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.
 Post #36
 18th April 2009
Dennab
April 2009
78 Posts
How do I get the GMod beta?
 Post #37
 18th April 2009
Dennab
April 2009
78 Posts
Does this work with GMod 10
 Post #38
 18th April 2009
Gold Member
raccoon2112's Avatar
June 2007
2,114 Posts
When I get my new video card (should arrive before friday) I'm totally making a map for this.
 Post #39
 18th April 2009
Dennab
April 2009
78 Posts
So, does this work for GMod 10 or not?
 Post #40
 18th April 2009
Frostyfrog's Avatar
May 2008
21 Posts
it works on the gmod beta, which is gmod 10/11
Reply

All times are GMT. The time now is 06:48AM.

Facepunch Studios 2010 - Server 'MARGE'