Jump to content
  • Advertisement
Sign in to follow this  
Manic_Gamer

Silly game idea

This topic is 4556 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

This is a silly game idea ive had for awhile and id like to run it by the community to see what people have to say I think we all know what a wizard is, but what of a battle of programers. in game programers who frag like wizards but instead of pre designed spell casting programers would in game script out attacks and traps. The game would have to come with its own programing language and to be more exact.. the only people who could not would play the game are people with programing skills of various levels. As soon as they enter the game they are prompted to start scripting in order to get the most kill points. They could do such things as script themselves the ability to fly, script in a major fire ball weapon and assign it to weapon slot 1. and so forth The levels im assuming would be Astral in concept. im thinking that levels would be randomly generated by throwing misc brush objects and just objects into a world. various worldy setting like being in different planes of exsistence like D&D has different planes.. like the plane of air, space, water, earthen caves.. ect.. and in these worlds would the levels be generated. I know the game has many down falls.. like spending to much time coding and not enough time playing.. well in my point of view that all depense on how the scripting language is made and what steps players take to make the scripting as light as possible.. like created in fire ball weapon and assingning it to weapon slot 1. and to keep players from programing to high, they have bounderies.. such as if they give themselves to much, they will have a system overload and die loosing all they have programed. but beyond just saying I have a fire ball weapon. there are things ive invisioned that cant be programed so simply. Such as typing a script that creates a wall around you, or a wall of fire. or typing a script that transformes the player model into a space craft, or etc. or typing in a script that casued the player to become invisable. Basicly just creating a "what would be cool" list and figuring out how to implement it into the game Basicly a game where people can hack freely, and hacking is the name of the game. Its a loose idea with alot of quirks but befor I think to seriously about it i would love some feedback thanks [Edited by - Manic_Gamer on June 8, 2006 11:04:22 AM]

Share this post


Link to post
Share on other sites
Advertisement
Sounds like an interesting idea, but actually implementing it may be difficult. Are you considering a turn-based system or is it in real time?

Plus how would you make the limitations known to the player? How does one know if you are giving yourself too much of an ability, or what abilities are actually available at the time?

I think that a more "visual" language may work, instead of it being all text-based. For example, if players used pictures and arrows to depict certain attacks and such.

Share this post


Link to post
Share on other sites
I like the idea, i have had that conversation with my friends about making Hacking all part of the game.

I would agree that the typeing would become more work than fun if not done right, in addition i could see people losing interested after the fith game of codeing flight.

Cut and Paste might become an issue too, but if you could find a way this could be a ton of fun.

Share this post


Link to post
Share on other sites
How about a graphical scripting language?

What if you were able to just rag and drop scripting command onto a window (or whatever) and they appear as little blocks. If each block had a connector that allowed you to attach another script "block" to, you would be avalable to rapidly build a script. Variables could also be added in this way.

Conditional statements (if/then, etc) would have 2 (or more) connectors. Loops would be constructed by connecting a link to a previous block.

