Gw Temp

Menu

Tutorial - 'Fishing in RM2K!' by karinms

An item about RPGMaker 2000 posted on

Blurb

karinms' great RM2K/3 tutorial on creating a fun fishing game that the player will actually find useful!

Body

I'll show you how to make a simple Fishing Game using 4 fishes.
Each fish is worth a set amount of Fishing Points.
You can trade in the Fishing Points for certain items in a shop.

1. Catching the fish

Items required:
1 Fishing Rod. Make sure the rod is equipable by the Hero, either as a Weapon or as a Other.
1 Worm. A Common Item, suitably priced.
4 different Fishes. Make them into something of your choice, e.g. healing items.
I'll call them Jellyfish, Trout, Rainbow Trout and Salmon for now.

Other requirements:
2 Common Events
1 Events
7 Variables

A MAP with water, e.g. a lake
A Character (Hero)

---------------------------------

Make a Common Event called Fishing-A.
Event Start Condition: Call.

The code will look like this:

<>FORK Optn: Hero - Fishing Rod Equipped
<>FORK Optn: Worm Item Got
<>Variable Ch: [0001:Choice A] Set, Randm [1*2]
<>FORK Optn: Varbl[0001: Choice A]-1
<>Variable Ch: [0002:Fishing 2] Set, Randm [1*2]
<>FORK Optn: Varbl[0002: Fishing 2]-1
<>Wait: 4.0s
<>Play SE: Failure2
<>Messg: You've caught nothing!
<>
:ELSE Case
<>Wait:4.0s
<>Play SE: Success2
<>Messg: Obtained Jellyfish worth 5 Fp!
<>Add/Remove Item: Jellyfish -> 1 Incr
<>Add/Remove Item: Worm -> 1 Decr
<>Variable Ch: [0007: Fishing Points]+ ,5
<>
:END Case
<>
:ELSE Case
<>Variable Ch:[0003: Fishing 3] Set, Randm [1*2]
<>FORK Optn: Varbl[0003: Fishing 3]-1
<>Wait: 4.0s
<>Play SE: Success2
<>Messg: Obtained Jellyfish worth 5 Fp!
<>Add/Remove Item: Jellyfish -> 1 Incr
<>Add/Remove Item: Worm -> 1 Decr
<>Variable Ch: [0007: Fishing Points]+ ,5
<>
:ELSE Case
<>Wait: 4.0s
<>Play SE: Success2
<>Messg: Obtained Trout worth 35 Fp!
<>Add/Remove Item: Trout -> 1 Incr
<>Add/Remove Item: Worm -> 1 Decr
<>Variable Ch: [0007: Fishing Points]+ ,35
<>
:END Case
<>
:END Case
<>
:ELSE Case
<>Messg: You can't catch fish without any bait.
<>
:END Case
<>
:ELSE Case
<>Messg: You need to equip a Fishing Rod.
<>
:END Case
<>

---------------------------------

Make a second Common Event called Fishing-B.
Event Start Condition: Call.

The code will look like this:

<>FORK Optn: Hero - Fishing Rod Equipped
<>FORK Optn: Worm Item Got
<>Variable Ch: [0004:Choice B] Set, Randm [1*2]
<>FORK Optn: Varbl[0004: Choice B]-1
<>Variable Ch: [0005:Fishing 5] Set, Randm [1*2]
<>FORK Optn: Varbl[0005: Fishing 5]-1
<>Wait: 4.0s
<>Play SE: Failure2
<>Messg: You've caught nothing!
<>
:ELSE Case
<>Wait:4.0s
<>Play SE: Success2
<>Messg: Obtained Rainbow Trout worth 45 Fp!
<>Add/Remove Item: Rainbow Trout -> 1 Incr
<>Add/Remove Item: Worm -> 1 Decr
<>Variable Ch: [0007: Fishing Points]+ ,45
<>
:END Case
<>
:ELSE Case
<>Variable Ch:[0006: Fishing 6] Set, Randm [1*2]
<>FORK Optn: Varbl[0006: Fishing 6]-1
<>Wait: 4.0s
<>Play SE: Success2
<>Messg: Obtained Salmon worth 60 Fp!
<>Add/Remove Item: Salmon -> 1 Incr
<>Add/Remove Item: Worm -> 1 Decr
<>Variable Ch: [0007: Fishing Points]+ ,60
<>
:ELSE Case
<>Wait: 4.0s
<>Play SE: Failure2
<>Messg: You've caught nothing!
<>
:END Case
<>
:END Case
<>
:ELSE Case
<>Messg: You can't catch fish without any bait.
<>
:END Case
<>
:ELSE Case
<>Messg: You need to equip a Fishing Rod.
<>
:END Case
<>


