Larian Banner: Baldur's Gate Patch 9
Previous Thread
Next Thread
Print Thread
#223862 30/04/04 08:34 PM
Joined: Mar 2003
Beef Offline OP
journeyman
OP Offline
journeyman
Joined: Mar 2003
After reading the last peek of the week, I've decided to post a little whacky ideas thread =) Put some new game/feature ideas that are almost unheard of, but still realistic. I'll start with one of mine. Watch out, it's a long one =) Forgive me for the non-straight tables, I didn't manage to use an equal-spaced font in this forum. *********************************************************** After playing the MMPOG Asheron's Call for 2 years and stopping because it all switched to 'macro' gaming. Most players barely play asheron's call, they program their bots. This means that a little program will control your player, a program you make yourself. These can get pretty complex, crafting potions, attacking monsters etc... all night long without even the player touching his computer. This gives a lot of players satisfaction, of seeing their own creation doing something useful. Thats how I got this idea for an hypothetical game: The game is played through an avatar that owns 'pets', nothing special here. These pets do all the combat and work for you. The catch is: you program your own pet behavior. I'm not talking about C/prolog text-based programming, because how many players can program in those languages. I'm thinking about a graphical, drag-n-drop programming. The main pet 'program' is a table with as many slots as you like:

|-----|
|       |
|-----|
|       |
|-----|
  ...

In this table, you can drop 'operations', represented by a box with the operation name. Such operation can be 'walk forward', 'pick up', 'use', 'attack' etc... OK, I put operation 'mvf' in the first slot, my main progam looks like this now:
|-----|
| mvf |
|-----|
|       |
|-----|
  ...
So far, my pet will keep walking untill he hits something, not really smart. I'm going to add that he has to turn around if he hits something. For this, I'm going to add a new operation that I will call a 'subroutine'. A subroutine looks like a pogram, a table with slots for operations with the subroutine name as label:
 sub1
|-----|
|       |
|-----|
|       |
|-----|
  ...
Here I will put in the part that turns back, using the operations 'turn back' (trnb) and 'move forward' (mvf):
 sub1
|-----|
|trnb |
|-----|
| mvf |
|-----|
  ...
Back to the main program. In here I will put in a detection that the pet has hit something, using the operation 'obstacle' (obst). This operation will check if the pet has hit something and stopped moving, if this is true, it will run a given operation. The operation 'obstacle' can be called an optional operation, similar to the 'if' control statement in many programming languages: if 'pet has found an obstacle' then 'do given operation'. graphicly I will represent that 'given operation' by a slot next to the conditional:
|-----|
| mvf |
|-----|-----|
|obst |       |
|-----|-----|
  ...
The operation that will be put in the slot next to obstacle will be run if the pet hit an obstacle. If I put in the operation 'turn left', it will turn left if it hits an obstacle. Remember the subroutine I made a while back? Lets put that subroutine there. Subroutines can be put in slots just like normal operations:
|-----|           *  sub1
| mvf |           * |-----|
|-----|-----|  * |trnb |
|obst |sub1 |  * |-----|
|-----|-----|  * | mvf |
  ...               * |-----|
Lets see what this pet will do by going over the main program:
   |-----|          *    sub1
->| mvf |          *   |-----|
   |-----|-----| *   |trnb |
   |obst |sub1 | *   |-----|
   |-----|-----| *   | mvf |
    ...               *   |-----|
1. Our pet looks at the first slot, this slot has the operation 'move forward'. Our pet starts moving forward.
   |-----|          *    sub1
   | mvf |          *   |-----|
   |-----|-----| *   |trnb |
->|obst |sub1 | *   |-----|
   |-----|-----| *   | mvf |
    ...               *   |-----|
