I made a couple of different RPGs with AGS, years ago using the earlier version.
The first one was a classical adaptation of the Marvel Superheroes rules, and used global variables. What messed it up for me and made me abandon it was the GUIs, which didn't work elegantly. Knowing now what I do, and with the newer version of AGS I am very confident this could be done. The character sheet could be handled two ways, in terms of display. The first would be paper doll style, with a variety of object positioned correctly over the basic "nude" or "blank" character, chosen from a variety at character creation. This character sheet would be a separate "room", one of the 300 that can store values. Global variables would determine what "page" of the room is displayed with objects turned on and off and "dialogues" used as the character sheet entries.
The other way would be to internalise away from the player most of the data about their character, and have a status bar at the bottom of the screen, a GUI that showed a health bar, XP bar, magic power bar, potion, weapon in use and so on. This works quite well whether you're using first person or just having a character move around the screen.
What I found frustrating to script was battles. Still now with what I am currently doing AGS is very clunky, and has some weird quirks in terms of detecting edges and collisions which in turn make things as simple as firing arrows in fast paced way quite difficult, likewise changing views and loops when characters approach each other or violently interact - for example swapping loops using .Animate during battles.
Other than that, it's a question of scale. Does your RPG generate a general and "endless" replayable world with locations or is it smaller scale, a detailed specific adventure where characters can buy potions, steeds, weapons and armour etc. ?
The first one was a classical adaptation of the Marvel Superheroes rules, and used global variables. What messed it up for me and made me abandon it was the GUIs, which didn't work elegantly. Knowing now what I do, and with the newer version of AGS I am very confident this could be done. The character sheet could be handled two ways, in terms of display. The first would be paper doll style, with a variety of object positioned correctly over the basic "nude" or "blank" character, chosen from a variety at character creation. This character sheet would be a separate "room", one of the 300 that can store values. Global variables would determine what "page" of the room is displayed with objects turned on and off and "dialogues" used as the character sheet entries.
The other way would be to internalise away from the player most of the data about their character, and have a status bar at the bottom of the screen, a GUI that showed a health bar, XP bar, magic power bar, potion, weapon in use and so on. This works quite well whether you're using first person or just having a character move around the screen.
What I found frustrating to script was battles. Still now with what I am currently doing AGS is very clunky, and has some weird quirks in terms of detecting edges and collisions which in turn make things as simple as firing arrows in fast paced way quite difficult, likewise changing views and loops when characters approach each other or violently interact - for example swapping loops using .Animate during battles.
Other than that, it's a question of scale. Does your RPG generate a general and "endless" replayable world with locations or is it smaller scale, a detailed specific adventure where characters can buy potions, steeds, weapons and armour etc. ?