RPGs with AGS

Started by Kinoko, Tue 15/06/2004 16:57:12

Previous topic - Next topic

Kinoko

All the various RPG development programs out there have annoyed me and don't really seem too good. I haven't seen one so far that seems to have produced a decent (as far as I'm concerned) RPG and most are either too complicated for me to be bothered learning or are too simple and don't allow enough customisation. I found myself saying over and over again, "Why can't there be an AGS in the RPG world?"

So, I'm thinking about whether it would be possible to create a reasonably simple and yet nice looking RPG with AGS. Most things seem quite possible, even if the 'how' would be slightly more difficult than with a proper RPG game maker. I think that even with a few things like that, the ease of use and customisation of AGS would make up for it.

What I wanted some opinions on, since I've only made one game so far and I'm not QUITE yet a scripting genius, are whether people think a few things would indeed be possible with AGS with some creative scripting. I don't expect people to come up with the scripts for me, but just a little opinion on whether you guys think this would be feasable.

The sort of RPG I'm after is similar to Illusion of Gaia or something like that. Not tile-based (so, free-moving which suits AGS fine) and with a real time battle system with only one character (so no turn based fighting or anything - just like normal slash and hack action with HP/EXP etc thrown in for good measure).

Some things I'd like opinions on (possible or not?) are:
-Name input (though not with keyboard, using arrow keys to choose characters)
-Dialogue in boxes appearing letter by letter.
-Jumping/pushing/running with different button presses.
-A 'stopping' animation after the player stops running (like skidding)
-Random movement of NPCs within certain limits
-A menu screen showing items/stats/etc.
-Random (within certain limits) numbers for amount of damage done to enemies etc.
-Lists and the ability to highlight items in them

That's just off the top of my head, I don't think I need to go through every little thing I may need. Those are the basics.

Moox

Im working on making an rpg template with ags, Im trying to get a Diablo 1/runescape feel with it. Its a port of my LostDungeon engine I wrote for the ti83+ calculator in basic. It will have a random dungeon generator as its key feature. My template will use turnbased battling that appears realtime as in runescape. I included the script to the basic version, when I port it I will improve and make it better
Look up Random (?); for combat


This is my engine in basic (may nor appear correct due to font differences)
A=life
M=money
B=Min damage
C=Max damage
D=Level
L=kills
Z=Enemy life
R=Low run
S=High run
N=enemy drop low
O=enemy drop high
E=DAMAGE REDUCTION
F=EXP
G=EXP MIN BATTLE
H=EXP MAX BATTLE

START SCRIPT

ClrDraw
ClrHome
AxesOff
RecallPic 1
Pause
50->A
0->F
25->G
150->H
0->M
1->B
10->C
1->D
0->L
0->Z
1->R
4->S
2->N
50->O
0->E
Goto 11

RUN SCRIPT

Lbl 23
randInt(R,S
If Ans=4
Disp "EXCAPED"
If Ans=4
Pause
If Ans=4
Goto11
If Ansø4
Disp "CAN NOT RUN"
Pause
Goto3

RANDOM DUNGEON SCRIPT

Lbl 11
randInt(1,5)
If Ans=1
Goto 22
If Ans=2
Goto 44
If Ans=3
Goto 55
If Ans=4
Goto 66
If Ans=5
Goto 77
Lbl 22
ClrHome
Disp "YOU ENTER A ROOM"
Disp "THE ROOM IS"
Disp "EMPTY"
Pause
Goto 11
Lbl 44
ClrHome
Disp "YOU ENTER A ROOM"
Disp "THERE IS A FEW"
Disp "COINS"
Disp "ON THE FLOOR"
randInt(2,100)
M+Ans
Ans->M
Pause
ClrHome
Disp M
Disp "YOUR MONEY"
Pause
Goto 11
Lbl 55
ClrHome
Disp "YOU ENTER A ROOM"
Pause
randInt(25,75)
Ans->Z
Goto 12
Lbl 66
ClrHome
Disp "YOU ENTER A ROOM"
Disp "THERE IS A STORE"
Pause
Goto 99
Lbl 77
Goto 55

STORE SCRIPT

Lbl 99
ClrHome
Disp "MONEY"
Disp M
Pause
ClrHome
Menu("STORE","BUY",13,"LEAVE",14
Lbl 13
Goto 15
Lbl 14
Goto 11
Lbl 15
Menu("STORE","DAGGER 100",16,"SWORD 200",17,"SPEAR 500",18,"SHIELD 100",19,"CHAINMAIL 200",20,"PLATEMAIL 500",21
Lbl 16
If M<100
Disp "NO"
If M<100
Pause
If M<100
Goto 11
If Mù100
(D*2)->B
10->C
B+1->B
C+5->C
M-100->M
Goto 11
Lbl 17
If M<200
Disp "NO"
If M<200
Pause
If M<200
Goto 11
If Mù200
(D*2)->B
10->C
B+2->B
C+10->C
M-200->M
Goto 11
Lbl 18
If M<500
Disp "NO"
If M<500
Pause
If M<500
Goto 11
If Mù500
(D*2)->B
10->C
B+3->B
C+15->C
M-500->M
Goto 11
Lbl 19
If M<100
Disp "NO"
If M<100
Pause
If M<100
Goto 11
If Mù100
2->E
M-100->M
Goto 11
Lbl 20
If M<200
Disp "NO"
If M<200
Pause
If M<200
Goto 11
If Mù200
4->E
M-200->M
Goto 11
Lbl 21
If M<500
Disp "NO"
If M<500
Pause
If M<500
Goto 11
If Mù500
6->E
M-500->M
Goto 11

STATS SCRIPT

Lbl 33
ClrHome
Disp "YOU LIFE"
Disp A
Disp "YOU LVL"
Disp B
Disp "HE LIFE"
Disp Z
Pause
ClrHome
Disp M
Disp "MONEY"
Disp L
Disp "KILLS"
Disp 500-F
Disp "EXP TO LVL"
Pause
Goto 1

BATTLE MENU
AND HEAL

Lbl 12
Disp "ATTACKED"
Pause
Lbl 1
ClrDraw
RecallPic 3
Pause
ClrHome
Menu("BATTLE","HIT",U,"HEAL",27,"STAT",W,"RUN",E
Lbl E
Goto 23
Lbl W
Goto 33
Lbl U
Goto 28
Lbl 27
A+10->A
Disp A
Disp "YOUR LIFE"
Pause
ClrHome
Goto 3
If Z÷0
L+1
Ans->L

YOUR ATTACK TURN

Lbl 28
randInt(1,6)
If Ans=6
Disp "YOU MISS"
If Ans=6
Pause
If Ans=6
ClrHome
If Ans=6
Goto 3
If Ans<6
randInt(B,C
Z-Ans
Disp Ans
Ans->Z
Disp "ENEMY LIFE"
Pause
ClrHome
If Z÷0
L+1
If Z÷0
Ans->L
If Z÷0
Disp "HE DEAD"
If Z÷0
Goto 2
Goto 3

WIN SCRIPT

Lbl 2
Pause
ClrDraw
RecallPic 2
Pause
ClrHome
randInt(G,H
Disp Ans
Disp "EXP"
Ans+F->F
Disp 500-F
Disp "EXP TILL LVL"
Pause
ClrHome
If F=500
Disp "LEVEL INCREASE"
If F=500
D+1->D
If F=500
Disp D
If F=500
Pause
If F=500
ClrHome
If F=500
Goto 64
Lbl62
If F=500
F-500->F
randInt(N,O
Disp Ans
Disp "MONEY"
Ans+M->M
Pause
Goto 11

HIS ATTACK TURN

Lbl 3
randInt(1,4)
If Ans=4
Disp "MISS"
If Ans=4
Pause
If Ans=4
Goto 1
If Ansø4
Disp "HIT"
randInt(1,10
A+E-Ans
Ans->A
Disp A
Disp "YOUR LIFE"
Pause
ClrHome
If A÷0
Disp "DEAD"
If A÷0
Stop
Goto 1

LVL UP SCRIPT

Lbl 64
B+2->B
Goto62

Kinoko

Good luck with that, it's nice to know someone else is trying to expand AGS' use too ^_^ Not really what I was after though...

BerserkerTails

Well, I don't see why without some amazing scripting, an RPG engine like you're describing couldn't be made.

It would use tons of variables, string's, global ints, and so forth. You'd probably have to have a bigger team that just one person. One for just coding, and the other doing everythign else. In our team, we have seperate coders for Battle Engine and normal gameplay, and it seems to work out okay.
I make music.

juncmodule

-Dialogue in boxes appearing letter by letter.
-Jumping/pushing/running with different button presses.
-A 'stopping' animation after the player stops running (like skidding)

These things are the ones that would be slightly harder to script.

Everything else should be fairly easy.

Basically the general answer to your question is always "anything can be done in AGS" and it is true. However, it's true only with a really good grasp of scripting. So, I recommend that you try out a few simple adventure games first.

You may want to check out Scorpiorus's CCS system for NPC's.

For arcade style movement you will want to check out 2ma2's open source Platformerius game

good luck.

later,
-junc

cornjob

Quote from: juncmodule on Tue 15/06/2004 18:46:25
-Dialogue in boxes appearing letter by letter.
-Jumping/pushing/running with different button presses.
-A 'stopping' animation after the player stops running (like skidding)

These things are the ones that would be slightly harder to script.

The dialogue boxes might be done with text overlays... you could store the text in a string and have a function add one letter at a time. But I can't remember if text overlays are displayed left justified or centered. So that might not work.
As for the combat engine, it will be hard to make, but I can offer you this advice: since it's a real time sort of "action" engine, it's best to handle animation and movement directly. Instead of using AnimateCharacter, Move Character, etc., it's easier in the long run to have your script assign animation frames and positioning directly.
By the way, since you seem to be going for a console-style look, wouldn't it be cool if you handled walls in the same way as "a friend indeed"?
Anyway, good luck. I'm still looking forward to a good AGS RPG.

Kinoko

The text box problem has already been solved (check the Tecxh forums if you're interested) and I'm quite confident I can work out my combat system in the end with the help of collision detection and ... probably weeks on the tech forum getting things tweaked ^_^

I don't know, right now I'm pretty confident about the whole thing. I've already gotten over some of the big bumps (I was always going to get the basic engine going before I really started with the graphics or anything) and I really think I can do this. Scorpiorus and CJ have been big helps already and I daresay I'm going to be spending a lot of time on the help forums but I am confident I can do this.

Of course, if I come back here in a month's time crying, you'll know I was wrong.

remixor

Quote from: LostTraveler on Tue 15/06/2004 17:12:09
code

Oh man, that's code for a TI graphing calculator, isn't it?  I used to do that stuff all the time in high school.
Writer, Idle Thumbs!! - "We're probably all about video games!"
News Editor, Adventure Gamers

Moox


SMF spam blocked by CleanTalk