MattZ45986 / Bombsquad_mods

A repository for modifications of Eric Froemling's game, Bombsquad.
5 stars 4 forks source link

Curious Ideas #4

Closed Gengar-lab closed 5 years ago

Gengar-lab commented 6 years ago

@MattZ45986 After making Flying Race can you make a new mod.

The name will be GravityFalls.py

Here the Spaz will move upwards because of anti-gravity and he/she has to grab bomb to defeat anti-gravity and be on ground and not go upwards and get killed.It would be of Team Gameplay And Death match.

ghost commented 6 years ago

@Benefit-Zebra I quite dont understand this, first where can the playet grab the bomb when they start going up. Second making this a deathmatch is not a good idea I think.Third can you give an example of map?, I try imagining your ideas.

Gengar-lab commented 6 years ago

@MattZ45986 @Esie-Eyen

The name will be "GravityFalls".

In this Mod the player should rises up in the map Such as Football stadium without pressing jump or run button.

The player will rise up or Fly upwards because of anti-gravity(or zero gravity).

(Usually the player always fall down on to the ground because of gravity . The anti-gravity will make them rise upwards.)

In order to defeat anti-gravity , they must press bomb button so that the bomb will come in their hand and the weight of the bomb will allow or able the player to be on Ground and defeat anti-gravity.

When the player rises up to a height they gets Killed (Like in Happy Thoughts Map).

This will be fun as the player somehow should be able to manage to be on ground as when they will rise up , they will get killed and it will give score to another Team.

MattZ45986 commented 6 years ago

@Benefit-Zebra, it is a good idea. Thank you. I've seen something like it before and it was very fun.

Gengar-lab commented 6 years ago

@MattZ45986

Can you make this mod??? Please.

MattZ45986 commented 6 years ago

Sure, I'll get working on it today, @Benefit-Zebra.

MattZ45986 commented 6 years ago

@Benefit-Zebra , good news!

I have made "Gravity Falls" like you suggested. It is fun though it is a bit jerky sometimes. I've been testing things, and the only way to consistently stay alive is to hold a bomb, like you wanted. It's also challenging since the bombs eventually explode.

Thank you for the idea, and have fun with it. If there are any problems, please tell me.

Gengar-lab commented 6 years ago

@MattZ45986

I am Very Thankful to you for Making My suggested mod.

Gengar-lab commented 6 years ago

@MattZ45986

Can you make a new powerup and add it to bombsquad as how snoBallz were added (without changing game-in-scripts).

The powerup will be blackhole.

It will suck inside everything (Including flag , players , puck and other powerups nearby excluding , the player who has taken the powerup).

Since bombsquad has less number of powerups these extra powerup will make the gameplay exciting.

ghost commented 6 years ago

@Benefit-Zebra I believe someone have already do this. Do you know the modpack named 'BombDash'? If not you should check it out. Unlike 'Joyride Modpack' BombDash is not balace. They just add anything they want in the modpack.

MattZ45986 commented 6 years ago

Sorry, @Benefit-Zebra, there is actually already a black hole powerup like you described. I can't copy it, but even if there weren't one out there I don't think I would be able to make it.

My expertise is manipulating game objects and playing with a bunch of high-level stuff. A black hole is very physics heavy, and while I could nail all the calculations, I am not experienced with customizing low-level things like forces. If the great @efroemling or another person in the know released the code for the bs.newNode() function or the low level stuff in Objective C then it would be a different story.

But for now I can only make things out of preexisting objects and simple actions (aka no artificial gravity). Sorry, but I'm still open for ideas.

ghost commented 6 years ago

@MattZ45986 How about this?

(BTW please fix some bugs on Gravity Falls, where players no gravity only works once after dying)

MattZ45986 commented 6 years ago

@Esie-Eyen, I love it! Very clever. I'll definitely do that. As to the one-time-only gravity, I know what's going on and I will fix it soon. Chess: wonderful.

Gengar-lab commented 6 years ago

@MattZ45986

Can you add Curse Bombs and Health bombs to Bombsquad without changing in-game-scripts like snoBallz were added using 'snowypowerup.py'.

