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 / AGK V2 - development commences!

Author
Message
RickV
TGC Development Director
24
Years of Service
User Offline
Joined: 27th Apr 2000
Location: United Kingdom
Posted: 10th Jul 2013 23:26
Hi,

Mark the date!

Today work on AppGameKit has kicked off. We can't wait to bring you the first Beta version in October!

Rick

Financial Director
TGC Team
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 10th Jul 2013 23:34
WooHoo!

Are you still going to work on v10815 bugs?

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
JimHawkins
14
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 10th Jul 2013 23:45
Rick - Can we have a release before ANY new work starts, please?

-- Jim DO IT FASTER, EASIER AND BETTER WITH AppGameKit FOR PASCAL
RickV
TGC Development Director
24
Years of Service
User Offline
Joined: 27th Apr 2000
Location: United Kingdom
Posted: 10th Jul 2013 23:47
Yes, bugs will still be fixed in 1.08. A final release is waiting on Lee's return from vacation. We have an issue with the IDE and only he holds the key to it!

Rick

Financial Director
TGC Team
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 10th Jul 2013 23:51
There are also some issues with EditBox (at least in Tier 2 iOS and Android) which I have to create a simple test to show and then I'll post it.

There is also a posted and confirmed bug about GetRawKeyPressed and GetRawKeyReleased not working in (Tier 2 at least) on Mac.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Satchmo
18
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 11th Jul 2013 00:16
@RickV

Lee said he would not be distracted by anything from FPSC:R!

Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 11th Jul 2013 03:45
Lots of open bugs. I'm excited at the prospect of them getting fixed.

SoftMotion3D
AGK Developer
18
Years of Service
User Offline
Joined: 24th Aug 2005
Location: Calgary,Alberta
Posted: 11th Jul 2013 03:49
Quote: "v10815 bugs?"
haha.... im still using 1065.

I say bring on the animated 3d

when this v2 comes out I will finally update 1065 to 2

RickV
TGC Development Director
24
Years of Service
User Offline
Joined: 27th Apr 2000
Location: United Kingdom
Posted: 11th Jul 2013 10:32
@Ancient Lady - Paul will sort these if they are definite bugs.

@Satchmo - we just need some quick help from Lee on this issue.

Bugs in things like the IDE / Compiler will be dealt with when we work on those sections for V2.

Roll on the new shader commands for 2D I say!

Rick

Financial Director
TGC Team
basjak
14
Years of Service
User Offline
Joined: 16th Apr 2010
Location: feel like signing up for mars
Posted: 11th Jul 2013 11:02
Quote: "Roll on the new shader commands for 2D"


I say yes.

unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 11th Jul 2013 21:10
For V2, is there any chance of the "compiler" being released for Mac as well? I don't even care (much) if the IDE is ported, but having a Mac compiler would be sweeeet.

I haven't heard this mentioned anywhere, but here's to hope!
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 11th Jul 2013 21:48
unlikely, it is highly unlikely that TGC will create a pure Mac version of the IDE.

Several people have used Wine and other tools to get the AppGameKit IDE working on a Mac.

But, if you have both a Mac and a PC on the same network, why bother? It is so easy to copy the byte code file and media across from the PC to the Mac.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 11th Jul 2013 23:18 Edited at: 11th Jul 2013 23:37
Lady,

Quote: "unlikely, it is highly unlikely that TGC will create a pure Mac version of the IDE."

Interesting start to the sentence. I'm not looking for a Mac version of the IDE. That would be easy enough for a member of the community to create. I am looking for a Mac version of the bytecode compiler to enable native Mac (Tier 1) development. I'm not sure how easy that would be as I don't know the internals, but I would uneducatedly guess that it is reasonably cross-platform (as far as OS is concerned)...

Quote: "Several people have used Wine and other tools to get the AppGameKit IDE working on a Mac."

I am currently using Wine. It works, usually, but it is still quite inconvenient and/or unwieldy compared to a native solution.

