pythonarcade / arcade Goto Github PK
View Code? Open in Web Editor NEWEasy to use Python library for creating 2D arcade games.
Home Page: http://arcade.academy
License: Other
Easy to use Python library for creating 2D arcade games.
Home Page: http://arcade.academy
License: Other
after installing via pip, when i try running the examples on the website I get:
Traceback (most recent call last): File "test.py", line 17, in <module> import arcade File "D:\whome\workspace\Arcade\venv\lib\site-packages\arcade\__init__.py", line 9, in <module> from arcade.arcade_types import * File "D:\whome\workspace\Arcade\venv\lib\site-packages\arcade\arcade_types.py", line 4, in <module> from typing import Tuple ImportError: No module named 'typing' (venv)
Improve text support. Fonts, rotation, stuff like that.
As noted in a different issue, pylint shows several issues. Spend some time making that better.
The quick index lists all functions available:
http://pythonhosted.org/arcade/quick_index.html
Have the script that creates the quick index (don't edit the quick index!) create links to the full description.
Currently the AnimatedWalkingSprite can only switch between FACE_RIGHT and FACE_LEFT states.
FACE_DOWN and FACE_UP are not implemented. The textures can be assigned but will never be called.
Right now the OpenGL code is slow. Vertexes are sent each time. Support vertex buffers.
Right now the version number scheme is 1.0.0r1 when it should be 1.0.0.post1
I'd like to make the examples feel more like first class citizens in the project, in a top-level "games" directory. We'd then change the Sphinx literal include references to point up to the games.
This would allow the following way to run a game:
...instead of having to get asteroids.py copied into a directory somewhere.
I can do a PR for this if it is approved.
Currently most numbers are 'Number', but that is a class that doesn't have the ability to have operations done on it. Update it to use float instead.
The asteroid and platformer games slow down and have high CPU after they have been running a while.
Right now TravisCI is failing, but not showing an error message. Find out why.
The library and documentation needs to tested more with Python 3.x and 2.x. Plus test platforms Linux, Mac, and Windows. Have several new people try and test out the library and give feedback on ease of use.
Well, this is more a doubt instead a issue. The library current have full joystick Support?
Or for joystick, you need use a thirth library.
Thanks for all
Add more examples to the example code that shows how to resize windows and scale an image to the size of the window.
Python.org is not reliable and uploads sometimes fail. Change AppVeyor to only test the build, and create artifacts that are ready for download. Have local script use an option for upload.
AnimatedTimeSprite changes the image based on clock ticks. Have it instead use set_interval.
Cache textures, so we don't reload from disk, or create a new texture if we already have one.
Right now, collision detection is slow and not very powerful. Add an "Axis Aligned Bounding Box" to the sprite, and then a more detailed collision bounding box.
The animated sprite should have a new, similar class that supports a 'jump' graphic when the character is jumping.
Currently the Linux instructions don't work with Ubuntu 16.04. A few of the packages don't exist in 16.04. Once I get everything working I'll submit a PR for the installation page.
The install instructions for Linux:
http://pythonhosted.org/arcade/installation_linux.html
should not require sudo. Find some way to get the installation to work without sudo.
See how easy it is for a new person to get, build, and test the Arcade library using the git source.
Add multi-line output for text.
Pylint complains because files like init.py are doing "import *" when they should not be doing wildcard imports.
Setting a sprite to be semi-transparent does not actually make said sprite semitransparent.
This ticket is a place for us to discuss alternatives.
In examples/asteroid_smasher.py we see a module with an arcade.window subclass for the "application" and a couple of other classes (sprites) which need information from the window instance. Since "window" doesn't exist until the class is instantiated, this leads to a NameError problem, currently solved by window = None at the top. This then drives PyCharm crazy, saying None has no attribute width, etc.
Elsewhere in the codebase, we throw "global" at the problem. Both of these are code smells which aren't just signs of brittle code, hard-to-test code, but bad practices which shouldn't be taught.
I'd like to discuss ways to eliminate window = None. This discussion has two related pain-points:
Right now Pyglet supports window resizing, but not Arcade. Should be straight forward.
I see in your examples that you encourage the definition of a setup method, called immediately after class instantiation, instead of an init. For the asteroid_smasher.py demo, my linter complained about defining instance attributes outside of init. When I got rid of setup and moved everything to MyApplication.init, and called super() on arcade.window, it all seemed to work ok.
Looking at the Window.init source, it doesn't look like it is doing much. Is there a reason to frown on sticking with init? Perhaps some pyglet thing I don't know about?
The current platformer physics engine is awful. There needs to be one that is less awful.
examples/zorder.py
is still using the old locations for assets.
examples/
should be removed from the file paths, and stars.jpg
should be moved into the examples
directory.
Python.org is not reliable and uploads sometimes fail. Change AppVeyor to only test the build, and create artifacts that are ready for download. Have local script use an option for upload.
There isn't any document for users who want to contribute. Such document will be helpful for beginners.
Although you can assign a scale value to the object it is never actually used.
The textures will always stay the same size.
If you want to release the code into the public domain, you might want go with a more formal statement, like the one found here. I'd be happy to make PR with the update.
On the subject of licenses, any particular reason you went for public domain over something like MIT? Or even something like LGPL?
Right now the sprites default to a opengl z-order (or z-coordinate really) of 0.5. Add support for a sprite property that allows the user to specify the z location instead of always using 0.5.
Have new people try the library and documentation to see how easy it is to create images, animations, and games using the library.
As discussed yesterday, arcade could benefit from a "pretty face" like pygame used to have, as the start of trying to attract people and build a community. As mentioned, arcade wouldn't want some complicated homegrown CMS/forum system.
We can use this ticket to discuss possible ways to go. For example, we could make our website in Sphinx, with a decent theme, and push to github pages, with a different domain name in the CNAME file.
I have experience with different parts of this, so I can pitch in once it is decided.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.