Bunch of suggestions from me (Asmageddon)

9 replies [Last post]
Asmageddon
User offline. Last seen 13 years 37 weeks ago. Offline
Joined: 2009-11-27
Posts: 11

First - sorry for non-descriptible name of this topic, but for every game I see I have tons of ideas, so here we go:

Sorry if there is an "etc." anywhere, it means "and so on" or "and simmiliar" in my language, I'm just too used to it to replace it with something, sorry.

I'd be gratefull if you would read it to the end... I know that it is huge wall of text...

1)Another skinsand colors for hedgedogs - I know it was already suggested but I have more detailed version - For now there are only hedgedogs. I think that adding more types of characters would be really great(Maybe Dragon, and everything else that is round, like Goo Balls ^^). Also coloring could be done before loading level by simply:
a)Changing R,G,B values
b)Converting to HSV and changing huea saturation and value
c)Selective a or b - Red, green, blue, yellow, cyan and magenta areas get recolored separately (like filter from GIMP)

2) More game modes. I know that this won't be exactly worms like but would be fairly easy to do (I think so...) so You could add a realtime gameplay where two (or more) players play over internet or in split-screen. For that there would be another controls (WSAD + Fire, Jump, Rope/Another tool and Weapon menu keys for one player and Arrows + rest for second one). This would not require changing weapons or anything else. Only thing to do would be changing game logic so each player would have only one Hedgedog(or maybe more...) and all players would move in real-time. This would require adding a "Reload time" variable for weapons. Also I tought about something that may be REALLY, REALLY weird, but also really interesting... what about non-standard maps where whole map is not a standard landscape but for example a planet? Also when player would move around(gravity would point to center of this 'planet') camera would change according to gravity direction. Also gravity would weaken wth distance to planet... Also anti-planets, where whole map is round, BUT it is 'inverted' - in center is air and borders are solid. Gravity pushes players from center. In my opinion it would be a LOT of fun to shoot enemy aove your head... or yourself :p
I know it would be probably very hard to implement, but I think it is worth it. Also normal, but looped maps would be cool, especially looping caverns...

3)Scripted map generators - What else is needed to be said? Functions allowing to draw lines, dots, squares and rectangles(also rounded), circles, another polygons, to smooth map, do noise(), to check if there is air in given point(or area) of map, and so on

4) "States" of hedgedog (Flaming, Frozen, Paralyzed, Morphed into something, Poisoned and so on) for use as weapon effects, these could also be scripted (by setting Hedgedog variables like used animation, if it can be selected, moved, if can jump, fire weapons, speed, jump strength, etc.).

