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
Pylint complains because files like init.py are doing "import *" when they should not be doing wildcard imports.
Right now Pyglet supports window resizing, but not Arcade. Should be straight forward.
There isn't any document for users who want to contribute. Such document will be helpful for beginners.
Cache textures, so we don't reload from disk, or create a new texture if we already have one.
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.
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 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.
The asteroid and platformer games slow down and have high CPU after they have been running a while.
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
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?
See how easy it is for a new person to get, build, and test the Arcade library using the git source.
Right now TravisCI is failing, but not showing an error message. Find out why.
Add multi-line output for text.
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.
Setting a sprite to be semi-transparent does not actually make said sprite semitransparent.
Improve text support. Fonts, rotation, stuff like that.
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.
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.
Have new people try the library and documentation to see how easy it is to create images, animations, and games using the library.
Right now the OpenGL code is slow. Vertexes are sent each time. Support vertex buffers.
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.
Although you can assign a scale value to the object it is never actually used.
The textures will always stay the same size.
Add more examples to the example code that shows how to resize windows and scale an image to the size of the window.
As noted in a different issue, pylint shows several issues. Spend some time making that better.
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)
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.
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.
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:
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.
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 version number scheme is 1.0.0r1 when it should be 1.0.0.post1
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.
AnimatedTimeSprite changes the image based on clock ticks. Have it instead use set_interval.
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 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.
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.