kitao / pyxel

A retro game engine for Python
MIT License
15.31k stars 847 forks source link

Custom resource types #498

Closed dhasenan closed 11 months ago

dhasenan commented 1 year ago

There are a lot of potential resource types that I want to use. Plain text, more advanced tilemap formats, that kind of thing.

More specifically, a story-driven RPG would benefit from having an advanced map format that contains triggers, NPC spawn points, and scripts. Also, there are better tools for editing tile maps and tilesets, and as a novice, I could definitely use the help that they can provide.

I can implement them myself as long as I have an octet sequence resource type, but I don't. Alternately, I can make a build step to encode them into python source files, which is a bit awkward.

kitao commented 11 months ago

The concept of Pyxel is to provide features that are as simple and concise as possible, making it easy for beginners to use, while also leveraging the extensibility of Python to allow advanced users to implement any functionality they desire.

The resource files in Pyxel are intended for the former, and for those who wish to handle richer resource files suited to specific game genres, creating your own file format is recommended. For example, the creator of the 8bit BGM Generator has developed his own music format, enhancing the expressive power of Pyxel.