• Register

Type Quest is a old-school top-down RPG with a "type-to -do-command" game mechanic.

Forum Thread
  Posts  
Technical progress (Games : Type Quest: Hand of the Mice : Forum : Development & art progress : Technical progress) Post Reply
Thread Options
Nov 17 2013 Anchor

I am a developer / designer, and I often use my spare time on coding projects. 5 days ago I started coding a new project; TypeQuest: Hand of the Mice.
The game is a old-school top-down Zelda-like RPG / Dungeon crawler with a "type-to -do-command" game mechanic.

A lot of work has been done creating a solid system to build upon - mixed in with a couple of paused to create 2D pixel-art. I would like to focus my energy on coding the main game - which is why I scanned the internet to find people like myself, who want to make a awesome game. If you decide to join, I would of course be willing to share any profit the game will make, but first the game has to be made.

Coding progress
The systems are coming together nicely. The engine is based on a heavily customised Flixel engine. Here's a rundown of the current features (*is in development, everything else is complete or semi complete):

Development stage
GUI

  • Healthbar
  • XP bar
  • Awesome floaty attack-text-boxes
  • Inventory*
    • Management
    • Object use / selection
    • Weapons / stats

Dialog window

  • Dialogue on enemies / characters*
  • Word text color highlight
  • Scriptable from tilemap
  • Color codes from @1 WORD
  • Dialogue text: Special chars end of line [?!.,]
  • Skipable dialogue
    • ENTER to finish dialogue page
    • ESC to remove dialogue
  • Pause gamestate on dialogue (Option)
    • Enemies / animations freeze, camera & dialogue stays alive
  • Show portrait in dialogue
  • Dialogue tree*

Ligtning system

  • Loading light sources from Tiled Objecs
  • Loading screen blended sprites for light sources

Targeting system

  • Cycle enemies
    • Target enemy sprite (blinking indicator)
  • Follow CAMERA on current Enemy
  • Automatically select nearby objects (with text target) - Ie. "OPEN door"
    • Doors
    • (Handles)*

Tilemap

  • Tilemaps generated in Tiled (app) - which includes dynamic loading of external .tsx tiles
  • Loading of levels
  • Player position
  • Light position
  • Collision tiles
  • Tiled set up with terrains for easy wall / floor generation
  • Item generation from Tiles
  • Dynamic object generation from properties
    • Events
    • Enemy positions
      • Enemy Loot
    • Exits

Levels (Classes)

  • Custom level code, based on main class
  • Level transitions
  • Music
  • Hook to main TYPE action for custom TYPE events
  • Dialogue callback (when dialogue completes, do something in the code)
  • Items
  • Pickup (on overlap)
    • Inventory hook
    • Dialogue hook
    • Focus camera on target
  • Hook to master pickupAction()

Enemies

  • Automatically check if player is in range
  • Pathfinding
  • Run away*
  • Attack
    • Attack timer
    • Interupt attack
  • Return to origin position

Exits

  • Automatically check if player is in range
    • Change level is exit is open
    • Unlock
      • Check if player has key

Inventory

  • Items
    • Save item
    • Destroy item
  • Management*
    • Equip items*
    • Inventory GUI*

TiledObjects layer (Objects)

  • Exit
    • CLOSED:(boolean):
      • TRUE: Use OPEN command to go through
      • FALSE: Automatically change level
    • KEY:(int): Uses item from the item_tiles to unlock a door
    • LOCKED:(boolean)
    • LEVEL:(Level): Level to load
  • Player (Player position)
    • PARENT:(Level) Parent level based on Level class: Level_1_0
  • Light
    • ID:(int) Used for different lights
  • Event
    • DESC:(string): Description
    • FOCUS:(x,y):
    • ITEM_ID:(int): Used to get the item sprite from the item_tiles tilesheet.
    • TALK:(csv array): Used in the dialogue system to display text
      • "You learned the word @4 OPEN.; Now let's use it for something!;Walk to the @3 DOOR and type @4 OPEN."
      • @int changes the colour of the next word displayed
  • Enemy
    • FACING:(up, down, left, right): Initial direction
    • TYPE:(Enemy): Enemy type (enemies.Mouse)
    • Loot properties
      • LT_HP:(int): Health gained
      • LT_INV:(Boolean): Will the item stay in the inventory
      • LT_ITEM_ID:(int): Reference ID
      • LT_TALK:(csv array): Display dialogue after picking it up
      • LT_CLS:(Item class): Used to create a custom item from a class instead of from the items_tiles tilesheet. (items.Key_1_1).

Items layer (Tile layer)

  • 256 pickable items
  • Custom properties
    • NAME:(string): Name for a item
    • DESC:(string): Description
    • HP:(int): Health gained
    • INV:(Boolean): Will the item stay in the inventory

Concept stage
Weapons*

  • Weapon
    • ATTACK
      • SWING
      • THROUGH
      • SHOOT
  • Spellbook
    • SPELL
      • FIREBALL
      • ICE
      • BLOCK
  • Shield (Increases block chance)
    • BLOCK
    • KNOOCKBACK
  • Armor (lowers evade chance)
    • EVADE

Semi Random Dungeons*
Statistics*

  • Amounts of enemies killed
  • Amounts of letters typed

Quests

  • Quest log
  • Quest tracking
  • Quest XP

Gold & merchant system

Edited by: kevinandersson

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.