---------------------------------

I've made the Jellyfish appear twice instead of once to make it into an easy catch.
The lesser points you get for a fish, the more common it is (according to me).

You can rearrange the fishes as you like in the code.
I'm not good at counting in percent so I won't but it's a bigger chance to get No Catch or a Jellyfish than any of the other fishes if you follow this code.

---------------------------------

Make an Event near the water to start fishing.
Depending on where you put it, make it:

Event Start Condition: Push Key. Position: Same Level as Hero.

OR:
Event Start Condition: On Hero Touch. Position: Below Hero.

The code will look like this:

<>Variable Ch:[0001: Choice A]Set, Randm [1*2]
<>FORK Optn: Varbl[0001:Choice A]-1
<>Call Event: Fishing A
<>
:ELSE Case
<>Call Event: Fishing B
<>
:END Case
<>


---------------------------------

2. Trading in the Fishing Points

What my fishes are worth:
Jellyfish - 5 Fp
Trout - 35 Fp
Rainbow Trout - 45 Fp
Salmon - 60 Fp

Items required:
3 Items.
I'll call them Hawks Ring, Speed Boots and Artemis Ring for now.
I've priced them accordingly in Fishing Points; 650, 450 and 1325.

Requirements:
2 Events


Make a new Event.
Event Start Condition: Push Key. Position: Same Level as Hero.
Make it as a Sign or something like it.
You will use it see how many Fishing Points you have.

The code will look like this:

<>FORK Optn: Varbl[0007: Fishing Points]-0
<>Messg: You have no Fishing Points.
<>
:ELSE Case:
<>Messg: You have \v[7]Fishing Points!
<>
:END Case
<>


---------------------------------

Make a new Event.
Event Start Condition: Push Key. Position: Same Level as Hero.
Make it as a Character (Salesman or something like it.)
You will use it to trade in your Fishing Points.

You can add many things in this Event like Fishing Rules, Trade in Fishing Points, Buying Equipment, Price List and such.

I will, however, only make a code for Trade in Fishing Points.
I will also only use 3 items made into Others.
You can make the items into whatever you like.


The code can look something like this:

<>Messg: Trading in Fishing Points.
<>LABEL: 1No
<>Show Choice: Hawks Ring --> 650 Fp/Speed Boots --> 450 Fp/Artemis Ring --> 1325 Fp
:[Hawks Ring --> 650 Fp]Case
<>FORK Optn: Varbl[0007: Fishing Points]-650 abov
<>Add/Remove Item: Hawks Ring -> 1 Incr
<>Variable Ch: [0007: Fishing Points] - ,650
<>
: ELSE Case
<>Messg: You don't have enough Fishing Points!
GOTO Label: 1No
<>
:END Case
<>
:[Speed Boots --> 450 Fp]Case
<>FORK Optn: Varbl[0007: Fishing Points]-450 abov
<>Add/Remove Item: Speed Boots -> 1 Incr
<>Variable Ch: [0007: Fishing Points] - ,450
<>
: ELSE Case
<>Messg: You don't have enough Fishing Points!
GOTO Label: 1No
<>
:END Case
<>
:[Artemis Ring --> 1325 Fp]Case
<>FORK Optn: Varbl[0007: Fishing Points]-1325 abov
<>Add/Remove Item: Speed Boots -> 1 Incr
<>Variable Ch: [0007: Fishing Points] - ,1325
<>
: ELSE Case
<>Messg: You don't have enough Fishing Points!
GOTO Label: 1No
<>
:END Case
<>
:CANCEL Case
<>
:END Case
<>

---------------------------------

I hope you can understand this tutorial. It's my first try at writing one.
I know the codes should work properly but let me know if you find anything wrong.

The codes in this tutorial are just a small part of my own Fishing Game.
Once you've figured out how, you can add lots of features to enhance it.