5) Scripted weapons - Implementing a (simple) script interpreter is not a very hard thing to do, so in my opinion adding scripted weapons should be Your top priority... why? Because it would allow everyone to easily add new weapons without knowledge of programing. Because I'm a kind of person that likes telling everyone what and how to do I'll write an example(sorry, I can't hold on...):
functions:

OnFire(int ID,float Angle,float Power) //ID-id of firng hedge
InAir() //executed every frame while bullet is in air
OnHit(float Velocity, float Angle) //Velocity - how fast object was flying when it hit, Angle - angle of object when it hit. (OR artenatively it could be X and Y velocities instead of Angle and Velocity)
string image; //Image for that object
int animframes; //Number of frames for animation
these would be function for every object that can be created, there also would be few variables like:
float Mass; //mass of object
float gravity; // how much gravity alters its path
float airfriction; //Air friction
float Bounciness; //Bounciness; for physics engine
float friction; //For objects like grenades, etc.
bool timer; //If object have got timer
Weapon-only specific variables(only for the object that is the selectable weapon from menu):
bool settimer; //If timer can be modified by player by pressing 1-5
float MinAngle,MaxAngle; //Min and max aiming angle
float MinPower,MaxPower; //If MinPower >= MaxPower then power is constant and equal MinPower
bool Aimer; //If it have got visible aimer
string HedgedogAnim; //File to look for Hedgedog animation while holding this weapon
int hedgeanimframes; // Number of animation frames for hedgedog animation.
int shots; //Number of shots, when equal 0 it does not end turn
float shotdelay; //Minimum delay between shots
bool fullauto; //When true shots are automatically fired when delay passes.

Some example functions:
DrawCircle(float X, float Y,int radius, bool destroy, int Damage, float falloff); //radius in pixels, makes hole in terrain at X and Y if destroy = true, when destroy = false then it creates terrain there, and damages everything inside by damage-falloff*(damage*(radius-distance from center)/radius)
DrawLine(int thickness, float X1, float X2, float Y1, float Y2, bool destroy, int Damage, float falloff); //Same as DrawCircle(almost)
also DrawRect, Draw Elipse, etc.
Damage(int ID, int value); //Damages hedgedog #ID by value
Impulse(int ID, float X, float Y); //Adds X and Y to velocity of object #ID (maybe objects other than hedgedogs would have IDs less than 0?)
OR
Impulse2(int ID, float Angle, float Strength);
PushField(float X, float Y, int radius, float strength, float StartAngle, float EndAngle); //Creates field (or cone if StartAngle and EndAngle are different) that applies impulse pushing everything inside (or pulling if strength<0)
CreateObject(Object type, float X, float Y, float Xvelocity, float Yvelocity); //Creates object of type ar point (X,Y) with velocity Xvelocity and Yvelocity
OR
CreateObject2(Object type, float X, float Y, float Angle, float Velocity); //Creates object of type ar point (X,Y) with velocity Xvelocity and Yvelocity
So example weapon would be:
Object shotgunBullet()
{
  float mass = 0.0f;
  float gravity = 0.0f;
  float airfriction = 0.0f;
  OnHit(float Velocity, float Angle)
  {
    DrawCircle(self.X, self.Y,5,true, 6, 0.0f);
    self.die();
  }
}
Weapon shotgun()
{
  int ammo = 2;
  float shotdelay = 1.0f;
  string image = "/shotgun/gun.png"
  string fireimage = "/shotgun/gun_fire.png"
  float MinAngle = -90, MaxAngle = 90;
  float MinPower=MaxPower = 0;
  OnFire(int ID,float Angle,float Power)
  {
   for(int i=0; i<5;i++)
 {
CreateObject2(shotgunBullet,self.X,self.Y,player.Angle+rand(-3.0f,3.0f),30.0f);
 }
  Impulse2(player.ID, self.Angle+180, 2);
  }
}

6) If weapon scripting would be this powerfull (well, not THAT powerfull, but...) then what about adding scripted objects?(mines, lamps like one in Worms)

7) Also scripted game rules would be nice...

8) Maybe scripted AI...

9) Hmmmm... what about scripted chickens? :P Joking, seriously - some bonus features like portals (like ones from Portal), time manipulation, etc.

10)I'd like to see option to reroll hedgedog placement before battle begins - placement of hedges is really unfair sometimes, or to place them manually (players do that in turns)

Thank you for reading it. All comments are appreciated (until it is "Ur' n00b, u suckz, ur idea suckz. LOL!").
Sorry if my english is bad, but I'm not from english speaking country.

Asmageddon
User offline. Last seen 13 years 37 weeks ago. Offline
Joined: 2009-11-27
Posts: 11

Humpf, since nobody is replying [i]I have to do it myself:
Ur' n00b, u suckz, ur idea suckz. LOL! :P
Joking :P
Yes my friend... indeed these are great ideas, but I have better:
2) Yes, this is great idea. This would allow Hedgewars not only to be replacement for Worms games, but it would also become a rival for OpenLieroX. But I think, that there should be possibility to have more Hedgedogs, that you can switch between by pressing single key for next/previous hedgedog. See Cortex Command - http://www.datarealms.com/downloadcc.php to look. This does not work under Wine well, so if you are using linux find thread with link to all builds in forum and download b18.

11) Classes - for both realtime and classic mode - at start you have only hedgedogs that can use only basic tools/weapons and then they can (by using certain weapons/tools) become specialists in something, so if you use Bazooka much then you become Heavy Troop (or something like that) and you can fire UFO and mortar, lay Dynamite, etc. If you use rope and fire punch/whip much you become ninja and gain some special ninja attacks, kamikaze, have infinite rope, move a bit faster and jump higher.
OR
At start you choose class for each hedgedog. Classes would be divided into level 0 (basic), level 1 (Heavy Troop, Ninja, Saper, Sapper, Cowboy, Builder, etc.), level 2 (Spec Ops, Shadow Ninja, Sherrif, Tech Engineer etc.) level 3 that can use most powerfull weapons like suggested by me Rail Driver or Watermelon Bomb, and level 4 that can use every single weapon (very hard to train up to this level. Happens only in really long games.)

