pygametoys / pygame-pal

A reimplemention of the chinese role-playing game Chinese Paladin based on pygame

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyGame-Pal

image

image

image

image

A pygame-based open-source re-implemention of the classic Chinese RPG game Chinese Paladin(仙剑奇侠传) .It is heavily based on the palresearch documents(http://github.com/palxex/palresearch),

the sdlpal project(http://github.com/sdlpal/sdlpal),

and huangcd's work(http://github.com/huangcd/python-pal).

CPython 2.6/2.7 and CPython 3.3+ versions are both supported(however, python3 is recommended), tested on Manjaro Linux 17.1 and Windows 7, 64bit.

Dependency:

pygame (based on sdl 1.x)
six
chardet
configobj
attrs
wcwidth
wrapt
pyperclip
pyaudio (for rix music & sound effect playback)
mido (for midi music playback)

Python2 specific requirements:

enum34
textwrap3
backports.functools_lru_cache
backports.functools_partialmethod

Optional requirements:

pyopl (based on dosbox opl synth, for opl music emulation. If you are using python 3.x, use this branch instead: https://github.com/pygametoys/pyopl/tree/pyopl-py3)
pyav (based on ffmpeg, for avi video playback)
ptpython (for a better repl)
psyco (only for CPython 2.x x86 versions to speed up a little bit)

Development requirements:

cython (to build the c version yj1 decompress backend)

Features:

  1. multi-threaded audio player
  2. an interactive console that can access the main game instance, like below

image

  1. a too simple config program also based on pygame
  2. snake-case function names
  3. no need to re-compile after code modification

To-dos:

  • Refactor some c-style code to python's style
  • Enhance the performance
  • Port more opl emulation cores?
  • Test if the joystick input works correctly or not
  • Fix potential bugs.

License:

GPLv3

About

A reimplemention of the chinese role-playing game Chinese Paladin based on pygame

License:GNU General Public License v3.0


Languages

Language:Python 97.8%Language:C 2.2%