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 / Tier 1 or Tier 2?

Author
Message
KurtM
10
Years of Service
User Offline
Joined: 8th Jan 2014
Location: United States
Posted: 14th Mar 2014 03:56
Hi everyone, new guy here looking for some guidance.

My main question is; should I develop in Tier 1 or Tier 2 if I want to deploy to IOS & Android, possibly also windows and mac?

Before I go into what I am attempting to build, a little about myself

I have been in the programming (developing) field for a number of years with database and server side programming experience for the past several years. My current title is Sr. Systems Engineer, I know what I want to do isn't an easy starting project but I am not known for taking the easy option.

I have been looking at doing a multiplayer space empire game for the past several years. My first attempt was with Android directly being that it is free, but I found it a pain. I then went into IOS and with the addition of cocos2d it was a fun language and started building the server end in Java using Mina. I was still missing the ability to push to both IOS and Android.

Then I found AppGameKit, and I think it could be the solution for me. I have a base for the Server running in Tier 2 (networking, game objects using objects, with a MS SQL database). I am also working on the front end using Tier 1 but I am running into some growing pains.

From what I found so far.
Tier 1:
+Easier to deploy
+Lighter weight language to get started
-Not object oriented
-Arrays are immature (not dynamic, no functions such as length, delete, push, pop)

Tier 2:
+Object Oriented
+Well defined language, Arrays and other objects are more mature
-Doesn't deploy to IOS or not easily
-Hard to get to Android

I may have gotten a few things incorrect, please feel free to correct me.

Thanks,
Kurt
Digital Awakening
AGK Developer
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 14th Mar 2014 11:33 Edited at: 14th Mar 2014 11:33
I haven't used Tier 2 myself so I don't know how hard it is to deploy to all platforms. But if you now C++ I can't see any reason to go with Tier 1. One of the advantages of using Tier 2 is that you can add other libraries and extend the capabilities beyond that of AGK. Tier 1 I think is for those of us who doesn't know C++. There's also a Pascal option, sometimes referred to as Tier 3. But I have no experience with that either.

There are more advanced array features coming for Tier 1 in AGK2. But that's months away from now.

DavidAGK
AGK Developer
10
Years of Service
User Offline
Joined: 1st Jan 2014
Location:
Posted: 14th Mar 2014 11:50
My understanding is that arrays ARE dynamic in AppGameKit T1 - you just re-dim whether increasing or decreasing in size and it works. Could be wrong - more experienced players can be more definative.
JimHawkins
14
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 14th Mar 2014 12:25
Hi Kurt - If you're an experienced programmer you will find T1 very limited.

Android deployment in T2/3 is not difficult if you install everything (SDK/JDK/NDK/Eclipse) correctly. You will have much, much more power.

-- Jim - When is there going to be a release?
Lucas Tiridath
AGK Developer
15
Years of Service
User Offline
Joined: 28th Sep 2008
Location: Kings Langley, UK
Posted: 14th Mar 2014 12:27
I'd agree with Digital Awakening. If you're happy working in C++, then Tier 2 is a much more powerful solution. Tier 1 is fine for many projects but the compiler is still a bit ropey and the lack of OO can cause problems, particularly for projects of the scale you seem to be working on.

On your specific points, as David says, you can resize Tier 1 arrays, but as you say, there are no specific functions for doing so. You just have to redim and handle everything manually. Although I've not done it personally, Tier 2 can definitely deploy to iOS. I believe Gekko among others has published a lot of iOS games using Tier 2. As for Android, I was able to deploy my Tier 2 game to it without too much difficulty. Don't get me wrong, it's a pain to do, but it took me maybe a couple of days to get it running after about a year of development, so it wasn't a big overhead at all.

KurtM
10
Years of Service
User Offline
Joined: 8th Jan 2014
Location: United States
Posted: 14th Mar 2014 14:48
Thank you everyone for the feed back, looks like Tier 2 is the place for me.
The Zoq2
14
Years of Service
User Offline
Joined: 4th Nov 2009
Location: Linköping, Sweden
Posted: 14th Mar 2014 15:11
as others have said, T2 is better if you have experience with C++ or other object oriented languages. It's a bit faster, you can add other libraries to it if you feel the need (as long as you make sure they work on the platforms you want to target. T1 is easer to learn but lacks the OOP (obviously), last time I tried it the compiler had some pretty weird issues and the lack of a debugger is pretty annoying.

