AGS: Can I Make an RPG with AGS?

Started by TerranRich, Mon 03/05/2004 05:56:47

Previous topic - Next topic

DinghyDog

Yeah, um, basically I love you for that link. In a totally non-weird way. But it'll take some work to adapt it.

And yeah, I've got structs going for my items as well, but that's a great way to do the players, thank you!

I'm getting the GUIs out of the way right now, setting up functions and such for the keyboard navigation (especially in the menus), finding ways for it to read arrays into listboxes, etc, etc, and then I'm going to do the fight engine. I'll post again if I have problems...I have a feeling I can do the actual battle-ness pretty well, though. Correct my logic, but I feel like I should have one room designated as the battle room, and just have alternating backgrounds for it, and all the code for that should be in the room script?

-DD
It's yer owld pal Dinghy Dog!!

buloght

:) I also made my own structs for items, party members, enemies etc. For the fight engine I wrote seperate module (turn-based) but I didn't make the battles in only one room, I had mine in the global script with, so I think your logic is way better there than mine  ;D. It makes more than enough sense and would simplify things greatly, I think.

Here is the example of mine, a few weeks ago.

http://www.adventuregamestudio.co.uk/yabb/index.php?topic=26939.0

Akatosh

#182
Just postin' a link:
http://www.adventuregamestudio.co.uk/yabb/index.php?topic=28009.0

do you think stuff like this (isometrical!) is possible at all or should I just climb down into that 2D-adventure gutter again?  ;)

WackyWildCard

Quote from: Kinoko on Wed 01/03/2006 10:27:17
I'm considering creating a template for my style of RPG after I've got all the bugs worked out of my own engine.

When you get your RPG in AGS Demo Game Template up and running, please let me know, ok?

I too am working on an Adventure Game/RPG. Well, it started as a regular Point & Click Adventure Game, but I wanted features like Life Strength, Armor Strength, Shield Strength, Water Supply, Enemy Strength...etc, etc.  The Game I'm working on is called Knight's Quest: Shield Search. It is a Science Fiction/Fantasy RPG Adventure I'm very excited about. You can see a VERY rough preview of it in the Games in Development section of the Forum.

Again. Please let me know when you have a working Template I could model my game after. I would be very grateful.

Thanks! :D

Wacky Wild Card ;D


WackyWildCard

Quote from: Def on Mon 12/07/2004 18:43:59
http://home.quicknet.nl/qn/prive/jjj.dekker/rpg.rar Something me and Chrille made a long time ago. It's an rpg (just a start though) and it's a bit like those old console RPGs. You can walk around, and encounter random monsters and fight them. It just shows it is possible to make it in ags :)

I've seen and played a bit of your rpg game sample. I'm very impressed at what you guys have achieved!

I too am working on an Adventure Game/RPG. Well, it started as a regular Point & Click Adventure Game, but I wanted features like Life Strength, Armor Strength, Shield Strength, Water Supply, Enemy Strength...etc, etc.  The Game I'm working on is called Knight's Quest: Shield Search. It is a Science Fiction/Fantasy RPG Adventure I'm very excited about. You can see a VERY rough preview of it in the Games in Development section of the Forum.

Again. Please let me know when you have a working Template based on your game, so  I could model my game after it? I would be very grateful.

I should also mention that I may add your names to the long list of credits in the scrolling credits, when my game is complete.

Thanks!

Wacky Wild Card Grin


Moresco

Very interesting discussion.  I'd like to add a few things.

There are Real-Time RPGs like Final Fantasy IV where characters on a screen sort through menus to pick a choice of action, while the monsters timer counts down to attack the characters repeatedly.

Then there are action-RPGs like Zelda or the Seiken Densetsu (secret of mana etc) games.  In this type of game, you freely move about while wielding a weapon of some type - swinging, throwing, whatever have you - at the monsters.  Collision detection is needed for this type of game, but not for the aforementioned style game.

In Zelda's style scrolling, you have rooms of a set size, made up of tiles.  When you move off screen, the room does not scroll as it appears, but rather the tiles are pushed over (or up/down/left/right depending) bit by bit while the new room's tiles (already loaded) are pushed onto the new area.   I believe in Zelda, your character either stands still during this, floats, or something similar.

