Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

AppGameKit Classic Chat / AppGameKit for Python chat

Author
Message
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 7th Aug 2019 03:08
AppGameKit for Python v2019.08.01 has been released!

​This release was built against AppGameKit Classic 2019.08.01 to bring it up-to-date. The versioning scheme has been changed so it matches AppGameKit Classic.

Some minor changes for this release:
  • Added method: get_image_size_from_file​
  • Added LIBRARY_VERSION constant.​
  • AA_4XMS is now ​AA_4XMSAA​.
  • The create_advert and create_advert_ex 'size​' parameter is now 'type'. Granted, these methods aren't usable on Windows.
  • The BANNER_ constants have been renamed to use the ADVERT_ prefix.
  • The add_zip_entry 'path' parameter​ is now 'zip_path'.
  • The module's docstring has changed.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 16th Sep 2019 01:26 Edited at: 16th Sep 2019 01:27
AppGameKit for Python v2019.09.10 has been released!

This update brings AppGameKit for Python up-to-date with the latest AppGameKit Classic release.

In addition to the changes in AppGameKit Classic​, this release also has the following changes:
* Fixed path handling for create_zip, create_zip_id, get_http_file, open_to_write_id, start_screen_recording, and run_app.
* The working directory is set to the read path at startup so the run_app method now works with local EXEs.
* Added get_file_count, get_first_file, get_next_file, get_folder_count, get_first_folder, and get_next_folder. ​Note that these do not actually call the AppGameKit Classic functions​, but are internal Python scripts that mimic the behavior of the AppGameKit methods.
* Added FOLDER_MODE_READ_ONLY, ​FOLDER_MODE_WRITE_ONLY​ and FOLDER_MODE_BOTH ​constants for use with get_file_count, get_folder_count, get_first_file, and get_first_folder.
* The "value2", "value3", and "value4" arguments are now optional for set_object_shader_constant_array_by_name, set_object_shader_constant_by_name, set_shader_constant_array_by_name, and set_shader_constant_by_name.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 3rd Oct 2019 05:20
AppGameKit for Python v2019.09.27 has been released!

This version adds support for Windows 64-bit Python and Linux x64!

I have tested the Linux extension with Ubuntu 18.04 x64.

If you have any questions or problems, let me know.
GameDevGirl
1
Years of Service
User Offline
Joined: 10th Oct 2019
Location:
Posted: 10th Oct 2019 02:53
Hi adambiser,

I have been messing around with the BASIC language in AppGameStudio, and having a stack of fun doing so.

But I am now wanting to check out Python, and came across this sticky, which is perfect!

I want to say thanks for keeping this up-to-date. Now please excuse me, as I head over to Itch.io and download it.

This is awesome!

adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 11th Oct 2019 03:49
@GameDevGirl: Thanks and enjoy!
Bear in mind that this project is based on AppGameKit Classic and not Studio, which means it doesn't/won't have Vulkan support and there are a few new commands that do stuff in Studio but not Classic.
GameDevGirl
1
Years of Service
User Offline
Joined: 10th Oct 2019
Location:
Posted: 16th Oct 2019 00:56
Okay, adambiser! Understood, will stick with Classic AppGameKit 2. Even though it doesn't show on my forum badges, I use AppGameKit classic too! So I promise not to ask you silly questions about "Where's the support for THIS or THAT from the Studio version?"

Please keep up the awesome work.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 16th Oct 2019 01:51 Edited at: 16th Oct 2019 01:52
@GameDevGirl: That was intended to be more of a general statement than it turned out, not specifically at you. Aside from Vulkan support and the IDE itself, I think the differences between the Classic and Studio implementations are pretty minor still at this point, but I may be wrong. And no questions are silly.
(and thanks again!)
AliceSim1
2
Years of Service
User Offline
Joined: 15th Oct 2018
Location: Barcelona
Posted: 19th Dec 2019 22:23
Good and thanks for the support with using Python with AppGameKit!
I need advice to start with Python, from scratch,
Looking for a beginner course from scratch?
I already have basic programming notions with C, Phascal ...
And obviously with AGIC BASIC Tier 1.

I would like to learn with Python, any advice?
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 19th Dec 2019 23:46 Edited at: 19th Dec 2019 23:46
@AliceSim1: Thanks for trying out AppGameKit for Python.

I'm not sure what book I would recommend starting with.now. I read "Learning Python" published by O'Reilly years ago, but I'm sure there's better, newer (and cheaper) resources out there now.
The Python site links to a lot of resources that you might find helpful: https://wiki.python.org/moin/BeginnersGuide/Programmers
Perhaps someone else might know some better resources.

As for an IDE, I use PyCharm Community Edition.

Hope this helps get you started a little bit!
AliceSim1
2
Years of Service
User Offline
Joined: 15th Oct 2018
Location: Barcelona
Posted: 4th Feb 2020 08:19
Thank you for the update, I will keep an eye on future updates
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 14th Feb 2020 00:04
AppGameKit for Python v2019.12.16 rev 1 has been released!