Quote: "-Doesn't deploy to IOS or not easily
-Hard to get to Android"


Both of those are incorrect I believe. T2 and T1 are about equally hard to deploy to android and T2 might even be easier (it was a long time since I used T1), the only thing that won't work is the one click deploy sollutions that are being developed by both TGC and the community since they don't recompile the C++ code.

I have no experience with iOS but I don't think deploying to it is that difficult.

Say ONE stupid thing and it ends up as a forum signature forever. - Neuro Fuzzy
Digital Awakening
AGK Developer
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 14th Mar 2014 15:58
Maybe I should add that my game Rush to Adventure is being developed in Tier 1.

Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 14th Mar 2014 17:08
I've built a fairly complex app in T1 and have found it overly limiting. Unfortunately, my command of C++ isn't that great so I may never switch over without help.
That said, this all depends on your requirements and what kind of app you're making. If it's a Flappy bird type game, go with T1 as you can have it done in a day. If it's something like Wordspionage, go with T2, you'll need the flexibility. Also T1 is great for fast prototyping.

bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 15th Mar 2014 00:01
T2, as you can use libs like fmod for music handling, until AppGameKit music commands get more complete.

Also if you go to a job interview, being able to say that you wrote a game in C++ looks more interesting than mentioning agk basic
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 15th Mar 2014 00:04
@The Zoq2 T2 Android already has a one button click & deploy option! Its the Compile option in Eclipse!
The Zoq2
14
Years of Service
User Offline
Joined: 4th Nov 2009
Location: Linköping, Sweden
Posted: 15th Mar 2014 00:35
Does that actually work, I tried setting it up a while back but I didn't manage to get all the imports working...

Say ONE stupid thing and it ends up as a forum signature forever. - Neuro Fuzzy
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 15th Mar 2014 02:46
Once you get set up, developing in iOS and Android is pretty easy.

I use exactly the same sets of code files (50+ .cpp and .h files) in all platforms.

There are some differences in the way things are done between Tier 1 and Tier 2 because of how the sync() call is handled. But, once you get started, it actually helps organize your app better (a state engine setup).

If you are comfortable with OOP and C++, then go with Tier 2.

Tier 1 can be used for quickly testing things using broadcasting.

But, you will need a Mac to create your own iOS Player (this is because of Android). The Android Player is available in the Play Store.

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 Mar 2014 10:27
Quote: " (this is because of Android)"


Shouldn't that say "this is because of apple"?

Say ONE stupid thing and it ends up as a forum signature forever. - Neuro Fuzzy
luschie
10
Years of Service
User Offline
Joined: 20th Dec 2013
Location:
Posted: 15th Mar 2014 11:50
Do you have any suggestions where to start with c++?
I have some experience with visual basic but not the oop stuff.
What books should I read or what IDE should I use?
Caps On!
12
Years of Service
User Offline
Joined: 3rd May 2011
Location:
Posted: 15th Mar 2014 17:34
I have been learning c++ over the past few weeks and have found it not much more difficult than basic. I just wish there was a forum specifically for tier 2 and a step by step guide that walks you through setting up tier 2 for android and iOS. Also more examples in c++.*

Truth, Justice, and the Programmer's Way!
Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 15th Mar 2014 18:02
I'm very much a learn-by-example person. It's why I bought Alistair's Hands On AppGameKit BASIC. I worked through it in less than a couple of weeks while working full time and got a strong handle on AppGameKit t1 quickly. He also writes C++ books, but not for AGK. I'm not sure of his level of understanding of AppGameKit t2, but I think he'd be able to write a great book on it.

At some point I'd like to convert Wordspionage over to tier 2 because that will give me more flexibility in calling java methods so that I can install other SDKs and add on features that AppGameKit is missing (IAP for Amazon , OpenUDID, getting Google Play receipt numbers, the list goes on). If I had some rudimentary examples of a game using AGK's libraries and a high-level overview of how to set things up then I'd be in business.

I think a forum dedicated to t2 would be awesome. I'll make that suggestion to the mods.

Caps On!
12
Years of Service
User Offline
Joined: 3rd May 2011
Location:
Posted: 15th Mar 2014 18:35
I just think that it would be easier if all the tier 2 stuff could be found in one place. Also, for those new to tier 2, a step by step on the setup and templates. I found things very confusing, JDK, NDK, eclipse.... Like Jim Hawkins wrote earlier....if they are installed " CORRECTLY ". ... Ok, how do we install them correctly? Up to date guide PLEASE someone... Anyone!