(Please see my problem on #3 Mods not working)

MattZ45986 commented 6 years ago

@Benefit-Zebra, yes I can. After chess I'll look into it.

Gengar-lab commented 6 years ago

@MattZ45986

Please inform me afterwards , when you start making my idea.

MattZ45986 commented 6 years ago

@Esie-Eyen, I put together a test version of Chess. Test it out if you want: it was a good idea, and it is very fun, I think. @Benefit-Zebra, I'll start on the powerups now.

ghost commented 6 years ago

@MattZ45986 I just try the Chess mod, its really good but needs more work:

(Overall I love it, even it is just a test version. Ill be waiting for this to complete.)

MattZ45986 commented 6 years ago

@Esie-Eyen, I understand that it needs some work. I just wanted to get something out there so I could see how it goes. About the one-team joining problem, I anticipated people to join both teams, so it wouldn't usually have that problem.

For the pawns, I made them static so they wouldn't chew up the game processing. I'm wondering whether or not to include them. 8 pawns seems like a lot. But if they are removed it wouldn't be as chess like.

Anyway, I'm glad you like it. What do you think about the pawns?

ghost commented 6 years ago

@MattZ45986 I think it is okay if u reduce the number of bots, as long there are pawns, queen, knights, and bishops. Since it lags, it might affect the connection too when joining.

Gengar-lab commented 6 years ago

@MattZ45986

Between all this , don't forget to make my Flying Race please....

ghost commented 6 years ago
Gengar-lab commented 6 years ago

@MattZ45986 @Esie-Eyen

After making Health and Curse bomb powerups and Flying Race can anyone make this mods :

1st

It will be "SnowStorm.py"

In this mod , snow and snowballs are dropen from the sky like from up in Football stadium . Sometimes Ice cubes will be fallen , if ice cubes , when get hit to player , the player will freeze.

And create some safe zone were snow,snowballs or ice cubes will not drop and the safe zones will always change its position randomly.

2nd

It will be electric bomb.

This bomb , when thrown at enemy , will causes electric spark or lightning bolt from sky which will drop on enemy on which it is thrown and the players health will decrease and the player will become static for some time with countdown.

MattZ45986 commented 6 years ago

@Benefit-Zebra , @Esie-Eyen, I made the Flying Race and called it Around the World. It is in my repository, so you can check it out if you want. It's pretty fun, though I've only been able to test it with two people. I'm sure it's better with more. I'll see what I can do with the powerups, @Benefit-Zebra.

Gengar-lab commented 6 years ago

@MattZ45986 In Around The World.py , its difficult to understand with some instructions "Touch The Right,The Top,The Left" which is at the side of the screen , It took me time to understand , please keep proper instruction that are easy for players and keep the instructions at a place where we can see it easily. Make it support with the BigG also so that we can fly in BigG.

I have also Mention of "snowstorm.py" mod to create , check it out in my earlier comment before this.

ghost commented 6 years ago

@MattZ45986 Love the mod, its really fun.

@Benefit-Zebra I dont think its possible to fly on Big G since flying only supports 2D and not 3D.

Gengar-lab commented 6 years ago

@MattZ45986 @Esie-Eyen

I think its possible as in some mods like"SuperManFlyingMod(ByFeetly).py" we can fly in 3D maps.

ghost commented 6 years ago

@Benefit-Zebra Where can I get that?

Gengar-lab commented 6 years ago

@MattZ45986 @Esie-Eyen

Sorry I don't know how to give link?

And Also I don't have Pull Request or Push access to upload file , so I Copied code and pasted it below.

import bs import bsSpaz import random import bsUtils import bsBomb import bsVector def bsGetAPIVersion(): return 4 def bsGetGames(): return [GGG] class PlayerSpazJumper(bs.PlayerSpaz): def onJumpPress(self): if not self.node.exists(): return self.node.jumpPressed = True self.landMineCount=1 class GGG(bs.TeamGameActivity): @classmethod def getName(cls): return 'SuperMan Mode 3D Flying' @classmethod def getDescription(cls,sessionType): return ('Kill Opponents in MidAir By Feetly') @classmethod def supportsSessionType(cls,sessionType): return True if (issubclass(sessionType,bs.TeamsSession) or issubclass(sessionType,bs.FreeForAllSession)) else False @classmethod def getSupportedMaps(cls,sessionType): return bs.getMapsSupportingPlayType("melee") @classmethod def getSettings(cls,sessionType): return [("KOs to Win Per Player",{'minValue':1,'default':5,'increment':1}), ("Time Limit",{'choices':[('None',0),('1 Minute',60), ('2 Minutes',120),('5 Minutes',300), ('10 Minutes',600),('20 Minutes',1200)],'default':0}), ("Respawn Times",{'choices':[('Shorter',0.25),('Short',0.5),('Normal',1.0),('Long',2.0),('Longer',4.0)],'default':1.0}), ("Epic Mode",{'default':False})] def init(self,settings): bs.TeamGameActivity.init(self,settings) if self.settings['Epic Mode']: self._isSlowMotion = True self.announcePlayerDeaths = True
self._scoreBoard = bs.ScoreBoard() def getInstanceDescription(self): return ('KO ${ARG1} of your enemies.',self._scoreToWin) def getInstanceScoreBoardDescription(self): return ('KO ${ARG1} enemies',self._scoreToWin) def onTransitionIn(self): bs.TeamGameActivity.onTransitionIn(self, music='Epic' if self.settings['Epic Mode'] else 'GrandRomp') def onTeamJoin(self,team): team.gameData['score'] = 0 if self.hasBegun(): self._updateScoreBoard() def onBegin(self): bs.TeamGameActivity.onBegin(self) self.setupStandardTimeLimit(self.settings['Time Limit']) self.setupStandardPowerupDrops() if len(self.teams) > 0: self._scoreToWin = self.settings['KOs to Win Per Player'] * max(1,max(len(t.players) for t in self.teams)) else: self._scoreToWin = self.settings['KOs to Win Per Player'] self._updateScoreBoard() self._dingSound = bs.getSound('dingSmall') bs.gameTimer(100,bs.WeakCall(self.givePowers),repeat=True) def givePowers(self): for player in self.players: if not player.actor is None: if player.actor.isAlive(): if player.actor.landMineCount==1: pos = player.actor.node.position bs.Blast(position=(pos[0],pos[1]-0.5,pos[2]),blastRadius=1.0,blastType='smoke') player.actor.handleMessage(bs.PowerupMessage('health')) player.actor.landMineCount=0
def spawnPlayerSpaz(self,player,position=(0,0,0),angle=None): position = self.getMap().getFFAStartPosition(self.players) name = player.getName() color = player.color highlight = player.highlight lightColor = bsUtils.getNormalizedColor(color) displayColor = bs.getSafeColor(color,targetIntensity=0.75) bt =random.choice(['SuperMan']) if bt == 'SuperMan': bt = PlayerSpazJumper name += '\nSuperMan' s = spaz = bt(color=color, highlight=highlight, character=player.character, player=player) player.setActor(spaz)
spaz.node.name = name spaz.node.nameColor = displayColor spaz.connectControlsToPlayer() self.scoreSet.playerGotNewSpaz(player,spaz) spaz.handleMessage(bs.StandMessage(position,angle if angle is not None else random.uniform(0,360))) t = bs.getGameTime() bs.playSound(self._spawnSound,1,position=spaz.node.position) light = bs.newNode('light',attrs={'color':lightColor}) spaz.node.connectAttr('position',light,'position') bsUtils.animate(light,'intensity',{0:0,250:1,500:0}) bs.gameTimer(500,light.delete) return spaz def handleMessage(self,m): if isinstance(m,bs.PlayerSpazDeathMessage): bs.TeamGameActivity.handleMessage(self,m) # augment standard behavior player = m.spaz.getPlayer() self.respawnPlayer(player) killer = m.killerPlayer if killer is None: return if killer.getTeam() is player.getTeam(): if isinstance(self.getSession(),bs.FreeForAllSession): player.getTeam().gameData['score'] = max(0,player.getTeam().gameData['score']-1) else: bs.playSound(self._dingSound) for team in self.teams: if team is not killer.getTeam(): team.gameData['score'] += 1 else: killer.getTeam().gameData['score'] += 1 bs.playSound(self._dingSound) try: killer.actor.setScoreText(str(killer.getTeam().gameData['score'])+'/'+str(self._scoreToWin),color=killer.getTeam().color,flash=True) except Exception: pass self._updateScoreBoard() if any(team.gameData['score'] >= self._scoreToWin for team in self.teams): bs.gameTimer(500,self.endGame) else: bs.TeamGameActivity.handleMessage(self,m) def _updateScoreBoard(self): for team in self.teams: self._scoreBoard.setTeamValue(team,team.gameData['score'],self._scoreToWin) def endGame(self): results = bs.TeamGameResults() for t in self.teams: results.setTeamScore(t,t.gameData['score']) self.end(results=results)

ghost commented 6 years ago

@Benefit-Zebra Thanks. I'll try this mod.

ghost commented 6 years ago

@Benefit-Zebra Can u send the file to me? Its hard to line up the codes. You can upload it to the internet (Mediafire or Dropbox). Send the file to my email (esieeyen110703@gmail.com).

Gengar-lab commented 6 years ago

@Esie-Eyen I have Email you check it.