​The Game Creators have given permission for the introduction logo and window caption text to be removed. By default, the AppGameKit logo is not shown, but can be enabled via the show_appgamekit_logo parameter in create_window.

This release also adds a PyInstaller example.

Installing the module has also changed slightly. Instead of adding the PYD and SO files individually, copy the "appgamekit" folder that's included in the ZIP download. This supports 32- and 64-bit Python 3 on Windows and 64-bit Python 3 on Linux out of the box.

Plus one or two minor bug fixes.
JLMoondog
Moderator
12
Years of Service
User Offline
Joined: 18th Jan 2009
Location: Paradox
Posted: 6th Apr 2020 17:09
This is great, I had no idea there was an AppGameKit module for python. This year, my resolution was to learn as many different programming languages as possible. Last month I finished an online Javascript course and so yesterday I started learning python, just got through all the tutorials on the python.org site. Going to download this and start paying around with it Thank you!
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
AliceSim1
2
Years of Service
User Offline
Joined: 15th Oct 2018
Location: Barcelona
Posted: 7th Apr 2020 15:04
That good!
I have a question: in the future would it be possible to export for Android APK?
Too bad the AGKplayer App (Only for Tier1 BASIC) does not work for Pyton .
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 7th Apr 2020 21:10
@AliceSim1: I'm not sure. It'd have to look into it, but I have doubts. Basically the APK would have to wrap a Python interpreter.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 8th May 2020 20:37 Edited at: 8th May 2020 20:37
AppGameKit for Python v2020.04.30 has been released!

This release brings the project up-to-date with AppGameKit Classic 2020.04.30.

The methods utilizing the Facebook SDK have been removed since they have been deprecated in AppGameKit Classic.

The appgamekit/__init__.py file has been modified to import everything from the internal appgamekit module, including items beginning with an underscore such as the __version__ variable.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 30th Jul 2020 04:15 Edited at: 30th Jul 2020 04:16
Announcing agktk (AppGameKit for Python Toolkit)

I've started developing a library that organizes AppGameKit for Python commands into modules and classes so that code can by more Pythonic: It's a work-in-progress and it's liable to undergo dramatic changes as it gets developed. I haven't added 3D commands, shaders, plus some odds and ends.

Please feel free to give it a try, comment, criticize, or contribute. Documentation is non-existent, but I hope that those who know AppGameKit will understand it quickly enough without it (for now).

A very basic example:
TomToad
3
Years of Service
User Offline
Joined: 6th Jan 2018
Location:
Posted: 2nd Aug 2020 16:11 Edited at: 2nd Aug 2020 16:31
Ran into a problem with memblocks. Used this code to fill a memblock with the value 0xff00ffff, but I get an error.


The error reported is


Python ver 3.8.3 64 bit
AGK for python ver 2020.04.30

Edit:
Found a solution by building an int from bytes, there has to be a faster way though.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 2nd Aug 2020 22:02
@TomToad: I'm sure this has to due with signed vs unsigned. I'll look into it. Thanks for letting me know.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 3rd Aug 2020 03:05
TomToad
3
Years of Service
User Offline
Joined: 6th Jan 2018
Location:
Posted: 4th Aug 2020 12:42
Thanks. Works great.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 4th Aug 2020 14:39
gosukiwi
AGK Tool Maker
User Offline
Joined: 24th May 2020
Location: Argentina
Posted: 11th Aug 2020 22:46
Impessive work! Thanks for keeping it up to date
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 6th Nov 2020 02:34
I guess I should comment so this thread doesn't automatically lock. Hope everyone's doing well.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
brunuu
2
Years of Service
User Offline
Joined: 4th Jun 2018
Location:
Posted: 10th Feb 2021 01:09
I've been playing with it, and it's great, the performance is also great.
great job
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 24th Feb 2021 12:18
@adambiser Hi Adam, I was wondering if you could please help me with a question regarding AppGameKit for Python?

I am close to finishing my first game using your excellent port, however, now comes the thorny question of asset protection (that old perennial AppGameKit issue). When Version 2021.02.10 came out I was initially hopeful that the CreateImageFromPNGMemblock would solve this issue, however, I know you have stated over in the Version 2021.02.10 release thread that you plan to update AppGameKit for Python when the 2021.02.10 release is settled. Given there are still issues regarding that release, and that TGC seem in no rush to fix these issues, this may take a while.

I therefore have to come up with another solution for protecting assets , and being very new to Python, I was wondering if the following (in theory) would work. Would it be possible to load a memblock direct into memory using Pythons Zip file handling, and then copy that to a memblock created with the relevant AppGameKit command?

Any thoughts on this would be greatly appreciated. Thank you
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 24th Feb 2021 20:09
@Polaraul: When I said that I didn't think it would take them two weeks to make a command available for plugins. I even submitted the fix on github a week ago, but no change. That said, I'll use my fix in AppGameKit for Python so I can get it released ASAP.

