Code Monkey home page Code Monkey logo

Comments (5)

kitao avatar kitao commented on May 5, 2024

Hi,

First, I don't have any plan to restrict Pyxel to run only standalone. I'll keep it as python module.

Second, you can run Pyxel application with arbitrary resolution. (Rather you must specify the window size because the init method needs the window size as its arguments)

Regarding your physical machine idea, I don't think it's good idea to use Pyxel for its base.
Because the concept of Pyxel is how to make it easy to start a game program. So I chose Python, popular language for beginners, and limited the number of palettes to 16 to make it easy to draw a picture. On the other hand, I don't make any speed limitation because it may make it difficult make a game. I don't think these features are suitable for physical machines.

from pyxel.

carlsmith avatar carlsmith commented on May 5, 2024

First, I don't have any plan to restrict Pyxel to run only standalone. I'll keep it as python module.

Sweet. That was the main concern. Thank you.

Second, you can run Pyxel application with arbitrary resolution. (Rather you must specify the window size because the init method needs the window size as its arguments)

This does not seem to work for me. I tried a simple app at 160x128 and it worked fine. I changed the values to 320x256 (one of the resolutions I wanted to support), and it doesn't work correctly. It creates a large window with a dark grey background, with a smaller black screen inside it. The background color doesn't fill the black inner screen. It creates a large square of background color that is centered at the bottom of the screen, with black margins to the top and sides.

Regarding your physical machine idea, I don't think it's good idea to use Pyxel for its base...

Just to be clear, I wouldn't be using Pyxel to build the desktop environment or the editors that run on it. They'd be conventional desktop applications. Pyxel would be only be used to provide users with an API for building games, pretty much as they'd use it now.

I understand the reason for simple limitations, and don't want to remove them. I just want to provide a range of modes, each enforcing a different set of limitations. For example, a Game Boy Mode, with the 2bit green palette, 160x144 resolution etc - just as an option. It would still be a fantasy console, but (just like many old systems) it would have more than one graphics mode.

Thank you for considering this, @kitao. I'm grateful for your time.

from pyxel.

carlsmith avatar carlsmith commented on May 5, 2024

The PICO-8 community have developed syntax highlighters for popular text editors, as they do not like using their builtin editor either. That kinda spoils the experience though.

Deriving a Linux distro from PixelOS that runs our own tools would definitely be a viable option.

The tools would look and feel right (we would use pixel art icons, retro fonts etc), but still something people can realistically use over many projects.

Knowing the exact resolution of everybody's display also makes laying out user interfaces much less of a pain.

Also note that installing a custom distro is trivial on a RPi, as you only have to swap the SD card.

Once you go down the custom distro route, you can do a bunch of other stuff, like preventing the user from escaping the sandbox unless they really want to, bundling stuff like Python libraries and spritesheets. We can also make sure everything works out the box (like controller support).

And we have the fun of bikeshedding a fantasy microcomputer for everyone to clone.

I understand this is getting way off topic now. A lot of this stuff has nothing much to do with Pyxel, but I'd like to make the case for adding modes to Pyxel, so it can be used for projects like the one I'm describing, without needing to fork it.

Are there any technical objections to supporting modes, or would it be primarily a design choice?

What are the longer term plans with Pyxel for the tools?

Thanks again, @kitao, for considering this.

from pyxel.

carlsmith avatar carlsmith commented on May 5, 2024

I'm going to close the issue. The main question has an answer.

I'll look into adding modes, and we can discuss it once I have some code. I'm busy with a friend's app for now anyway, so it may take a while.

Thanks again.

from pyxel.

kitao avatar kitao commented on May 5, 2024

OK, I'll wait for your suggestion with code! Thanks

from pyxel.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.