Garry Ware (Fretta) - Contribute and craft your own minigames!
202 replies, posted
Damnit. Rambo merged the old version of Garry Ware with the new version of Garry Ware, and unwanted files that are supposed to be deleted are still there, so it fucks up the game completely.
I'm trying to get someone to fix that mess. I'll look at your code later.
[QUOTE=Max of S2D;14749597]EPIC WIN.
Y'gotta play with low latency though[/QUOTE]
I was playing on a server that I think was in France while I was playing in the US :P
Hello Hurry ;D
Been thinkin' a lot, and i'm still yet to even try the gamemode! (The beta is takin' ages to download!)
Buuut, I have some gamemodes that you may like =P
Frozen- Every Player is frozen where they stand, but they can still move their aim- say after 3 seconds, everyone has to throw crowbars at eachother, if a crowbar hits you, say twice, you are out... last man standing gets the win... If a player is crouching, they will be forced to stand up (if such a code =/).
Seconds Sprint- A wall glows- or changes colour, indicating the player has to stand up against that wall... but you have 3-5 (still yet to see the size of the map) seconds from when it starts glowing.
Jumpathon- Each player has to jump on x amount of blocks exactly in how ever many seconds.
Hokey Pokey- Have every player perform a series of 3 randomly chosen moves in order.... Such moves could be; Jump, Crouch, Look 'direction', shoot, walk 'direction' (in X amount of time).So it could pop up on your screen 'Crouch, Shoot, Walk backwards', etc.
Running Rocket- I'm not completely sure if this is possible... But, everybody gets a rocket launcher, and after 2-3 seconds, it automatically shoots, players must guide the rocket around for say... 5-10 seconds without it touching anything (exploding).... Players may get heavily mixed up with whos rocket is whos =P
Dont Touch me!- Players will simply have to move up and touch another player... After you have touched someone else, it'd turn into a 'cat and mouse' style game for any remaining players =P
Ruuuun!- Have 2 or 3 NPC roller mines (think that's what theyre called =S ) spawn in the middle, and don't get hit by one of them in say a 5-10 second period...
Typing Skills- Have 8 random letters appear on the screen, and have players retype that word in chat, harder difficulites could have capitals. So like ' 2bt9sbtn' , and you have to retype that in 5-10 seconds.
Sumo- Have everyone stand on a block, then give them all unlimited Crowbars to throw at eachother, anyone remaining on a block after 5 seconds is given a win... If knocked off, Players could be frozen or just have their crowbar taken away for the remaining time...
Blind Ambition- Have no Players in sight when the time runs out... You could try to fail your friends by moving towards them with your back to them...
Help Me!- Have an NPC which can be spoken to with the e button, have the NPC follow like the hostages in CSS... the aim of the game is to speak to the hostage before time run's out, but he/she will change his course with every new player spoken too..
Almost there!- Reduce every player's speed by a lot and have them get to a certain position on the map...
Photo Time- Have 5 objects spawn on top of the blocks... after a few seconds, each player must take a picture of a specific object, but have no other object or player in sight...
Precision Aiming- Have x amount of melons (depends how many players) spawn high in the sky, each player must shoot exactly one melon, time isn't really needed, as the melons will just explode if not shot =P
I was also thinking about your 'punt the weirdo game'...maybe you could have round where the objects are cubes from portal, and the 'weirdo' as the companion cube... or vice versa
Well, that's all i can currently think of, i'll try think of some more, tell me what ya'll think ;D
blind ambition would just have everyone facing the walls.
Shouldn't someone upload this to garrysmod.org ?
Would get a lot more people involved
[QUOTE=tunagunner;14830118]Shouldn't someone upload this to garrysmod.org ?
Would get a lot more people involved[/QUOTE]
that version would be outdated within, oh, what, maybe one day or something.
Okay, got some serious trouble guys. You may have noticed that the SVN now has maps with different rooms. There are default "generic" rooms with different sizes for most minigames, as well as specialized rooms made specifically for a few minigames. Whenever the next game has different requirements that the current room doesn't verify, or when the player count changes, it teleports all players to the best room that matches those requirements.
Here is the problem. It seems that when playing multiplayer, players don't always get teleported. More specifically, only bots and the server host flawlessly teleport. After some debugging, it appears that the problem comes from the game engine itself, something seems to deny player teleporting. Here is the function that does the job:
[lua]function GM:RespawnAllPlayers()
if not self.CurrentEnvironment then return end
local rp = RecipientFilter()
local spawns = {}
-- Priority goes to active players, so they don't spawn in each other
for _,v in pairs(team.GetPlayers(TEAM_UNASSIGNED)) do
if v:GetEnvironment()~=self.CurrentEnvironment then
if #spawns==0 then
spawns = table.Copy(self.CurrentEnvironment.PlayerSpawns)
end
GAMEMODE:MakeDisappearEffect(v:GetPos())
local loc = table.remove(spawns, math.random(1,#spawns))
v:SetPos(loc:GetPos())
v:SetAngles(loc:GetAngles())
GAMEMODE:MakeAppearEffect(v:GetPos())
GAMEMODE:MakeLankmarkEffect(loc:GetPos())
rp:AddPlayer(v)
Msg("Teleported player \""..v:GetName().."\"\n")
end
end
for _,v in pairs(team.GetPlayers(TEAM_SPECTATOR)) do
if v:GetEnvironment()~=self.CurrentEnvironment then
if #spawns==0 then
spawns = table.Copy(self.CurrentEnvironment.PlayerSpawns)
end
local loc = table.remove(spawns, math.random(1,#spawns))
v:SetPos(loc:GetPos())
v:SetAngles(loc:GetAngles())
rp:AddPlayer(v)
Msg("Teleported player \""..v:GetName().."\"\n")
end
end
SendUserMessage("PlayerTeleported", rp)
end[/lua]
The Msg("Teleported player \""..v:GetName().."\"\n") part is called for every player, including the ones who didn't get teleported for the unknown reason, so the "if v:GetEnvironment()~=self.CurrentEnvironment then" condition not being verified is out of the question.
I added "GAMEMODE:MakeLankmarkEffect(loc:GetPos())", which spawns a large yellow particle effect at the location where the player should be teleported, and it also appears.
I come to the conclusion that the problem comes from the SetPos function. But why? Any idea, please?
I really don't want to be a bother, but I'm rather confused by Fretta and SVN...Say the only thing I have downloaded was Gmod and TortoiseSVN, how would I go about getting into the beta of this?
Edit: I also don't seem to have a Garrysmod folder in the Sourcemod folder...
[QUOTE=_Kilburn;14853543]Okay, got some serious trouble guys. You may have noticed that the SVN now has maps with different rooms. There are default "generic" rooms with different sizes for most minigames, as well as specialized rooms made specifically for a few minigames. Whenever the next game has different requirements that the current room doesn't verify, or when the player count changes, it teleports all players to the best room that matches those requirements.
Here is the problem. It seems that when playing multiplayer, players don't always get teleported. More specifically, only bots and the server host flawlessly teleport. After some debugging, it appears that the problem comes from the game engine itself, something seems to deny player teleporting. Here is the function that does the job:
code code
The Msg("Teleported player \""..v:GetName().."\"\n") part is called for every player, including the ones who didn't get teleported for the unknown reason, so the "if v:GetEnvironment()~=self.CurrentEnvironment then" condition not being verified is out of the question.
I added "GAMEMODE:MakeLankmarkEffect(loc:GetPos())", which spawns a large yellow particle effect at the location where the player should be teleported, and it also appears.
I come to the conclusion that the problem comes from the SetPos function. But why? Any idea, please?[/QUOTE]
Try using the players' Spawn method in concert with GM:PlayerSelectSpawn().
[QUOTE=Jarico;14854606]I really don't want to be a bother, but I'm rather confused by Fretta and SVN...Say the only thing I have downloaded was Gmod and TortoiseSVN, how would I go about getting into the beta of this?
Edit: I also don't seem to have a Garrysmod folder in the Sourcemod folder...[/QUOTE]
[url]http://bit.ly/gmodbeta[/url]
[QUOTE=mahalis;14854907]Try using the players' Spawn method in concert with GM:PlayerSelectSpawn().[/QUOTE]
Thanks a lot, it seems to work, although I didn't get to try it on real players yet.
Here's my Minigame for you, The target is just to jump 10 times in 9 seconds :).
[lua]
// Jump Mini Game By Carnag3
function WARE:Initialize()
GAMEMODE:SetWareWindupAndLength(0,9)
GAMEMODE:DrawPlayersTextAndInitialStatus("Jump 10 Times",0)
end
function WARE:StartAction()
GAMEMODE.GamePool.Jumps = 0
end
function WARE:EndAction()
end
function WARE:KeyPress(ply, key)
if ply:IsOnGround() && key == IN_JUMP then
GAMEMODE.GamePool.Jumps = GAMEMODE.GamePool.Jumps + 1
if GAMEMODE.GamePool.Jumps == 10 then
ply:WarePlayerDestinyWin( )
end
end
end
[/lua]
i'm no coder, but could i suggest something like...
a load of npc's spawn on the blocks and you've got to find the ones that either your player model matches or something similar - kind of like a reverse odd one out, i'm sure this concept could modified...just thought i'd throw it out there
[QUOTE=mahalis;14854907]Try using the players' Spawn method in concert with GM:PlayerSelectSpawn().[/QUOTE]
Okay, just tried it with a friend, and now it works like a charm. Thanks a lot!
[QUOTE=Carnag3;14894677]Here's my Minigame for you, The target is just to jump 10 times in 9 seconds :).[/QUOTE]
Thanks. Will add this to the SVN.
[QUOTE=A Glitch;14894849]i'm no coder, but could i suggest something like...
a load of npc's spawn on the blocks and you've got to find the ones that either your player model matches or something similar - kind of like a reverse odd one out, i'm sure this concept could modified...just thought i'd throw it out there[/QUOTE]
Eh, good idea. :v: This should be fun, sometimes, I don't even remember what player model I have myself.
[QUOTE=_Kilburn;14895614]Thanks. Will add this to the SVN.[/QUOTE]
Not yet, the game is not suitable yet because it lacks interaction between the players. Almost all games involve interaction between the players, like in "Don't Move", the players like to make others fail. In "Don't stop sprinting", a collision between two players makes it fail. In "Find the missing prop", the players standing on a box have the right to block the others from jumping on it (that's the whole point of the game).
I suggest that the game would be refined in order to make it more dynamic. Maybe the Laser Dance weapon Kelth used in his game "Don't touch the sky" would be suitable without the gravity reverse, as a player getting sent in the air will land on the ground later and will have less chance to success.
This gamemode is brilliant, BUT:
* Add a possibility to disable the the annoying "visit this thread"-message by e.g. a convar.
* Name the SVN version just "Garry Ware" and not "Garry Ware (SVN)". It makes no sense to name it differently.
* If you start a new gamemode, where you need weapons, FIRST spawn the weapons and 0.1 seconds later the necessary props. Otherwise you sometimes spawn e.g. "crates" into player who stand on the blocks. Then they don't get weapons because the crate which spawned in them blocked p:Give(the_weapon). That delay fixes it.
* If you teleport a player, set him first noclipped, then teleport him and then unnoclip him. This avoids this issue with people not getting teleported in the "Flee!" gamemode. There musn't be any delay between these steps.
[lua]p:SetMoveType(MOVETYPE_NOCLIP);
p:SetPos(new_pos);
p:SetMoveType(MOVETYPE_WALK);[/lua]
This teleports a player reliable.
[QUOTE=aVoN;14896535]This gamemode is brilliant, BUT:
* Add a possibility to disable the the annoying "visit this thread"-message by e.g. a convar.[/QUOTE]
I agree with that, plus, it's not so useful, I'm not even sure players are paying attention to it.
[QUOTE=aVoN;14896535]* Name the SVN version just "Garry Ware" and not "Garry Ware (SVN)". It makes no sense to name it differently.[/QUOTE]
What if it conflicts with the version included in GMod Beta?
[QUOTE=aVoN;14896535]* If you start a new gamemode, where you need weapons, FIRST spawn the weapons and 0.1 seconds later the necessary props. Otherwise you sometimes spawn e.g. "crates" into player who stand on the blocks. Then they don't get weapons because the crate which spawned in them blocked p:Give(the_weapon). That delay fixes it.[/QUOTE]
There is a function that finds locations where props will never spawn inside players. And whenever there must be a prop spawned on every crate, they are usually spawned a bit higher, so players don't get blocked.
[QUOTE=aVoN;14896535]* If you teleport a player, set him first noclipped, then teleport him and then unnoclip him. This avoids this issue with people not getting teleported in the "Flee!" gamemode. There musn't be any delay between these steps.
[lua]p:SetMoveType(MOVETYPE_NOCLIP);
p:SetPos(new_pos);
p:SetMoveType(MOVETYPE_WALK);[/lua]
This teleports a player reliable.[/QUOTE]
Actually, that's what I did before, and it didn't work. Mahalis' PlayerSelectSpawn thing does work like a charm though.
[QUOTE=_Kilburn;14896756]What if it conflicts with the version included in GMod Beta?[/QUOTE]
It does not. The foldername on the GMod beta for GarryWare is "garryware". Same for the SVN, so the SVN overrides the GMod-Beta "garryware" anyway. But still, it names itself (in the voting menu or scoreboard) "Garry Ware (SVN)", which is useless.
[QUOTE=_Kilburn;14896756]There is a function that finds locations where props will never spawn inside players. And whenever there must be a prop spawned on every crate, they are usually spawned a bit higher, so players don't get blocked.[/QUOTE]
Quite often, it fails which results for you having no physgun on "punt the big crate" or pistol in various other situations.
[QUOTE=_Kilburn;14896756]Actually, that's what I did before, and it didn't work. Mahalis' PlayerSelectSpawn thing does work like a charm though.[/QUOTE]
I get quite often not teleported back. When did PlayerSelectSpawn got added?
[QUOTE=aVoN;14896895]Quite often, it fails which results for you having no physgun on "punt the big crate" or pistol in various other situations.[/QUOTE]
Eh, that never happened to me before. I guess I can add a "PlayerLoadout" function that gets called a short time before "Initialize" or "StartAction" then.
[QUOTE=aVoN;14896895]I get quite often not teleported back. When did PlayerSelectSpawn got added?[/QUOTE]
Commited it yesterday, if I remember correctly.
[QUOTE=aVoN;14896895]Quite often, it fails which results for you having no physgun on "punt the big crate" or pistol in various other situations.
[/QUOTE]
Sorry, but I noticed that if two players were close to each other, one would get the two weapons.
I'm not sure if this is an error or what, but no matter what I do I can't get on those damn boxes! I loaded up the map in single player and jump on them with ease...But in-game I jump up and down like an idiot to try and get on them...
[QUOTE=Jarico;14898375]I'm not sure if this is an error or what, but no matter what I do I can't get on those damn boxes! I loaded up the map in single player and jump on them with ease...But in-game I jump up and down like an idiot to try and get on them...[/QUOTE]
Crouch-jump. That's a simple trick every FPS player should now. Jump, and when in mid-air, crouch, this will make you jump higher.
Garry's Mod seems to do it automatically for you when playing singleplayer, but not on multiplayer.
Just a little mix-up of a few game modes there already are...
... true or false. step on one circle for true, one for false, I guess you'd have to use different colours for true and false, because you can't put text on the ground temporarily (or can you?)
anyway, have it ask a question. most likely just math questions again.
so the maths thing combined with get on this circle!
That's probably a dumb idea. speaking of math, any chance someone would be able to change the Maths one a little so instead of just adding, it could do multiplication, devision and subtraction too?
Hey, here's a glimpse of what's coming in. My internet went off the whole weekend and even now so I can't commit yet.
[media]http://youtube.com/watch?v=gIrhjFkkUoQ[/media]
[QUOTE=Ha3;14984465]Hey, here's a glimpse of what's coming in. My internet went off the whole weekend and even now so I can't commit yet.[/QUOTE]
Dang, what happened? Hope you'll get it back soon. D:
Anyway, I don't get the combo medal thing, is it only for decorative purposes, or does it have something special that makes so you would want to protect it? Would be pretty interesting if players had a global score, associated to successes and failures. Every success would earn you 1 point, and you get a score multiplier if you complete several minigames in a row. So if you complete a minigame while having a score multiplier of 5x, you would get 5 points for it.
The higher your score multiplier is, the bigger your combo medal gets. Whenever it get hits by a gun, crowbar, or anything that deals damage, your score multiplier decreases, so you would have to be careful and hide from players who are after you.
And of course, a failure makes you lose your combo medal, resetting your score multiplier to 1x.
I'm running out of ideas for minigames, and the environment system seems to work pretty well now, so it would be great if you could give me something else interesting to code. :v:
Just finished to write a complete documentation for coders. That should make everything a bit clearer because almost nothing was explained in the OP.
[highlight]Creating a minigame[/highlight]
Nothing simpler, all you have to do is create your Lua file in the garrysmod\gamemodes\garryware\gamemode\wareminigames folder, and it will be loaded automatically.
WARE is the table containing the minigame data, a bit like ENT for entities and GM for gamemodes.
There are currently two global properties for each minigame: [b]WARE.Author[/b], and [b]WARE.Room[/b].
[b]WARE.Author[/b] is obviously your name if you made that minigame. Not really important, but if you want to take some credit for your awesome minigame, better put your name in here.
[b]WARE.Room[/b] is a bit more special, it defines what kind of environment the minigame requires. It is set to "generic" by default, which is the generic nameless room with a flat floor and crates. Setting it to "none" means that it doesn't have any special requirement, and therefore, players will never need to be teleported to another room if this minigame plays. For instance, the "calc" minigame has its Room set to "none", because all you have to do is type the result in the chat.
Any other name will specify the name of the environment the minigame requires. For instance, if your minigame has its Room set to "space", the gamemode will search for an environment called "space" in the map. If it finds one, every player is teleported there, and the minigame plays. If it doesn't, the minigame will be removed from the list and will never play on this map. You can check which minigames have been removed from the list in the console.
Each minigame also has three special hooks: [b]Initialize[/b], [b]StartAction[/b] and [b]EndAction[/b].
[b]Initialize[/b] is called when the minigame starts. You can use it to set the warmup and action times, and eventually display some message and/or spawn entities.
[b]StartAction[/b] is called when the warmup phase is over and the action phase starts. That's when the minigame starts for real and players can either win or lose.
[b]EndAction[/b] is called when the minigame is over, you will rarely have to use it because the gamemode automatically cleans everything up. For instance, the "calc" minigame uses it to display the correct answer when it's over.
[lua]function WARE:EndAction()
for k,v in pairs(player.GetAll()) do
v:ChatPrint( "Answer was "..self.WareSolution.." !" )
end
end[/lua]
[b]Any other function declared in the WARE table is considered and registered as a gamemode hook.[/b] For instance, if you declare WARE:Think, it will be hooked to the Think gamemode hook. You don't have to worry about checking the current active minigame because those gamemode hooks are loaded only when a minigame starts, and then unloaded when it ends, therefore minigame hooks will never interfere with each other.
[lua]function WARE:GravGunPunt(pl,ent)
if not pl:IsPlayer() then return end
if ent:GetPhysicsObject() and ent:GetPhysicsObject():IsValid() then
ent:GetPhysicsObject():EnableMotion(false)
timer.Simple(2,RespawnSawblade,ent)
end
end[/lua]
This is the GravGunPunt hook from the "buildtothetop" minigame. It freezes sawblades in place when you punt them and then starts a timer that respawns a new sawblade at an available position after 2 seconds.
Note that you can define normal functions as well, if they don't have the same name as an existing gamemode hook, they will behave like normal functions.
Some of you may also remember the GAMEMODE.GamePool table which could hold temporary global variables which were cleaned up once the gamemode was over. This is pretty useful for storing global information such as the crate sequence in the "memorycrates" minigame. Now, it's over, just use "self" instead. If you need to access the current minigame somewhere else, in a SWEP or a local function, for example, use GAMEMODE.Minigame.
And finally, here is a short documentation of all the useful functions you'll need for making minigames.
[b]GAMEMODE:SetWareWindupAndLength[/b](windup length,action length)
Sets the length of the windup and action phases, in seconds. This has to be called in the Initialize function.
[b]GAMEMODE:DrawPlayersTextAndInitialStatus[/b](message,status)
Displays a message on the screen, and sets the initial status (0 = lose, 1 = win) of every player.
[b]GAMEMODE:GetEnts[/b](group)
Returns a list of every location (gmod_warelocation entities) belonging to this group. The group name has to be a string, you can also use ENTS_ONCRATE, ENTS_OVERCRATE, ENTS_INAIR and ENTS_CROSS, which are the four location groups used in generic environments.
[b]GAMEMODE:GetRandomLocations[/b](n,group)
Returns a list of n locations belonging to this group.
[b]GAMEMODE:GetRandomPositions[/b](n,group)
Similar to GetRandomLocations, but returns a list of position vectors instead of entities.
[b]GAMEMODE:GetRandomLocationsAvoidBox[/b](n,group,test,min,max)
Returns a list of n locations belonging to this group, while attempting to avoid locations blocked by something such as a player. min and max are vectors which define the box used for testing if a location is available or not. test must be a function taking one entity as a parameter, which returns true if that entity would make that location invalid, and false if not. For instance:
[lua]GAMEMODE:GetRandomLocationsAvoidBox(2, ENTS_ONCRATE, function(v) return v:IsPlayer() end, Vector(-64,-64,64), Vector(64,64,64))[/lua]
This returns 2 locations located on crates, preferably where there isn't any player found in a radius of 64 units.
[b]GAMEMODE:GetRandomPositionsAvoidBox[/b](n,group,test,min,max)
Similar to GetRandomLocationsAvoidBox, but returns a list of position vectors instead of entities.
[b]GAMEMODE:AppendEntToBin[/b](ent)
Adds an entity to the list of entities to be cleaned up when the minigame ends. Don't forget to use this on any entity you spawn, else they will stay on the map even when the minigame ends.
[b]GAMEMODE:MakeAppearEffect[/b](position)
Creates an appearing effect at the given position.
[b]GAMEMODE:MakeDisappearEffect[/b](position)
Creates a disappearing effect at the given position.
[b]GAMEMODE:MakeLankmarkEffect[/b](position)
(I didn't make a typo here, this function has been given that name, and we never really thought about fixing it)
Creates that large, yellow landmark effect at the given position. You can either use it directly like this, or spawn a "gmod_landmarkonremove" and parent it to an entity, so it creates this effect when it gets deleted.
[b]Player:WarePlayerDestinyWin[/b]()
Makes a player win definitely.
[b]Player:WarePlayerDestinyLose[/b]()
Makes a player lose definitely.
[b]Player:SetAchievedNoDestiny[/b](state)
Sets the current status of a player (0 = lose, 1 = win). Note that the status of a player is not permanent, it only tells if the player is currently winning or losing. The definite success or failure is attributed according to the state of a player when the minigame ends.
[highlight]Mapping[/highlight]
There are only two special entities you'll need to use in order to have a working map : gmod_warelocation and func_wareroom. They can both be found in the FGD included in the gamemode, you should find it in gamemodes/garryware, as garryware.fgd.
[b]gmod_warelocation[/b] is a point entity used by minigames to spawn objects are random places. The only property it has is the group it belongs to. You will have to set it, else your location will not be taken into account. The four generic location groups used in most minigames are "oncrate", "overcrate", "inair" and "cross". You can also put a different group name if your map is designed to support custom minigames which require custom location groups or environments.
[b]func_wareroom[/b] is a brush entity used for delimiting different environments. You can use it either for a map with variable grid sizes which depend on the number of players, or for making custom environments for minigames which require a custom room.
A room
[QUOTE=_Kilburn;14992016]Dang, what happened? Hope you'll get it back soon. D:
Anyway, I don't get the combo medal thing, is it only for decorative purposes, or does it have something special that makes so you would want to protect it? Would be pretty interesting if players had a global score, associated to successes and failures. Every success would earn you 1 point, and you get a score multiplier if you complete several minigames in a row. So if you complete a minigame while having a score multiplier of 5x, you would get 5 points for it.
The higher your score multiplier is, the bigger your combo medal gets. Whenever it get hits by a gun, crowbar, or anything that deals damage, your score multiplier decreases, so you would have to be careful and hide from players who are after you.
And of course, a failure makes you lose your combo medal, resetting your score multiplier to 1x.:[/QUOTE]
Still out of Internet.
The combo medal has nothing special, and is still in need to be tested. Combo medals are meant to make people jealous about someone and make them want to stick near him to make him fail, breaking the combo.
No extra points are earned out of it.
We'll talk in detail when I'll get an Internet connection back.
It seems that Internet is now fixed at home. I'll update the SVN as soon as I'll log on (in 8 hours' time).
I request the "grab a melon" gamemode having following additions:
Make the cages nocollide to players and other "cages". I've had it now several times that people collide with it so we fail. And this happens easily with > 4 players.
Also, spawn more melons or give more time. And make them fall slower. I once have seen it that only one player managed this to win with "grab 3 melons". The 5-melon thing is nearly impossible with > 4 players in that short time.
Still this is of course the best fretta-game I have seen so far.
[QUOTE=aVoN;15080813]Also, spawn more melons or give more time. And make them fall slower. I once have seen it that only one player managed this to win with "grab 3 melons". The 5-melon thing is nearly impossible with > 4 players in that short time.[/QUOTE]
I totally agree with you, I found myself having difficulties to win, even in the 3x3 size of the map alone in a singleplayer game. I modified in a hurry the respawn delay code, but if you say so, the problem is still there. I'll take care of it when I'll be back home.
Thanks ! :D
Also, I was thinking of making Team Minigames. Team Minigames would not involve any modification to the evgine. Rules will be :
- That type of game always start as failed on initialization.
- A player must contribute at least once, so that his achieved state is set to true.
- A player who is doing opposite to the game's direction will be set DestinyLose.
- The mission must be completed in order to make the players validate their achieved state.
- If the mission is not completed, everyone's getting a DestinyLose, even if they had achieved.
A game like this could be :
- Pop all the red balloons !
Sorry, you need to Log In to post a reply to this thread.