12) Bunker mode - This can ONLY be played with classes, but both in realtime and classic turn-based mode. Here players have to build bunkers, first piece is always base. If base gets destroyed that team loses. Tech Engineers, Builders, etc. can build bunker modules during game using team funds, that can be gained by mining gold from under ground. Bunker modules include basic corridors, door modules, elevator station/tunnel, modules with traps(flamethrower, floor trap, spikes, boulder :P), respawn modules (when player dies he can respawn in one of these), Power generator, armory, teleports, Forcefield generators and other. If you do not think that this is good idea look at said Cortex Command.

13) Fantasy mode - Simple. Instead of normal weapons there are swords, maces, armor(in bunker mode) and spells. Maybe even dragons? :P
I'll post ideas for spells and weapons in my thread of suggested weapons. ^^

14) More special options (like current artillery mode, low gravity, etc.) here are some ideas:
-David and goliath mode - one of Hedgedogs in each team is twice as big and twica as strong, while rest of Hedgedogs is 75% big and strong.
-Captain
One of hedgedogs is a captain (if combined with David and Goliath goliath is always the captain, otherwise player can choose one of hedgedogs.). When captain dies:
a)Team loses
b)Remaining hedgedogs lose MUCH health
c)This player can only use most basic weapons(Rope,Bazooka,Shotgun, Skip turn, etc.)

-Money
Players start with basic weapons and some cash they can use to buy new weapons and tools. Money can be gained by:
a)Killing enemy hedgedogs
b)Selling weapons/tools
c)Mining gold (if enabled)
d)Waiting. Each player gets some cash each turn.
This cannot be used with bunker mode as there is cash already.

-Dark mode. Level of darkness can be adjusted. Example image:

-Swimming hedgedogs.
Hedgedogs can swim underwater (they behave like if grabity would be much lower, and air friction would be higher.), they get damaged only if they swim too deep(pressure). For standard maps only a bit of terrain is added underground.

15)For Swimming hedgedogs modificator there could be special underwatr maps that have only one/two islands over water, and rest of map is underwater. It could be deorated with algae, fishes, and bubbles.

16)Maybe at least basic support for dynamic liquids? They could be either pixel-driven, particle-based or map could be divided into small sector (16x16 pixels?).Each sector have got precalculated capacity based on amount of terrain inside it. Each sector can be filled with water in some level (from 0 to max capacity). Water automatically flows to adjancent sectors that have less water inside and are below this one or at its side. If edge of terrain is below level of water then water amount in this sector gets decrased by one and a water particle gets spawned. When it stops flowing it adds some water to that sector and disappears. I know it is probably incredibly hard to implement. But we could then have rain, floods and we could simply sink someone ^^

17) YES!! THIS IS GREAT IDEA!! (at least in my opinion... :P). This would be EPIC, yessss.... sssimply EPIC!
I suggested planet-like maps, right?
This would be REALLY, REALLY, REALLY, REALLY hard to implement, and would probably require almost rewriting engine, but in my opinion it is worth it... ok, so lets get to the point:
Big, realtime battles with many players (5 or more) with many planets (There is no single map... each planet is a map, that can fly in space.) that fly around a star. In this mode players would build bunkers on planets, but also starports, forcefield generators, Ship factories, great strategic cannons, etc. there would be vehicles (especially flying sucers, but also tanks). Players could fire great cannons from ground or orbit, and try to hit enemy's planet, or simply build a flying saucer and ride him. To make battles more intense planets would be quite close to each other, and they could crash into each other(creating one bigger planet and maybe some meteors.). There would be meteor fields(to make gameplay more fun they would have a weak gravity field that would allow hedgedogs to walk on them), there would be comets, moons and destroyed saucers/sattelites/battlecruisers would fly around in space. To make it more fun Hedgedogs could live in space(:P), but they would get "lost" if they fly too long far from planets to prevent Hedge-hunting for last hedge. Goal could be gain enough money/kill enemy hedgedogs/destroy enemy base or even planet/something else. If you do not think this would be fun look at Slingshot game(type pygame slingshot if you use Windows, OS X or non-Ubuntu linux. install from Add/Remove if you use Ubuntu), take a look at said Cortex Command, combine them, add my ideas and run resulting game in your imagination. Guaranted you will like it ^^

Anybody read at least 1/4 of y suggestions? :P
It does not matter, I will post more and wait for comments ^^
More? Yesss... there will be more... I'll post every single thing possible to add into Hedgewars...

claymore
User offline. Last seen 1 year 9 weeks ago. Offline
Joined: 2009-06-12
Posts: 306

First, the mandatory Ur n00b, u suckz, ur idea suckz.