I don't believe anyone mentioned Strategy-RPGs either.  Wonder if anyone would ever have the desire to work out some of that stuff...

There are several types of those as well.  There's the Warsong, Fire Emblem, Shining Force styled sRPG - almost like a board game where pieces are moved about a playing field.  Battles are sometimes randomly fought out, the computer computing the outcome (almost like a short movie).   Others allow choices between attacks and even more options come into play with games like Super Robot War.

And then there's realtime strategy, but that's not going to happen I fear. :p

I'd love to incorporate RPG stuff into a game.  Not saying I will, but if I do I will certainly make a tutorial of the process to add here.
::: Mastodon :::

Khris

The Gameboy-Zelda might use tile-scrolling, the SNES game doesn't. The moving things just freeze and the screen scrolls smoothly to the adjacent one.

Moresco

#187
Hmm I have to disagree with you.  So many games use tile scrolling it isn't funny...  Maybe you're confused about what I'm talking about.  This is an example of tile scrolling:

tile scrolling

Refers to tile scrolling:
zelda_scrolling

The gb/snes/nes and all subsequent zelda styles all pretty much work the same way.  Only the graphics/sound/gameplay improved, but the overall method used on the consoles were very similar if not the same.   In the snes version of Zelda there is scrolling 1 tile at a time as well as scrolling full screens full of tiles at once for transitions.
::: Mastodon :::

Khris

You're right, I thought tile-scrolling meant that the screen doesn't actually scroll but the tiles are replaced column by column.

Btw, real-time strategy can be done using AGS, there was a Cannon Fodder clone in Production (by foz) once, but sadly he didn't finish it.

Akatosh

And I have a strategy game planned in mind, but unfortunately, you cannot directly create characters in AGS, so I'm having a bit of a problem there, but it should be solvable with pointers. However, it'll either be RAM-wasteriffic or overloaded with cleanup and checking routines (e.g. before declaring a new pointer, check all pointers for null value and take the one with the lowest index).

Moresco

Quote from: KhrisMUC on Sat 21/04/2007 15:04:20
You're right, I thought tile-scrolling meant that the screen doesn't actually scroll but the tiles are replaced column by column.

Btw, real-time strategy can be done using AGS, there was a Cannon Fodder clone in Production (by foz) once, but sadly he didn't finish it.

Oh.  Well the screen never really scrolls as it appears to, it's just an illusion.
::: Mastodon :::

Kaldeon

No matter where I put ANY of what you guys say to add MP numbers like: String mana;
String exp;
String.Format (mana, "%d", GetGlobalInt (1));
String.Format (exp, "%d", GetGlobalInt (2));
SetLabelText (0, 1, mana);
SetLabelText (0, 2, exp);

And yes I had to change it because no matter where I put it it would always say: Unexpected StrFormat, Unexpected SetLabelText, then what would work went to Unsefiened properties of SetWindowGUI. You guys need to update because obviously AGS updated.

Ashen

Sorry, what? Previously made posts should be changed because the editor has moved on? If you read old posts, you're going to get old code - and issues with updating have been addressed many time before, if you look for them.

Perhaps you should read the manual, or just some newer posts on the forums, to see how to update it for yourself?
Code: ags

String exp = String.Format ("%d", GetGlobalInt (2));
String mana = String.Format ("%d", GetGlobalInt (1));
gui[0].Controls[1].Text = exp; // Look up 'Label.Text' and name the Label to make this easier.
gui[0].Controls[2].Text = mana;


Or, you could simplify that to:
Code: ags

lblShowExp.Text = String.Format ("%d", GetGlobalInt (2));
lblShowMana.Text = String.Format ("%d", GetGlobalInt (1));
 // replace 'lblShowExp' and 'lblShowMana' with whatever you names the Labels.


If you're getting Unexpected (whatever) errors, then you're probably putting the code in the wrong place (like outside of a functon) - the original post should tell you where to put it to avoid those errors. 'Undefined properties of SetWindowGUI' is a new one to me - what exactly was the error message, and what (and where) was the line that caused it?
I know what you're thinking ... Don't think that.

