• RPG developing tools.
  • After XP has scripting system to program game.
  • kame soft
    • script distribution site

RPG Maker 95Edit

  • String encoding is "Windows-31J"
  • Materials has prefix "A:¥Program Files¥RPGツクール95¥$(PROJECT_NAME)"
  • Use little endian
  • RPG file
    • Has signature "RPGツクール95" in it.
  • eve%05d.dat
    • corresponds to each event.
    • always has EVE99999.DAT. Maybe some special event.
  • .ATR
    • Defines of map data attributes?
    • Size is 0x100
    • Seems like only 0x05, 0x06, 0x0B, 0x0C, 0x00 is used.
    • Item data list?
    • Has 0x00 0x00 0x00 "string" pattern.
  • strings.dat
    • text that is separated with '\n'
    • it seems like equivalent of rpg2k vocabulary

RPG Maker 2000/2003Edit

RunTime PackageEdit

Time stamp formatEdit




  • cache generated font
  • ctx.font = '11px sans-serif'
  • way to hide canvas element: $(canvas).hide()
  • clipping, scissor:
    • var p = new Path();
    • p.rect(x,y,w,h);
    • ctx.clip(p);
    • // do drawing
    • ctx.resetClip();

EasyRPG ServerEdit

  • project/
  • .json
  name: must match with base name of the file
  description: About game, can be ignored
  type: github, git, zip, lha
  url: if type is github the format will be user/project
  access: access type. public, user only, private is available

    • get base path(path of ldb, lmt, lmu
  • tmp/
    • place to extract project
    • in git "git clone name"
    • extract file to make ldb, lmt, lmu to the top directory
    • /project
      • only GET
      • query parameters
        • name: Project name
        • type: database, maptree, mapunit is available
        • index: used only if type is mapunit
        • format: my default json, "lcf" is available
    • /material
      • only GET
      • query parameters
        • name: Project name
          • if not specified global material (like RTP) will be returned.
        • type: material type
        • material_name: material name
        • format: jpg, bmp, png, xyz, and AV types
      • exchange format if needed
    • /archive
      • only GET
      • query parameters
        • name: project name
      • if type is archive zip, lha will be available
    • /search
      • query parameters
        • q: search query.
      • returns json array of
        • { name: "project", description: "blah blah" }
      • if authenticated private and user only project will be also searched.
    • /savedata
      • GET/POST
      • query parameter
        • index: index of save data 1~
          • if "latest" last saved data will be used.
        • name: project name
      • to call this method user must be authenticated
    • /view
      • GET
      • query parameter
        • name: project name
      • view project description
  • server.go
    • node.js is familiar to me but go this time
    • authentication
      • Use cookie?
      • where to save session
        • username, password hash, savedata
      • way to send mail
      • private project, user only project
    • make data submittable
    • RSS output


  • first strike is only valid in normal attack


  • Native Client support
  • Remove filefinder


  • build GUI components from schema
  • Type
    • Integer: SpinBox
    • Enumeration: ComboBox
      • Only selection
    • String: TextCtrl
    • Material: ComboBox
      • Warnings to unused material
      • Material type
      • Timing to update material list
        • When material was imported
        • When project was loaded(including startup of the executable)
      • behavior of copy pasting
    • 2d array: ListBox or ComboBox
      • When selected element is changed, view must be updated
      • sort elements with reference frequency
    • 1d array: QTabWidget or Widget
      • In database use tabwidget
  • range of integer
    • Use range of variable by default
    • Difference in 2k and 2k3
  • meta field
    • min/max: range of integer
    • material_type: material type, if defined it is material
    • element_list
      • used in enumeration
      • Array and map can be used.
    • specialization: Specialized class name
      • Exp curve, map data
    • is_lenthof: length of array, can be ignored in build
  • build_from_schema(schema, val)
    • val: json value, by default skip it
  • Search engine
    • variable
    • switch
    • material
  • multiple project
  • Backup periodically by using QTimer
  • Translation
    • json of structure similar to schema
    • array will be map with key name field
      • [name, {children}]
    • Add "improve translation" button
  • RPG Maker XP/VX/VX Ace editor
  • Text Editor using QScintilla
  • Project template
  • Changelog will be push in json stack
    • Version management
    • reduce memory use
    • track save data
  • When projected is loaded list all available material
    • Use recursion to list material
  • json2lcf
    • done
    • in librpg2k
  • mruby SWIG
  • Use json in librpg2k schema
    • remove meta field
    • picojson
      • use boost::flyweight to reduce memory use of string
      • use AssocVector/boost::flat_map to speedup and reduce memory use

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.