Secondly, I actually like dark mode. But I'm not so sure about your other ideas.

Thomas
Thomas's picture
User offline. Last seen 11 years 11 weeks ago. Offline
Joined: 2009-02-06
Posts: 233

i like the idea of mapscripting...
but in another way:you should be able to script for example a counter, so that in my roperace games theres a millisecond counter counting upwards... and you should be able to script that the counter stops when a finishline is passed, then even rcplaneraces through a painted parcour would be possible...

please add your xfire accountname here:
http://www.hedgewars.org/node/1977

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Only +1 for dark mode.

Asmageddon
User offline. Last seen 13 years 37 weeks ago. Offline
Joined: 2009-11-27
Posts: 11

Ehhhh, that was to be expected...
Only one with picture got considered/commented...
I'd be really gratefull if someone read them all and considered them seriously. I spent much time writing it...

Thomas
Thomas's picture
User offline. Last seen 11 years 11 weeks ago. Offline
Joined: 2009-02-06
Posts: 233

with some of your suggestions hedgewars wouldnt be hedgewars anymore... underwaterthings and planet realtimebattles, wtf???
concentrate on playing or code your own game (you will see that even little usefull suggestions wont be implemented in game, believe me, i tried!)

please add your xfire accountname here:
http://www.hedgewars.org/node/1977

Asmageddon
User offline. Last seen 13 years 37 weeks ago. Offline
Joined: 2009-11-27
Posts: 11

Well, you're probably right, but realtime battles wouldn't be too hard to implement and they would be really much fun. Also I'm too lazy to make my own game (learning OpenGL, using various libraries, algoritms, solving many problems), so all I do is posting my ideas and hoping that somebody will use them. And as for realtime planet battles I think it would be cool to colonize pl... ehhh, you're right that it wont be Hedgewars anymore :P but I still like that 'vision' ^^

Smaxx
Smaxx's picture
User offline. Last seen 12 years 50 weeks ago. Offline
Joined: 2009-04-29
Posts: 391

Okay, short reply... just my personal opinion. Smile

1) I already suggested that but it might be hard to do (and at least I'd like to keep it hedges only)

2) Wouldn't work with current game implementation. It's not just "deactivate waiting for next round". Different Gravity etc. sounds interesting but the game's engine is (at least for now) missing the capabilities to realize that.

3) No, but I might add something similar that could be easier to use some time ... Have to play with newer Qt versions first. Smile

4) If required/useful for weapons... maaaaaybe.

5) Would require a scripting engine first etc. There are more important things to do first especially due to the fact most weapons work in a completely different way (so few things to standardize/keep outside scripts).

6) See above.

7) See above!

8) Guess it... Wink Smiley

9) No, I won't answer any more scripting questions...

10) I remember "beaming" in worms first some time in Worms... Could be interesting (but not as default behaviour).

11) Don't like that.

12) Look for "construction mode" on these forums... there are plans but its not finished.

13) Inconsistency between games could make it harder for new players to get into the game - also lot of work - unlikely.

14) At least "Captain" sounds interesting while "Money" was requested more than once (not exactly that way but similar). "Dark Mode" - no, but some maps could use additional layers that might enable similar effects. "Swimming hedgehogs": No, it's a "no go" area to keep players from just jumping off to escape.

15) See above.

16) Such simulations can get rather intensive. I rather see more effects etc. added than something like that. The basic idea isn't bad but couldn't think of any good way to make it both looking good and still accurate/realistic.

17) Go and grab some space empire simulation game. Smile

Asmageddon
User offline. Last seen 13 years 37 weeks ago. Offline
Joined: 2009-11-27
Posts: 11

Well... I'm not into structure of hwengine, but when I was making my game scripting engine was one of first things I added... (it could modify ANY parameter of other script(they were stored as text), parameters of players(health and other vars was possible to attach at runtime), modify map, add new types of tiles, objects, etc. also due to tree-like structure it was possible to use any existing entity as an archetype for other entities, and create a link between two(or more) entities and attach a script to it that controls between-object behaviour. Only minus was the fact that I was too lazy to polish it and only adding, multiplying and dividing variables was possible... also negative values didn't work because of my fault writing interpreter) other thing that it was C# not Pascal...
In my opinion scripting engine could benefit hedgewars really much (scripted weapons, AI, objects, map generators, game modes, etc.), but it would probably require heavy modifications of Hedgewars engine to allow interpreter to access and modify many things...

User login

Copyright © 2004-2024 Hedgewars Project. All rights reserved. [ contact ]