Truth, Justice, and the Programmer's Way!
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 15th Mar 2014 18:44
Quote: "Shouldn't that say "this is because of apple"?"

Oops, yes, you are right. It is an Apple thing.

Setting up the iOS and Android environments for Tier 2 is pretty much the same as for Tier 1. Except, you aren't putting a pre-built byte code file in the media directory. Instead, you add any extra code files to the project in iOS and the <androidproject>/jni/Android.mk file.

I had worked up a very nice 'lesson' on working in Tier 2. But it became too long for one page and I haven't had time to finish breaking it up (moving and starting a full time job don't help). I will try to get this set up somewhere so that people can use it.

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Cliff Mellangard 3DEGS
Developer
18
Years of Service
User Offline
Joined: 20th Feb 2006
Location: Sweden
Posted: 15th Mar 2014 19:07
Iam lazy! so I use tier 1

Android 2.3 , ZTE Skate , 480x800 , 800 mhz , Samsung Galaxy Y , 240x320 , 832 mhz , Sony ericson arc 480x854 , 1 ghz
Android 4.0 , Dmtech 3g 9738B , 1024x768 , 9.7 inches , 1.2 ghz
Caps On!
12
Years of Service
User Offline
Joined: 3rd May 2011
Location:
Posted: 15th Mar 2014 20:07
[quote] had worked up a very nice 'lesson' on working in Tier 2. But it became too long for one page and I haven't had time to finish breaking it up (moving and starting a full time job don't help). I will try to get this set up somewhere so that people can use it.

That would be greatly appreciated Ancient Lady... You may be our only hope!

Truth, Justice, and the Programmer's Way!
Lucas Tiridath
AGK Developer
15
Years of Service
User Offline
Joined: 28th Sep 2008
Location: Kings Langley, UK
Posted: 16th Mar 2014 14:04
@luschie
C++ is a big language, but there are lots of online C++ tutorials to get you started. Personally I'm more of a book learner and so I started by reading a couple of books on the language. If you work that way too, I can recommend Alistair Stewart's Hands on C++, and the C++ Primer. Between them, there are two main differences. Hands on C++ starts you off with the lowest level and simplest stuff, and builds up. The C++ Primer on the other hand starts with the highest level of abstraction and works down. Also the C++ Primer is more modern (although Hands on C++ is being updated I believe). Modernity is not always a good thing when it comes to C++ though as the more modern features may not be available on some of your target platforms such as Android/Blackberry.

As for the IDE, if your interest is in Tier 2, then you don't have a great deal of choice. For Windows, you'll need to use Visual Studio and the VC++ compiler. For Android you'll want to use Eclipse and for BB you'll need the Blackberry NDK IDE which is basically just Eclipse again. I guess it would be XCode for iOS and Mac OS X but I have no experience with those.

I'm interested that there is such a lot of interest in Tier 2 tutorials. I've got a fair bit of Tier 2 experience (although as I say, only with Windows, Android and BB) so I might be able to write some tutorials to help get you started. What kind of topics are you really interested in though? It is the setup and deployment that is troubling you, or the transition from BASIC to C++?

The Zoq2
14
Years of Service
User Offline
Joined: 4th Nov 2009
Location: Linköping, Sweden
Posted: 16th Mar 2014 14:41
Quote: "For Android you'll want to use Eclipse"


Android now has it's own version of eclipse which is called ADT and has the SDK already setp so you don't have to go thru that. Using that as a T2 editor isn't really a good idea though since you don't get any autofill features because eclipse isn't compiling the app

Say ONE stupid thing and it ends up as a forum signature forever. - Neuro Fuzzy
luschie
10
Years of Service
User Offline
Joined: 20th Dec 2013
Location:
Posted: 16th Mar 2014 15:45
Thanks a lot Lucas, that helps a lot!

To your question: It's more the switch from basic to c++ thats troubling me, escpecially the oop concepts.

I will start with yout recommended books first.
Lucas Tiridath
AGK Developer
15
Years of Service
User Offline
Joined: 28th Sep 2008
Location: Kings Langley, UK
Posted: 16th Mar 2014 15:58
Quote: "Android now has it's own version of eclipse which is called ADT"