Quote: "But, if you have both a Mac and a PC on the same network, why bother? It is so easy to copy the byte code file and media across from the PC to the Mac."

I am assuming you are referring to the "player." Yes, that is easy if you have a Mac and a Windows machine that you use for development.

On the contrary, if you use a Mac for development and have sporadic access to a PC, the issue becomes clouded. Still easy as far as the "straightforwardness" part of the term goes. Not as far as the efficiency of the task goes.

If I were developing on a Windows machine, I would have no problem. The difficulty of the task is practically negligible for periodic testing of your bytecode on Mac. For primarily Mac-based development, however, this becomes tedious.

Concisely, there are some issues with emulation solutions, and if a native version is easy, why not move toward a multi-platform creation tool, and not simply cross-platform output capable one (which is great in itself, by the way)?

All that to say, I am simply wondering if the compiler would be able to be ported with ease, or if it is a more arduous task...
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 11th Jul 2013 23:33
Happy Days! although each stretch goal will take their time to arrive, and 3D is errr low? high? far? on the list I would very much like to see Bullet Physics reached too!

DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 12th Jul 2013 00:54
I look forward to see what is done I really hope you meet all your stretch goals, and more besides!

basjak
14
Years of Service
User Offline
Joined: 16th Apr 2010
Location: feel like signing up for mars
Posted: 12th Jul 2013 01:21
@Rick:
can you please give us a stable release before you start the beta development.

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 12th Jul 2013 01:39
Quote: "I am looking for a Mac version of the bytecode compiler to enable native Mac (Tier 1) development."

I totally understood that to be what you meant. I just equate the byte code compiler with the IDE.

The Tier 1 code can be written in any environment. It is the compiler that needs to be ported. And that is what I think is not likely to happen at this point. But I could be wrong. But there has been no mention of it anywhere by anyone at TGC.

Quote: "I am assuming you are referring to the "player.""

Not at all.

I have full development environments on a PC (actually two of them), a Mac Mini and a Linux based machine (not really in play in this area, just part of my setup). They are just three of the many computers on our network at home. And they can all see each other via appropriate file manager/finder programs. So copying the compiled byte code and media over for building under Xcode is not an issue.

I currently work in Tier 2 for my own stuff and I just copy any edited code and media between the computers, and between the Windows and Android setups on my PC. Once each project is set up, it's just a matter of doing the build. I use exactly the same code for all platforms.

Quote: "if a native version is easy, why not move toward a multi-platform creation tool"

I do believe that this is the part that isn't necessarily easy. But I could be wrong. I just haven't heard any TGC people making noises about it.

In the meantime, Wine is apparently going to be your best friend if you are going to work primarily on a Mac.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 12th Jul 2013 02:13 Edited at: 12th Jul 2013 02:16
Quote: "In the meantime, Wine is apparently going to be your best friend if you are going to work primarily on a Mac."


I agree, and thanks for your insight!

My concern is that I cannot successfully run (i.e. without major graphical glitches and/or other errors), for example, Digital Awakening's Rush to Adventure or baxslash's Kingdom in Wine. That leaves me uneasy about the feasibility of developing a serious project via Wine in Tier 1 (the effort required for regular testing of code may become untenable if the above is always the case).

