Raiser RPG Framework

A place for Ren'Py tutorials and reusable Ren'Py code.
Forum rules
Do not post questions here!

This forum is for example code you want to show other people. Ren'Py questions should be asked in the Ren'Py Questions and Announcements forum.
Post Reply
Message
Author
paktek123
Newbie
Posts: 13
Joined: Thu Jan 01, 2015 8:31 am
Completed: Raiser RPG Framework for Ren'Py
Github: paktek123
Contact:

Raiser RPG Framework

#1 Post by paktek123 »

Background

Have been working on this for a while now. This started off as a Naruto RPG world game but was too ambitious and I couldn't finish it off, so I decided whatever was already there I'd finish off and open-source it maybe someone can find the features useful. The idea is that the player starts off as a rookie in the village, gets assigned to a team of 3 (or more) with a sensei, does missions in different villages, gets stronger with team work and eventually the story is bought to a conclusion. It is possible to plan events such as the chunnin exams, villages political events and much more. I wanted to capture the political parts of Naruto too.

More Info (downloads and documentation)

https://github.com/paktek123/raiser_rpg_framework

Wiki: https://github.com/paktek123/raiser_rpg_framework/wiki

Features

• Includes built in battle system (supports up to 3 v 3 fights)
• Dynamic battle fields for strategic gameplay
• In-depth skills, character development, experience, levelling and fight mechanics
• Character creation / skill assignment screen included
• Open world design, travel to locations and villages
• Buy weapons and equipment in shops
• In-game time and calendar events included
• Create your own planned events, interactions with NPCs / PCs
• Team and teacher system
• Create political movements and micro management
• Fully customisable, customise everything mentioned above!


Quick Start


script.rpy

Code: Select all

### STATIC RESOURCES ###
init:
    ### SPRITES ### 
    image sam_1 = im.Scale("sprites/sam_1.png", 270, 500)

### DYNAMIC RESOURCES ###
label load_resources:
    ### TIME ###
    $ main_time = GameTime(hour=9, day=1, month=1, year=2015)

    ### EVENTS ###
    $ e_weapon_discount = Event(name="Weapon Discount", small_name="WD", frequency=(2, 30)) 
    $ e_hospital_discount = Event(name="Hospital Discount", small_name="HD", frequency=(6, 20)) 

    $ ALL_EVENTS += [e_weapon_discount, e_hospital_discount]
    $ populate_events()

    ### LOCATIONS ###
    $ l_hospital = Location(name='Hospital', label='village_hospital', events=[e_hospital_discount])
    $ l_weapon_shop = Location(name='Weapon', label='village_weaponshop', events=[e_weapon_discount]) # weapon shop
    $ l_level_up = Location(name='Level Up', label='village_levelup')
    $ l_training_ground = Location(name='Training', label='village_training')
    $ l_town_mission = Location(name='Mission', label='village_missions', events=[],)
    $ l_apartment = Location(name='Apartment', label='village_home')
    $ l_travel = Location('Travel', 'village_travel')

    $ BASE_LOCATIONS = [l_hospital, l_weapon_shop, l_level_up, l_training_ground, l_town_mission, l_apartment, l_travel]

    ### VILLAGES ###
    $ middle_town = Village(id=1, name="Middle Town", leader=None, marker_xpos=0.40, marker_ypos=0.25, map="town_map_1", locations=BASE_LOCATIONS, village_tag="middle_town", mission_locations=2, wealth=50)
    $ east_town = Village(id=2, name="East Town", leader=None, marker_xpos=0.60, marker_ypos=0.25, map="town_map_1", locations=BASE_LOCATIONS, village_tag="east_town", mission_locations=2)    
    $ south_town = Village(id=3, name="South Town", leader=None, marker_xpos=0.45, marker_ypos=0.65, map="town_map_1", locations=BASE_LOCATIONS, village_tag="south_town", mission_locations=2)

    $ ALL_VILLAGES = [middle_town, east_town, south_town]

    ### SHOP ITEMS ###
    $ i_heal_paste = ShopItem("Heal Paste", price=300, health=30)
    $ i_chakra_paste = ShopItem("Chakra Paste", price=300, chakra=30)
    $ w_kunai = Weapon(name='Kunai', price=50, range=3, chakra_cost=10, damage=30)

    ### SHOPS ###
    $ hospital_shop = Shop(name="Hospital", items=[i_heal_paste, i_chakra_paste])
    $ weapon_shop = Shop(name="Weapons", items=[w_kunai])

    ### CHARACTERS ###
    $ c_hero = Character('Hero', color="#c8ffc8")
    $ c_sam = Character('Sam', color="#c8ffc8")

    ### SKILLS ###
    # melee skills
    $ punching_flurry = Skill(name='Punching Flurry', skill_type='melee', label="punchingflurry", range=2, damage=20)
    $ onetwocombo = Skill(name='One Two Combo', skill_type='melee', label="onetwocombo", range=3, damage=30)
    # special skills
    $ blasting_kick = Skill(name="Blast Kick", skill_type="special", label="blast_kick", range=3, chakra_cost=30, damage=60)
    # ranged skills
    $ distance_hit = Skill(name="Distance Hit", skill_type="ranged", label="distance_hit", range=8, chakra_cost=20, damage=20)
    # defensive skills
    $ damage_reduction = Skill(name='Focus', skill_type='defence', label='damagereduction', range=12, duration=3, chakra_cost=10, unlock_exp=300)

    $ SKILL_SET_1 = [punching_flurry, onetwocombo, blasting_kick, distance_hit, damage_reduction]

    ### PLAYERS ###
    $ hero = LevelledPlayer(lvl=1, name="Hero", skill_pool=SKILL_SET_1, character=c_hero, hudpic="hero_hud")
    $ sam = LevelledPlayer(lvl=1, name="Sam", skill_pool=SKILL_SET_1, character=c_sam, hudpic="sam_hud")

    ### STAGES ###
    $ clearing = Stage('Clearing', 1, 1)

    ### MISSIONS ###
    # TBC

    return

# The game starts here.
label start:

    call load_resources

    # Lets unlock some locations
    $ l_hospital.unlocked = True
    $ l_apartment.unlocked = True
    $ l_level_up.unlocked = True
    $ l_training_ground.unlocked = True
    $ l_town_mission.unlocked = True

    # set main_player
    $ current_session.main_player = hero
    $ current_session.village = middle_town
    $ show_village_map(middle_town, hero)


Screenshots

Attached

Feel free to use this for whatever, just make sure to give credit. Please leave any comments and feedback here or on github. Thanks.
Attachments
screenshot3.png
screenshot2.png
screenshot1.png

Post Reply

Who is online

Users browsing this forum: No registered users