You could also have the scripting engine run the scripts at one block per "tick" so that the person with the fastest script has the advanatage (so it is not just you ability to code, but to code efficently that wins).

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
One game that springs to mind is RoboForge (I think that's the name).
In Roboforge you have to build a robot using blocks (which is something different all together), then you have to program it.

Programming can be simple or very complex. You have to create the program before hand, and once all done, you send your bot into a fight. Two robots fight by themselves, who ever built the best bot and wrote the best AI usually wins.

But there's not really any interaction from the player during the fight. It makes sense with robots, but I don't know how well this would convert to Wizards and magic.

---

I've thought a lot about games like these in the past (using scripting as the game, and or games about hacking the game itself), but they are too full of holes and extremely complex. The only way it would work is to put massive contraints on what you can and can't do, which is sure to annoy the players.
Hope this threads stays active, as I'm hoping to hear ideas from others aswell.

Share this post


Link to post
Share on other sites
Definately makes for some good thinking.

The main areas would be boundaries for the players to stop them from being too powerful through scripting, but also a way to make it fun.

As for the block scripting idea, it could be easily developed into a game, perhaps one that compiles your active "script" every so many seconds .. so it's up to each person to make the best "script" out of the blocks they have access to in that turn. How the blocks would work with each other could be simple or complex, definately a lot of room for additions and improvements.

Hmmm .. writing a combat script for a pvp game could be fun actually .. especially if you limited their access to the systems, or they had only a certain amount of "lines" to do what they wanted and hacking the system became a list of functions they could perform to do certain things, like attack, powerup, heal, just about anything.

Hehe .. the more I think about it the more doable it is. :D

Good idea btw.

Share this post


Link to post
Share on other sites
Some ideas:

Programmers aren't sexy (sadly), wizards are... what you CAN do is make the act of wizardry more base itself on coding (in the same way that Faust makes Daemonology work like a legal document).

Make the 'creation of spells' a metagame (i.e. stuff you do OUTSIDE of the game). At runtime you use the spells in your book.


Other ideas:

- Spells are grouped by libraries, modules and functions. So for example:
Air Library contains
Wind Module contains
Air Dart spell-component

Every time someone uses the air-dart function (for example in the "death of a thousand cuts" function), they deplete the function (gets less powerfull), the module (all functions from that module loose a LITTLE bit of power) and the Library (TINY reduction to all air functions).

So you personally have a stake in finding 'unusual' methods to do things, which stop people from just copying and pasting functions of the net.

Energy regenerates over time, and can grow beyond the orginal levels. So if noone has used the Necromancery library for a while, all functions there will be unreasonably powerfull..

- Spell type ideas:
- Search (like "tendrils of darkness"),
can be used to spot a target. Essentially stab or area queries, which are then used to tag the next stage of the spell.
- Deflect (like "circle of invisibility")
can be used to deflect queries or attacks. Should be designed so that spells can 'spar' against each other ( so that with clever coding, you can break down another shield)
- Damage
- Boosts/curses
- others?

- Spells take cycles, and your cycles are dependent on (level/lands controlled/phase of moon). So you can't just do a

for (1 to lots) do BigAssFireBall(AtTarget)

Since you probably don't have enough cycles at any time to fully utilize it. Cycles recharge (every turn? Every 10 seconds?) so the battle stays fast-paced.

- To use a given spell you need ingredients and/or talents. Talents are essentially skill points (so you gain talents when you level up) and ingredients are found or bought in the game world. Gives you a grind, if that's what you want.

Share this post


Link to post
Share on other sites
Have you read the Wizardry Compiled series? Its about a programmer who manages to create a programming language for magic in some fantasy environment that he is transported to.
Anyways, if you thought about this game as a strictly single-player thing, you could make some cool levels.

Consider this: as you advance through the game you gain access to more advanced programming techniques. Maybe in the first level you only have access to a few damage functions (you know, fireball(crosshair); shockwave(); assumedly these functions would cost some sort of energy or mana ) and you are restricted to just putting them in sequence with no conditionals or loops or anything. As you advance through the game, you first get access to conditionals, so you could make a spell that would check if the enemy is weak to fire then use fireball, otherwise it would use lightning bolt. You get the idea.

The other model I'm considering is the one where you have "components" and the wands you get have different ones. So maybe you could find a water wand that would include the damage spells IceSpear(); and TidalWave(); that each have their own static recharge times, mana costs etc. The only programming you do is the logic that connects different inputs to different outputs. You can't do a while loop fireball because the fireball has a set recharge anyway. Maybe you'd find a wand with no crosshair, but incredibly powerful spells. Or maybe one of your wands would have a getEnemyLocation() function. With this model, you can balance the game just as you'd balance any fantasy RPG. And it would also allow for PvP balance in an easier way than the first model.

By the way, has anyone played Mindrover? Thats the kind of model I'm talking about in the second example.

Edit: Just a further example of my second idea...

Okay, you're running along in the game, you see a wand on the ground. You pick it up and now its in you inventory. You right-click it and a list of all its functions comes up; you notice a certain one, FindClosestEnemy(), that you haven't seen before. You also see that the spells it contains are lightning-based ones. You equip the wand, then type Wand.FindClosestEnemy() into your console. It returns imp[0], and the imp in front of you glows for a second. Now you write the following program into your console:

function LStrike(){
enemypos=Wand.GetEnemyLocation(Wand.FindClosestEnemy())
Wand.LightningBolt(enemypos)
}

You bind the left click mouse to LStrike() and test your function. Sure enough, you can aim anywhere you want and the imp will be hit by the lightning skill. You also notice that the function costs you more energy and takes more time because you have to use two extra functions to find and get the location of the nearest enemy.

Anyway theres my stupid little example of how the game would work, roughly.
Have a nice day :)

[Edited by - Kriuq on June 9, 2006 10:45:00 AM]

Share this post


Link to post
Share on other sites
I have been designing something like this for a long time. Interestingly my magic programming language has turned into noncommunitive operator algebra. Maybe it's because I'm a math major.

Anyway a spell is like an equation where multipling two spells A & B together like AB means do A, which then does B, or you can flip the order for a different effect. Addition is casting both spells similtaniously whith no relation between them so, A+B cast both A and B, AC+B^3C^4 would cast A which casts C and would also cast B which casts B which casts B which casts C... .
Things get really interesting once I allow parantheses, A(B+C) means A which casts the spell (A+C) which is A and C both being cast. Interestingly (A+B)^n gives me the same result as the noncommunitive binomial theorem (No suprise when you think about it). I even incorporated sigma and pi notation for sums and products with indices.

Example: A, move forward spell: B: cause fire spell

A^10 * 5B
Moves forward 10 spaces, then casts 5 fire spells on target.

By adding in rotation spells, conditionals(behaves like a 0 if false, else 1)
and effects I have a preety neat system. I just need to make a game off of it.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!