Kaldeon

#193
Error (Line 16): PEO3: Parse error at lblShowExp
(I'm going to try changing it's  position)
Error (Line 17): Undefiend Token 'lblShowExp'

Ashen

'Undefined token' errors mean just that - the thing you're refering to (in this case a Label called 'lblShowExp') isn't defined (i.e. doesn't exist). Try a forum search, if you want more info.

Did you name your Label 'lblShowExp', or did you not see the last line of the code block:
Quote
// replace 'lblShowExp' and 'lblShowMana' with whatever you names the Labels.
(And yes, 'names' was a typo.)

Name your Label(s) in the GUI Editor, then update the code with the actual Script-name.

I can't see why that'd generate a parse error, or why just moving it one line down would solve that - what's the surrounding code when you get the parse error? (It might not matter, if you've gone beyond that, but it's usually handy to know why errors happen, to avoid them in the future.)

And, there was no need to quote the whole post...

I know what you're thinking ... Don't think that.

.M.M.

It is  possible to do First person RPG too, something like      Asporia: Hidden Threat  but with hands (instead normal view of character) and with more items, like armors. There will be view of last used sword or spell in hands.

Ashen

If you just want stationary on-screen hands, that's easy - use a GUI background image. If you mean hands that animate with the action, like in (for example) Oblivion, or some FPSs? (Press the button to swing your sword, and the sword swings onscreen.) Doable, with a bit of coding. (Although also using GUI Backgrounds...)

'more items like armors' - more than what? Again, probably doable with a bit of coding. I think the Hidden Threat template used Inventory Items for spells, weapons, etc - it'd just be a case of adding more of them. If you're not using that template - what are you using? Ask a general question, get a general answer. Ask a more specific question, and you might get a reply that's more actual use.
I know what you're thinking ... Don't think that.

.M.M.

It wasn´t  a question, I just wanted to tell you my idea.
A view of character can have every loop for some type of action, for example loop 1 can be used for attacking a beast.
Code: ags
 player.Animate (1, 5, eOnce, eNoBlock, eForwards);

Player is moving with his hands no matter what weapon he has in his hands.

.M.M.

#198
Code: ags
I have a problem with level- up. I wrote that code to repeatedly_execute:
[code] if (GetGlobalInt(8) < GetGlobalInt (5)) {
 SetGlobalInt (6, GetGlobalInt (6) +1);
 DisplayTopBar (28, 2112, 7, "Level up", "     You are on %d level!    ", GetGlobalInt (6));
 gLevelup.Visible = true;
 if (GetGlobalInt (6) < 4) {
  SetGlobalInt (7, GetGlobalInt (7) +3);
  }
 else if ((GetGlobalInt (6) <7 ) && (GetGlobalInt (6) > 3)) {
  SetGlobalInt (7, GetGlobalInt (7) +6);
  }
 else if ((GetGlobalInt (6) <11 ) && (GetGlobalInt (6) > 6)) {
  SetGlobalInt (7, GetGlobalInt (7) +9);
  }
 else if ((GetGlobalInt (6) <16 ) && (GetGlobalInt (6) > 10)) {
  SetGlobalInt (7, GetGlobalInt (7) +12);
  }
 else if ((GetGlobalInt (6) <21 ) && (GetGlobalInt (6) > 15)) {
  SetGlobalInt (7, GetGlobalInt (7) +15);
  }
 else if ((GetGlobalInt (6) <30 ) && (GetGlobalInt (6) > 20)) {
  SetGlobalInt (7, GetGlobalInt (7) +18);
  }
 else if ((GetGlobalInt (6) <31 ) && (GetGlobalInt (6) > 29)) {
  SetGlobalInt (7, GetGlobalInt (7) +25);
  }
 } 

GlobalInt:  5= exp
                  8= exp for next level
                  6= level of player
                  7=points for incerase players statistic

But When GlobalInt 5 > 8, GUI "Levelup" is still invisible.[/code]

Gilbert

Since I don't see a gLevelup.Visible = false; line in your script that may be the problem, unless it's put in some other place. Remember you need to really tell the engine to hide it.

SMF spam blocked by CleanTalk