If a compiler is not created for Mac, I may just switch to Tier 2. (I'm reasonably comfortable in C++, I just would prefer to try Tier 1).

Again, thanks for your comments Lady!
Hodgey
14
Years of Service
User Offline
Joined: 10th Oct 2009
Location: Australia
Posted: 12th Jul 2013 03:48
Good to hear Rick! I look forward to October!

Quote: "If a compiler is not created for Mac, I may just switch to Tier 2. (I'm reasonably comfortable in C++, I just would prefer to try Tier 1)."

Personally, I prefer Tier 2 to Tier 1. I find C++ much more flexible. If you know C++, I highly recommend Tier 2. There is more work in setting up projects but I think it's definitely worth it.

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 12th Jul 2013 05:35 Edited at: 12th Jul 2013 05:40
unlikely, running other people's games in Wine because they don't have a Mac package built is another issue altogether.

Unless they are providing their original Tier 1 projects so that others can build and run them yourself. (I'd have to go through the threads again to see if they are, but I doubt it.)

It is not an issue with the TGC AppGameKit product itself if you want to run something built with it on a platform that you don't have.

If you, yourself, build a Tier 1 project in Wine, then you have the byte code file and all your media. Then you create an Xcode project based on the interpreter_mac on your Mac and build a Mac version for testing. As long as the AppGameKit IDE in Wine produces the correct byte code file, then you have no problem. If it doesn't, then you bring that issue up and maybe someone at TGC will have an idea.

Quote: "If a compiler is not created for Mac, I may just switch to Tier 2. (I'm reasonably comfortable in C++, I just would prefer to try Tier 1)."

And this is your solution. If you are comfortable in C++, starting from the template_mac or template_ios Xcode projects works just fine. I did an iOS Tier 1 instruction set as well. In both of them, the basic instructions for copying the interpreter_<x> directory and renaming things works the same as for starting with the template_<x> directories. You just then skip the stuff about editing the interpreter.cpp or interpreter.h files (since they don't relate to Tier 2) and go straight to creating all your own files to add to the project with all the app stuff that gets run from the core template.cpp file. (My Tier 2 WIP has over 40 .h/.cpp files, not including the core AppGameKit ones, and I use the exact same set in all platforms.)

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 12th Jul 2013 06:04 Edited at: 12th Jul 2013 06:10
Quote: "unlikely, running other people's games in Wine because they don't have a Mac package built is another issue altogether."


I disagree here. The process of developing in Tier 1 via Wine will nearly necessitate the additional use of the Windows interpreter (not only compiler), which, if I am not mistaken, is the same interpreter that they will be using in their Tier 1 projects (even on release.) In fact, the "release" is essentially the bytecode, media, and interpreter as a package. A Tier 2 project, on the other hand, would be a different animal.

Quote: "If you, yourself, build a Tier 1 project in Wine, then you have the byte code file and all your media. Then you create an Xcode project based on the interpreter_mac on your Mac and build a Mac version for testing."


Yes, this will almost certainly work without a hitch.

However... it is simply not feasible to copy compiled bytecode over to the "Mac side" and create a Mac interpreter (or reuse the same one) every time I need to check code. This is fairly unproductive as extra effort will need to be exerted on every run due to the current toolchain.

Quote: "If you are comfortable in C++, starting from the template_mac or template_ios Xcode projects works just fine."


Yes, this seems to be the solution, as I originally suspected. I was simply under the impression, possibly the fault of unfettered hopes , that the compiler *might* be able to be ported "easily" (allowing a Mac IDE + toolchain to be developed, possibly by the community). I realize that this is a long shot and there has been no indication from TGC whatsoever to that effect (that I have seen).

Thanks for your ideas, regardless! And thanks to you Hodgey, for your suggestion.
unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 12th Jul 2013 06:15 Edited at: 12th Jul 2013 06:21
I just realized that it could also be possible to open the Mac "player," broadcast from the IDE, and test the bytecode nearly automatically over the Wine-OS X boundary, as one would when testing Tier 1 on Android.


EDIT: I've confirmed that this works and is fairly painless. I'm not sure how easy this will be for a large project (does the transfer to the player take a good while for larger projects?) Since I am not so concerned about performance when regular code checking, this may be a solution and does alleviate my concerns about testing on the Windows interpreter via Wine.
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 12th Jul 2013 17:00
When the AppGameKit IDE 'builds' an app, it copies a pre-built interpreter exe file and renames it. And it also creates the byte code file.

The byte code file is the same for all platforms. Period, no ifs ands or buts about it.

Each platform has its own method of creating the executable that interprets the byte code file. On non-Windows platforms, they all look for a file in the media directory named bytecode.byc. On Windows, it creates a byte code file named <yourapp>.byc and that is what that executable looks for.

If you set up Xcode projects based on the Mac and iOS interpreter projects, you would only have to drop the byte code file and your media into the media directory (the 'media' directory is required in Tier 1) and the projects could build the appropriate executable for the platform. The same applies for Android. And, in theory, you could set up the Android environment on your Mac and generate the apk files there.

You only have to create the Xcode projects once for each new app, the same as a new AppGameKit project. Then you just run it again and it will create the package with the new media and byte code file and run.

As you have discovered you can also use the Mac Player (once you build it). Larger projects do take longer to start up because the byte code file, and possibly media, do take longer to transmit. This is a case where it is actually faster to manually copy any changes to your Xcode project media directory and rerun the Xcode project.

You can decide for yourself at what point the time to load to the Player is too much.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 12th Jul 2013 19:06 Edited at: 12th Jul 2013 19:10
Thanks Lady. I feel like I have a good handle on the process. I know how to develop Tier 1 on a Mac. That's not the issue at the moment.

I had two concerns: 1) When using the IDE via Wine, the quickest method of testing would be to let the IDE make the Windows version and run it (via Wine.) This would be the same as running a Tier 1 Windows "release" from someone else. That was the root of my concern with Wine. I cannot run complex Tier 1 apps via Wine as they are plagued with issues. I might run into this if I were to test the "easy way" while developing.

2) For regular testing, such as after tweaking the position of an entity or some other small change, with the current toolchain, that would involve me "building" through the IDE, finding the bytecode/media, copying them over to the interpreter project, running XCode, and testing the app. This could get extremely tedious. It would be nice if I could tell the IDE to place the bytecode in the XCode project immediately, as this would save some trouble, but alas I can't. I may be able to make some sort of batch script that will copy and XCode build for me... possibly.

Both issues can be alleviated, at least temporarily, by using the broadcast ability of the IDE and the Mac player. However, as you have pointed out, this could get unwieldy for a larger project.

Again, my point is not that it's not possible to develop Tier 1 on a Mac. Or even that it's not straightforward. My point is that there is no non-tedious way of doing it (that I have found.)

Anyway, thanks again.
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 12th Jul 2013 19:18
Just remember: Computers are our friends

(Back in another life working with engineers, that statement was often followed by "Do you want fries with that?", implying that our 'friends' were likely to do us out of a job.)

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 13th Jul 2013 00:22
And Paul is quietly handling the posted and confirmed bugs in the google list.

Thank you Paul.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
haliop
User Banned
Posted: 14th Jul 2013 03:18
unlikely...
i use wine also
and i had no problems so far
also i hardly use the Run command and always broadcast directly to my mobile... so it dosent interfer if its a complex proj or just a small test

unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 15th Jul 2013 06:32 Edited at: 15th Jul 2013 06:32
Haliop,

Good to know you are finding success with Wine. I have begun messing around with the Tier 2 library and am liking it enough that I will probably stay with it for now.

Go TGC go!
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 15th Jul 2013 16:29
unlikely, if you are comfortable with C++, Tier 2 is the way to go.

The essential power of AppGameKit is easier to exploit in Tier 2 because of all the things you can do in it that you cannot in Tier 1.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
The Zoq2
14
Years of Service
User Offline
Joined: 4th Nov 2009
Location: Linköping, Sweden
Posted: 15th Jul 2013 20:26
Quote: "unlikely, if you are comfortable with C++, Tier 2 is the way to go."


Personaly, learning c++ by using T2 with experience with T1 has been a pretty good way for me. I have been at it for half a year and I feel pretty comfortable with c++ now
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 15th Jul 2013 21:01
And proper classes and std::vector, std::list, std::string are all great benefits to using Tier 2. Plus, you can add just about any library you want that is compatible (but not for doing display stuff).

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 15th Jul 2013 22:43 Edited at: 15th Jul 2013 22:43
Tier 2 definitely seems to be the way to go for me. I am currently deciding whether to try to work out the underlying classes they have included the interfaces to, or just go ahead and use the wrapper. I'm leaning towards hacking around with the (mostly undocumented) classes. What harm could it do?
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 15th Jul 2013 23:10
I suspect, at least in the beginning, just use the interface to AppGameKit as it is presented in the help pages.

Once you get things working well, then you can try playing with the underlying classes. But that can lead to problems, so be very very careful. (I haven't tried it yet or found a need to try it.)

But, as always, programming any given thing is up to the programmer (unless dictated to by a customer or boss).

The worst you can do is hang your devices or computer. I don't think you could get to zero memory. I did that once when writing my first DMA assembly language interface. I knew I was close when the screen went nuts and all these multi-colored, multi-background letters just starting flying all over the display. Better than the Matrix screen and about 20 years before the movie. Unfortunately, having successfully written directly to memory zero on the AT (yes, an IBM AT), I had to figure out how to get it boot and run again (having wiped out lots of BIOS information).

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
unlikely
12
Years of Service
User Offline
Joined: 5th Mar 2012
Location: Ohio, USA
Posted: 15th Jul 2013 23:17 Edited at: 15th Jul 2013 23:19
Quote: "I knew I was close when the screen went nuts and all these multi-colored, multi-background letters just starting flying all over the display. Better than the Matrix screen and about 20 years before the movie. Unfortunately, having successfully written directly to memory zero on the AT (yes, an IBM AT), I had to figure out how to get it boot and run again (having wiped out lots of BIOS information)."

Haha, awesome. Yeah, I have done some... interesting... things before as well, but not quite that interesting. I'm sure I won't be able to do anything truly bad messing with the classes, but seeing as they are mostly undocumented, it might be a bit of headache. Might not be a bad idea to just try to stick to the wrapper's "procedural" paradigm TGC have nicely provided... We'll see.

However... I have seen a few features available from the classes that aren't wrapped.
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 15th Jul 2013 23:22 Edited at: 15th Jul 2013 23:22
You can create your own classes based on AppGameKit objects to your hearts content.

Paul and I are currently in the final editing stages of a large example program that shows lots of good things with Tier 2. The main goal is showing a simple state machine that lets you deal with the difference between how Sync() behaves in Tier 2 and Tier 1. And it is significant.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Digital Awakening
AGK Developer
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 16th Jul 2013 12:05
Just pointing it out. You don't need T2 to make a state machine. I already have RTA set up that way. With a single sync() at the end of each loop.

But, since I have very limited experience with C++, I don't know the full benefits of it. Or the benefits of classes. I have been around since DB classic so I am used to that kind of thinking.

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 16th Jul 2013 16:52
Quote: "You don't need T2 to make a state machine."

Absolutely correct.

My point is that you need a state machine (or something like it) to deal with a particular issue in how Sync() and the main 'do' loop are handled in Tier 2.

Here is an excerpt from the demo being worked on:

Why is a state machine needed?
The reason a state machine is needed in Tier 2 is because of how user and device inputs are handled.

In Tier 1 any call to Sync() will update the display, physics, user inputs (pointer, keyboard, touches, etc.) and device inputs (accelerometer, camera, HTTP interactions, etc.).

In Tier 2 a call to agk::Sync() does NOT update the user and device inputs. The user and device inputs are updated at the end (or beginning?) of each app::Loop() method execution. The app::Loop() method takes the place of the main 'do...loop' in Tier 1.

In Tier 1 you can do something like this and easily get to the statement after 'endwhile' by touching the app:


But in Tier 2, the equivalent loop will be totally hung (note how relatively easy it is to convert Tier 1 to Tier 2):


So, if you are doing anything that requires input from the user or the device, it must be handled differently than you would in Tier 1.

While it is a bit annoying to have to go the extra steps, it actually allows a lot more control. It also lets you think more about discrete processes (states) and a little less about top to bottom coding.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master

Login to post a reply

Server time is: 2024-05-03 21:44:44
Your offset time is: 2024-05-03 21:44:44