I thought ADT was just the Android Eclipse plugin? I think you need this to export an APK file anyway, right? Do you mean that Google is now providing a download of Eclipse with the plugin already installed?

Quote: "Using that as a T2 editor isn't really a good idea"

Very true. Although Eclipse does have C++ syntax highlighting, you'll certainly feel the loss if you're used to developing in Visual Studio. Best to develop as much as possible in Visual Studio and then just make any Android specific edits in Eclipse.

The Zoq2
14
Years of Service
User Offline
Joined: 4th Nov 2009
Location: Linköping, Sweden
Posted: 16th Mar 2014 16:47
Looks like it's called ADT bundle and yes, it's eclipse with the SDK already installed. You still need to install the NDK and download the right android API though.

Say ONE stupid thing and it ends up as a forum signature forever. - Neuro Fuzzy
Lucas Tiridath
AGK Developer
15
Years of Service
User Offline
Joined: 28th Sep 2008
Location: Kings Langley, UK
Posted: 16th Mar 2014 17:09
Oh cool, I hadn't seen that they'd done that. That should make things a little easier to set up .

Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 16th Mar 2014 17:49
It is a little better. You still need to install the c++ package (I think) and the APIs you need, and NDK and JDK. It might have ADB packaged in the install which is helpful.

For me, I have a basic understanding of c++ and worked through some books a few years ago. So a refresher would be great, but so many books spend a lot of time on explaining basoic programming concepts I feel they are a waste of money for me. What I'd love to see is a basic AppGameKit game that uses as many features as possible and then is converted to tier 2. I learn best by example. Also it seems whatever Dev kit I want to use I would be best served at using c++ even though android and ndk are not perfect. It seems like the most popular way to go when designing cross platform.

JimHawkins
14
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 16th Mar 2014 19:04
ADT has always been part of the Android setup. It stands for Android Debugger Terminal. It communicates with connected devices and emulators.

Eclipse is not needed and never has been - it's a just a manager which actually uses adt.

-- Jim - When is there going to be a release?
Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 16th Mar 2014 19:13
ADT is android development tools and is a plugin to extend Eclipse

ADB is android debug bridge which allows you to communicate with the os and is standalone

Yay acronyms!

Digital Awakening
AGK Developer
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Sweden
Posted: 16th Mar 2014 21:24 Edited at: 16th Mar 2014 21:27
Quote: "Yay acronyms!"

Actually they are not, they are initialisms Sorry, couldn't help myself

Warning, some bad language:
https://www.youtube.com/watch?v=y_HscBWJhNQ

Caps On!
12
Years of Service
User Offline
Joined: 3rd May 2011
Location:
Posted: 16th Mar 2014 23:00
This is why we need a step by step tutorial on setting up and getting started with tier 2. Bundles, plugins, eclipse is needed, no its not needed..... ???

Truth, Justice, and the Programmer's Way!
Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 16th Mar 2014 23:04
@DA - I prefer to pronounce them adding to the confusion

Definitely need a tier 2 guide!

Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 16th Mar 2014 23:56
Eclipse is used for creating and signing the APK that Google requires for Android submissions.

If you are in Tier 1, then you can use the on-line APK builder.

But you cannot use it for Tier 2.

The original 'how to' pages for setting up an Android environment, in the AGK online documentation, are not too bad for a start for the Android setup. You go with the Tier 1 Android guide to get the environment set up (ignore stuff about byte code files and modifying the Player). Then you use the Tier 2 one for other bits. Other people have also posted their versions of setting stuff up (look in the individual forums for the platforms).

The ones for iOS are not very good and extremely out of date for the current version of Xcode that Apple requires. I did a guide for Xcode 4, which seems to still sort of work. But Apple changed the interface a lot between Xcode 4 and Xcode 5. The key for iOS is that you need a Mac and you need to sign up with Apple for a developer's license (required if you want to publish for iOS).

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
JimHawkins
14
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 17th Mar 2014 00:12
Using Cygwin and Eclipse is just one approach. You can do the entire operation using just ant and then adt for deployment.

-- Jim - When is there going to be a release?
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 17th Mar 2014 01:28
Quote: "You can do the entire operation using just ant and then adt for deployment."

Also true. Are there any good instructions on how to do this?

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: 17th Mar 2014 09:03
I would also love to see some instructions of using that instead. I saw some guide a while back on using eclipse to compile with the NDK which would supposedly give acess to a debugger but I never managed to get all the includes working for it