2. Our pet looks at the second slot now, it has the conditional operation obst. Very well, the pet checks if it has hit an obstacle. For the sake of the example, lets say it just did. The conditional is true, so it will run the operation sub1. Sub1 is a subroutine, so our pet will look at the first slot of sub1.
  |-----|          *    sub1
  | mvf |          *   |-----|
  |-----|-----| *->|trnb |
  |obst |sub1 | *   |-----|
  |-----|-----| *   | mvf |
    ...              *   |-----|
3. The first slot of subroutine 'sub1' has the operation 'turn back'. Our pet turns 180° and looks at the second slot. Still reading? :p
  |-----|          *    sub1
  | mvf |          *   |-----|
  |-----|-----| *   |trnb |
  |obst |sub1 | *   |-----|
  |-----|-----| *->| mvf |
    ...              *   |-----|
4. The second slot of sub1 says to move forward, the pet starts walking forward. Now we 'programmed' our pet to move back if it hit something, a lot better than to get stuck lik last time =) In the game, you can make the player collect/buy/trade operations to perfect his little creations. Different pets can be given different roles. Combat pets to do melee attacks, one to heal others or shoot at a distance. Also trading pets, to craft and sell items, ... The sky is the limit =) Actually creating something gives the player enormous satisfaction. The biggest appeal for RPGs is 'creating' and 'building' your character. This takes a larger step. This may be a little complex, but gamers are easely underestimated. Remember that Nintendo was laughed at when they launched Pokemon in Japan a few years back because the game was far too complex for kids. It grew to one of the best selling game and collectable franchise. I'm sure there are some academical papers written about graphical programming languages. You can easely make it Turing Complete, since you can put in loops and conditionals. The table can be seen as the program stack in an assembly language. The graphical drag&drop interface and extensive pre-made operations and routines can make the system very accessible. Congratulations, you read through it all, lol.

Joined: Apr 2003
veteran
Offline
veteran
Joined: Apr 2003
<img src="/ubbthreads/images/graemlins/eek.gif" alt="" />Beef, are you Einstein in disguise??? <img src="/ubbthreads/images/graemlins/delight.gif" alt="" />


Drink Up Ye Cider.
Joined: Mar 2003
Beef Offline OP
journeyman
OP Offline
journeyman
Joined: Mar 2003
amature game dev <img src="/ubbthreads/images/graemlins/biggrin.gif" alt="" />

cmon, there have to be others with new ideas =)

Joined: Mar 2003
veteran
Offline
veteran
Joined: Mar 2003
Try Omega. A really old game where you program tanks in single or team combat. Compete against pre-programmed behemoths to earn more credits and build more powerful tanks. Make sure you get the manual! Includes multi-player mode! (But only on the same computer. <img src="/ubbthreads/images/graemlins/tongue.gif" alt="" /> )

Joined: Mar 2003
Beef Offline OP
journeyman
OP Offline
journeyman
Joined: Mar 2003
hmmm, Ive seen similar games, but with C++.
That's a bit too complex for most gamers.

Joined: Mar 2003
veteran
Offline
veteran
Joined: Mar 2003
Omega's no harder than BASIC in my opinion. But, of course, how many gamers do know BASIC? I still think it's worth learning. A very fun game! <img src="/ubbthreads/images/graemlins/smile.gif" alt="" />

Joined: Mar 2003
veteran
Offline
veteran
Joined: Mar 2003
Just looking again at your idea, Beef. That could be even more interesting with skills at level up. You get to manually select their skills and then write them into the code. Death could simply land you in hospital and send you an e-mail stating such. Then you'd log on and see what went wrong and reprogram your pet.

I started working on one idea a while ago (and consequently got bored of it as I always do). You have a pet dragon which you enter into arena fights. Prize money is used to purchase spell components that will improve aspects of your dragon (speed, health, flame length, flame heat, agility, etc.). You never get to control your dragon - it fights on it's own. Perhaps this idea would work better Championship Manager style with a team of combatants, not just dragons? Then your units could support each other. Your characters never die, but you do have to pay medical bills.


Moderated by  Larian_QA, Lynn, Macbeth 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.5