I'm glad to hear that games are being made with the project. Thanks for choosing it.

As for your question: Yes, using zipfile.read into a memblock and then calling the create_image_from_png_memblock method (once I post the update) on that memblock should work. I have not tried it yet though.
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 25th Feb 2021 12:26
@Adambiser It is now at the point where I suspect TGC will not bother to address the missing commands until the next update, so probably another three or four months! Thank you though Adam for working on the required fix and your continued commitment to AppGameKit for Python. IMHO, it is leaps and bounds above Tier1 AGK. I will have a go at creating an image from a zip file memblock and use create_image_from_memblock (once the create_image_from_png_memblock is available, I will switch out the methods)

Once again, thank you for your help Adam.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 25th Feb 2021 16:01
@Polaraul: I think you're right about the time frame. The problem I was waiting on was that SetImageSubImages was missing from plugin-related code. While adding this, I discovered bugs in AppGameKit for Python related to using some functions via plugin. I have an idea on how to fix them, but I might release this update before implementing the fix because it could take awhile.
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 25th Feb 2021 18:56
Many thanks for all your help Adam, I look forward to the next release
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 6th Mar 2021 16:05
adambiser wrote: "I'm glad to hear that games are being made with the project. Thanks for choosing it. "


I have a small proof of concept project called Books of Splendid Magic created with AppGameKit for Python. Initially it started out as a way to learn Python, but I will probably expand it into a full game.

adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 6th Mar 2021 20:39
@Polaraul: Sounds great.
I'm testing the next update. I had to make some rather large changes so that the plugin calls go through the same code that the Python module uses, otherwise, the read file calls (LoadImage, etc) don't work in plugins. Once everything checks out, which it's looking good so far, I'll release the update.
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 7th Mar 2021 13:41
@adambiser Thank you for all the work you are putting into AppGameKit for Python, it is much appreciated. The additional memblock commands of version 2021.02.09 will prove very useful in future asset encryption.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 10th Mar 2021 03:10 Edited at: 12th Mar 2021 04:58
Version 2021.02.10 is up at itch.io!

Devlog

How to load from a zip:


I will likely add a create_memblock_from_bytes function in the future so that it can be done like this:
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 11th Mar 2021 14:36 Edited at: 11th Mar 2021 17:09
@adambiser

Many thanks for all your work on the latest release Adam, it is much appreciated. I like the idea of expanding AppGameKit for Python with library functions not present in Tier 1 AppGameKit, the create_memblock_from_bytes function would be a valuable addition. Using the latest release I am actually able to get asset protection up and running, something that has been asked for in Tier 1 time and time again.



I used WinRar to create the password protected zip, but one thing to keep in mind when creating the password, is that Legacy Zip must be checked.
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 11th Mar 2021 14:36 Edited at: 11th Mar 2021 14:38
Edited *** Double Post due to forum error ***
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 11th Mar 2021 16:22
@Polaraul: You're welcome. The memblock also needs to be deleted. I omitted that step in my example code, too.

The board seems to be back to not emailing me topic notifications again.
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 11th Mar 2021 17:06
Oops, I had forgotten that step too!

I have posted a link to Books of Splendid Magic over in the Work in Progress section.
adambiser
AGK Developer
5
Years of Service
User Offline
Joined: 16th Sep 2015
Location: US
Posted: 15th Mar 2021 22:40
Version 2021.02.10 rev 1 is up at itch.io!

Devlog

Added new commands to make it easier to use bytes objects to load and work with data.

Changes:
* Added: create_memblock_from_bytes
* Added: create_memblock_id_from_bytes
* Added: set_memblock_bytes
* Added: get_memblock_bytes
* Added: get_image_rgba_bytes
* Added: create_image_from_rgba_bytes
* Added: create_image_id_from_rgba_bytes
* Added: create_image_from_png_bytes
* Added: create_sound_from_raw_bytes
* Added: create_sound_id_from_raw_bytes
* Added: create_sound_from_ogg_bytes
* Added: create_sound_id_from_ogg_bytes
* Added: create_music_from_ogg_bytes
* Added: create_music_id_from_ogg_bytes
* Added: add_object_mesh_from_bytes
* Added: create_object_from_mesh_bytes
* Added: create_object_id_from_mesh_bytes
* Added: set_object_mesh_from_bytes
* Changed: get_image_width now returns int instead of float
* Changed: get_image_height now returns int instead of float
Polaraul
AGK Developer
6
Years of Service
User Offline
Joined: 13th Dec 2014
Location:
Posted: 16th Mar 2021 12:11 Edited at: 16th Mar 2021 12:45
@adambiser

Many, many thanks for the new commands Adam, these at last allow AppGameKit to have some kind of asset protection using password protected zips. Hopefully I am using these correctly and have posted a couple of examples below:

create_memblock_from_bytes


create_image_from_png_bytes

Login to post a reply

Server time is: 2021-05-10 06:29:56
Your offset time is: 2021-05-10 06:29:56