Say ONE stupid thing and it ends up as a forum signature forever. - Neuro Fuzzy
joachim
12
Years of Service
User Offline
Joined: 21st Feb 2012
Location: Vancouver Canada
Posted: 17th Mar 2014 15:06
A Tier 2 forum is a very good idea !

And the switch from Tier 1 to Tier 2 doe's not have
to be that hard if you just use C.
Meaning, not Object Oriented but with all the speed you need.
KurtM
10
Years of Service
User Offline
Joined: 8th Jan 2014
Location: United States
Posted: 17th Mar 2014 15:30
I hope we get a Tier 2 forum, would help a lot with trying to find solutions.

Personally the hardest part with C++ isn't objects but pointers.
JimHawkins
14
Years of Service
User Offline
Joined: 26th Jul 2009
Location: Hull - UK
Posted: 17th Mar 2014 23:14
@joachim - If you don't use the OOP power available you might as well use T1.

@KurtM - I doubt if explicitly using pointers in AppGameKit is a good idea!

-- Jim - When is there going to be a release?
Ancient Lady
Valued Member
20
Years of Service
User Offline
Joined: 17th Mar 2004
Location: Anchorage, Alaska, USA
Posted: 18th Mar 2014 03:19
The biggest issue about converting from Tier 1 to Tier 2 is dealing with the issues associated with the difference in how the Sync() command works. This thread explains the issue a bit.

I posted a sample of a state machine that lets you deal with the issue in this thread.

I started trying to get the full fledged example done (and it will eventually appear in the help pages).

Cheers,
Ancient Lady
AGK Community Tester and AppGameKit Master
Chmava
10
Years of Service
User Offline
Joined: 20th Jun 2013
Location:
Posted: 17th May 2014 21:00
as far as tier 1 go,
B4A compiler straight to .apk in the same IDE.
You still need to install Android SDK & such.
not that it matter with AppGameKit online .apk maker.

a Tier 2 forum or Code Database like the one for Tier 1, is indeed a good idea.
Hodgey
14
Years of Service
User Offline
Joined: 10th Oct 2009
Location: Australia
Posted: 18th May 2014 08:16
Quote: " I doubt if explicitly using pointers in AppGameKit is a good idea!"

@Jim: why not? There are even specific AppGameKit functions to get certain pointers e.g agk::GetSpritePtr(). I used sprite pointers all the time back when I programmed in T2. Worked like a charm.
george++
AGK Tool Maker
16
Years of Service
User Offline
Joined: 13th May 2007
Location: Thessaloniki, Hellas
Posted: 18th May 2014 10:00
Quote: "Android deployment in T2/3 is not difficult if you install everything (SDK/JDK/NDK/Eclipse) correctly. You will have much, much more power"

I use Visual C++ 2010 Express. All the tools above are needed only for publishing on the Android platform or I have to use these for the development also?

Quote: "On your specific points, as David says, you can resize Tier 1 arrays"

I am not sure if this a good practice because I don't know if it leads to memory leaks. The AppGameKit documentation says nothing about this. Is there any official responce on this?
Naphier
13
Years of Service
User Offline
Joined: 2nd Oct 2010
Location: St Petersburg, Florida
Posted: 18th May 2014 10:11
Android Dev kit stuff is only needed for deploying to Android.

If there are memory leaks from resizing arrays then it is news to me. I use a ton of arrays that get resized in Wordspionage and if I watch the memory usage it is quite stable. If there is a leak I think that proof should be sent to AppGameKit immediately so they can work on it.

george++
AGK Tool Maker
16
Years of Service
User Offline
Joined: 13th May 2007
Location: Thessaloniki, Hellas
Posted: 18th May 2014 14:28
Quote: "Android Dev kit stuff is only needed for deploying to Android."

My question still exist: Can I use Visual C++ 2010 Express for development?
I don't know the way of exploring possible memory leaks when using T1.
Matty H
15
Years of Service
User Offline
Joined: 7th Oct 2008
Location: England
Posted: 18th May 2014 17:26
Quote: "My question still exist: Can I use Visual C++ 2010 Express for development?"


Yes, that's what I use.

Login to post a reply

Server time is: 2024-04-28 16:44:52
Your offset time is: 2024-04-28 16:44:52