Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - spacefractal

#62
Admob is being to been very annoying and only have various issues with it in the past months, which have effected many of my games with various startup crash. Mostly due Admob is unstable like hell (as least for me) and too easy do mistakes with it and uses wooping 5mb size.

So im will no longer support admob, so any issues that is due admob, im will not touch anything about that anymore. Howover im will not remove any code in Android Extras at all, nor plans to do that, im will just not attempt fix any more issues with it.

Admob another BIG fail is also, admob do not have any Android TV support, so you cannot get features on thier Google Play, which is just crap.

So now im looking for a better service than admob, which also include Android TV support.

This is the reason im have pulled off Greedy Mouse and Karma Miwa out from Google Play, because they have nearly never worked in the past month and is so hard to blind fix those admob issues constactly. Now im need to do other model, and you can not switch back to a paid software for some stupid reason.

Spot Race was also pulled too, but its soon back again, now 100% free (as well the iOS version). Later im look and see im can implement Skiils service, which could been fun to do that, which would work wonderfull for that game. CatchOut did newer used admob, so that game is not effected with it, so that game stay in Google Play of course.

Both Greedy Mouse and Karma Miwa is still on Amazon Appstore and is now the main store for paid games, until im have found a another model im can use.

#63
Download link for GameInput API:
https://www.dropbox.com/s/1o0frsdrqzhjz57/EXTRAS.zip?dl=0

GameInput API is a replacement for Android.GameController$() code, except its runs on more platform than just Android. Here its also supports iOS, tvOS, Pandora and Windows as well.

1. A basic uses for GameInput code could been something like this:

Code (glbasic) Select

LOCAL Left, Right, Up, Down

GameInput.update()
GameInput.SetPresaure(0) // Analog Presaure is supported on iOS only, include all buttons on that platform.

FOR i=1 to 2
Left=GameInput.LeftStick_Left(i)+GameInput.Left(i); IF Left>1 THEN Left=1
Right=GameInput.LeftStick_Right(i)+GameInput.Right(i); IF Right>1 THEN Right=1
Up=GameInput.LeftStick_Up(i)+GameInput.Up(i); IF Up>1 THEN Up=1
Down=GameInput.LeftStick_Down(i)+GameInput.Down(i); IF Down>1 THEN Down=1


A=GameInput.ActionButton("A", i)
B=GameInput.ActionButton("B", i)
Y=GameInput.ActionButton("Y", i)
X=GameInput.ActionButton("X", i)
NEXT

SHOWSCREEN


You can also checking other forms for buttons, like these:

1. GameInput.CenterButton() for checking the Center button on Android TV remote.
2. GameInput.Back() for checking the BACK button on the controller.
3. GameInput.isProfileChanged() can been checked, if something have been changed to the controller (required on iOS).

On Android, you can also uses PLATFORMINFO$("DEVICE") as well. Here its auto change to "KEYBOARD" or "TOUCHSCREEN", what the user have changed last time.

4. GameInput.GetButtonName$() can been used to check the name of the button, which might differ from platform to platform. Example, you can checkout a GameInput.GetButtonName$("A"), the main select button.

5. A Platform can also been checked, by using GameInput.GetDeviceName$(). This is mostly used with Android.

6. If you want do your own mapping on Android, you can also uses Android.Scancode() or KEY() commands. KEY() cannot send a float, but Android.Scancode() does. Im mapped to those command, and not JOY, simply because mapping on those GameControllers does NOT suit those commands at all, because they can been quite very different, unlike on Windows. On Android those is treated more as a keyboard.

7. GameInput also supports Remapping, which is required to been do that on Android, if you will use RIGHT STICK or ANALOGE TRIGGERS. None of those buttons follow a standard at all. Im will explain that in a a later post.

8. Open up GameControllers.gbas. Most functions is explained how to use them. helper functions should been used internal.

#66
Im remember this thread got trashed after the eailer forum crash, which was a excellent debat and linked some good games (Erico etc linked to a C64 game with a insane good 8-way smooth scrolling, but cant remember that game, dooh, its was a preview).

Im thinks the debate was started with this Amstrad R-Type game:
http://cpc.rtype.fr/Game_Features.html

Im also thinks Spectrum Castlevania Interlude got a word:
http://spectralinterlude.com/

On C64, the newer Prince of Persia port is pure excellent ported:
http://popc64.blogspot.dk/2011/10/prince-of-persia-for-commodore-64128.html

About the computer wars, which im known its allways end with (oops). Im personly was a pure C64 fan, mostly due the great sound its did have, and there exists good and bad games to all systems.

Even im newer liked Spectrum that much (even there is some very great games to this format), im did ported the Spectrum game, Manic Miner to Nintendo DS (named Manic Miner - The Lost Levels) to Nintendo DS. Im did the music part (about 60min music). That game was really fun to do the music and still love that game today:
http://headsoft.com.au/index.php?category=mmll


#67
When enabling DEBUG does not work at all when using TYPE and objects. Try to compile Android Extras as a example, which its also dont like. When debug is disabled, then its work pretty fine.

Im have to write, DEBUG command will newer work on iOS and on property newer compilers, due the name is allready used. Im recommends to uses STDOUT instead.

Code (glbasic) Select


_______________________________________
*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.10.037 SN:73686179 - 3D, NET
Wordcount:1408 commands
compiling:
In file included from D:\glbasic\glbasic\gpc_tempg.cpp:2:
D:\glbasic\glbasic\gpc_temp.h: In member function `virtual void __GLBASIC__::GameInputs::dbg() const':
D:\glbasic\glbasic\gpc_temp.h:309: error: ambiguous overload for 'operator+' in 'DGStr(((const char*)"NAMES_Str:")) + ((const __GLBASIC__::GameInputs*)this)->__GLBASIC__::GameInputs::NAMES_Str'
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note: candidates are: __GLBASIC__::DGStr __GLBASIC__::operator+(int, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(int64, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(float, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(double, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, int) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, int64) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, float) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, double) <near match>
D:\glbasic\glbasic\gpc_temp.h:310: error: ambiguous overload for 'operator+' in 'DGStr(((const char*)"code_Str:")) + ((const __GLBASIC__::GameInputs*)this)->__GLBASIC__::GameInputs::code_Str'
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note: candidates are: __GLBASIC__::DGStr __GLBASIC__::operator+(int, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(int64, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(float, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(double, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, const __GLBASIC__::DGStr&) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, int) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, int64) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, float) <near match>
D:/Programmer/GLBasic_v14/Compiler/platform/Include/glb.h:278: note:                 __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, double) <near match>
....... (shorted)
#68
Android L dropping 4096 textures. what a hell, Google? I'm got a email about that today.

That mean I'm need to remove 1080p+ supports for both Greedy Mouse and Karma Mima (backgrounds mostly).

I'm a ll add option for max surface when Lollipop M is detected.
#69
is im remember and sooner and later should look into this one, virtual screen does not working currectly.

This thread is just a reminder, since this issue might have been gone due forum crash.

For me this should been the most important bug for those platforms to get fixed.

PS. Im have no plans to remove Pandora support at all. So dont worry.

Currectly only OS-X_Uni, WebOS and Palm-Pixi would been removed, eventuelly moved as a seperate download. There is other minor platforms, but thier compiler is does not clutter very much at all.
#70
Razer seen have to purchased Ouya. Im hope the shop will come to Its own Force TV micro console:
http://www.eurogamer.net/articles/2015-07-27-razer-acquires-ouyas-software-assets

Im will contact them how the dev thing works. Howover the controller its self is all required to get the name of it and remap the 6 problem inputs, the right stick and both analoge triggers). All remap thing can been done directly in glbasic source code in GameInput API. The code who is wrote in Glbasic its self (which also supports iOS, Pandora and Windows).

This was one the main reasons why im dropped the early Android.GameController() and moved it to GameInput API. Remapping is much easier for me to do, and its even possible to costume remap it and save its settings (which means future micro consoles can works directly).
#71
Im are planning and coded a just a playable protope of a new game. This time im are doing a little another little "remake" of a old Amiga PD game, named: Elevation.

https://www.youtube.com/watch?v=-m1MdypH3Pw

Of course the game mightbeen somewhere crap, but somewhere im liked this game when im was a kid for many years ago and its was also a nice Amos game (Mouse Runner, Greedy Mouse was based on is also a Amos game too of my own, which again was inspirated from the  game, Xor).

Here is what its currectly look like (yes im got killed few times to show it):


Im of course expand it like im did with Karma Miwa on that take on Snokie. Same here. But its wont been that big like Karma Miwa. Currectly its only uses one texture (2048kb for normal version, 4096 for retina) and very few figure sprites (none animated) placeholder graphics as well using Tiled as level editor.

But style can been take in different style, depend if Erico/Ian (examples) want to help here, but still keep it simple as possible (but still fun).

But im do might and want have some help with the graphics in this game, but the game is still in early state, but the game size project would nowhere been big as Karma Miwa or Greedy Mouse, but more a Spot Race kind project (this kind of project, glbasic is still fun to works with, smallere games, but im do also some reuse of previous code of course).
#72
Im havent tested iOS9 Beta if there is new issues, something like the orientation and the 64bit issues that was with iOS8. iOS8 was the most annying version to work with, but im do thinks its a lesser step to iOS9 which is seen its a more a meanstream release. But im havent tested the beta yet.

Howover its seen sideload a app is now been easier with xCode 7, where you no longer need a DEV account:
https://developer.apple.com/xcode/

Im thinks this can been easier for some of us, that dont want to pay a dev account until release thier first game, or just doing that for fun and testing.

So Great neat, Apple.
#73
Today im just got MFI Game Controllers to works in glbasic :-) for iOS7+, while iCade still working with iOS5.1.1. Button Presaures is also supported.

Rather to add them to the glbasic included JOY commands, im have dedicated to creating a another Api for it.

The reason is input behaiver for Android, iOS and Windows is quite different, and there is some incompatible between platforms with various commands, So its better to join them to use one API instead.

Button Preasure on iOS cannot been used with Joy commands, while with Android, some sticks is mapped quite different and then impossible to route them to the Joy commands. Here its easier to route them to KEY() command instead. Few Android controllers is auto mapped, but not all.

Here is the currectly supported devices and controllers:

Android :: "Ouya", "GameStick", "FireTV", "GamePad", "Keyboard"
iOS :: "iOS Gamepad", "iOS Extended", "iCade"
Windows :: "xbox", "Keyboard"
Pandora :: "Pandora"

On Android, if you plans to use RIGHT STICK and TRIGGERS, then Remapping is required for ther user. This can been done in the remapping Api as well. Checkout the Remapping class for instructions how that is done.

Requirements:
- xCode project Beta 5+ for iOS.
- Newer Android Extras version for Android.

Please Note:
- Android.GameControllers$() is deprecated as well, but this api works quite very similar, and easy to change it to use this api.

Release (V1.3 as 08-AUG-2015):
OLD PROJET LINK REMOVED (BY ME)

Yes, Android Extras sample is used as the example, which also include a GameInput API usage too. That part also works for other platforms.

Files Used:
- GameInput.gbas, Funcs_General.gbas required for include, and AndroidExtras.gbas if you compile to Android as well.
#74
Im have today ran into a very serious issues, which means there is no bug fixes right now.

Suddenly im can no longer compile for any platform.... Regaardless im uses the default c: folder or the normal d: folder.

By now im just get this for ALL platforms:

_______________________________________
*** Configuration: WIN32 ***
precompiling:
*** create process failed


What do im do? This message dont tell me very much to fix this issue (yes im have tried to uninstall and reinstall). Im also cannot do a rollback at all.


[FIXED]

This seen just beren a quite bad message, which should been much more clean why its failed. Its was a borked temp folder that diddent work currectly (used RAMDRIVE, but its keeps write protected for some reasons). After im changed the path, its works again.

PS. Im choice not remove this thread.
#75
Im not sure anyone look in the beta forum, so im will annonce it here as well. There is a 64bit working xCode project in the Beta forum, which you can chechout it here, That version does not contains Gernot source code, but have compiled directly to a files to been used in both armv7 and arm64 code.

That mean im will not checkout its still works in iOS4 and down, so iOS5 in the future would been a requirement (which today is not a problem).

here is the link:
http://www.glbasic.com/forum/index.php?topic=10191.0

Im will lock this thread, because any feedback should been in the Beta thread instead.
#76
Here is the iPhone 64bit Beta Download:
REMOVED - Its was a IOS9 project.

They should been extracted to glbasic/Platform folders. Make sure you dont have extracted double sub folder (like iPhone/iPhone).

The glbasic source code is NOT included here. Im email Gernot (and eventuelly others per email, since Gernot not like cloud services for his source, which im will respect).

See readme.txt in the xCode folder for changes.

PS. Due im have updated both Android and iOS, both is included in the file.
#77
SORTARRAY is still not working correctly when used with objects, which is used on my last game, Karma Miwa.

Its crash in glb.h:
Code (glbasic) Select

template <class T> DGPtr compare_by_foo(T& a, T& b, DGPtr foo)
{
typedef DGPtr(*pcmp)(T&a, T&b);
pcmp cmp;
#pragma warning(disable:4312)
cmp = (pcmp)(DGPtr*)foo;
return (DGPtr)cmp(a,b); // Its crash here with a adresss error.
}


PS. Damn only this post got splitted. Sorry. Im would like to split the rest, so its dosent got debated in the general thread. sorry.
#78
This is my 4th glbasic game, this time its a more or less a smaller project than the previous 3 game:

Catch Out

Screenshots:







This game is some sort of a "Breakout" clone, using Fairchild Channel F resolution (hence its lowres chuncy game). But instead you control the bat, you can move all bricks (except those solid once). Also one the same color bricks can been destroyed by the same color ball. There is a timer on the game, so you can get a "miss", if you are too slow to destroy a brick.

By now im have designed 41 levels, include few help based levels (the first of them). The goal is about 48 levels.

Im hope could release the game allready this year since most of the game is done. Only missing Fairchild/Atari 2600 style coverart, some sound and more levels and polish tweeks.

If The game got home ports....

Here is what Spectrum version could look something like (with its limits and resolution in mind):


Here is what Commodore 64 version could look something like (with its limits and resolution in mind):


On Fairchild Channel F, some details and pace would been sligtly changed of course, but gameplay keeps in mind.

The game have slow/normal speed mode as well 4 palette to choice from. One of the mode also uses full chunky mode, include balls and bricks.

PS. Im annonced this game in the bonus section, and rather to move that thread, im instead created a new thread here.
#79
First at all, im thinks im will start from Gernot original post (im hope its ok with you Gernot):

Quote
Hi,

since I'm really stuck with the arm64 compilers for iOS and other issues are left open where I can't find the time to fix them, I want you to know that I changed my mind.

I will release the source code of GLBasics libraries, so you can mess with them as you want. It is a lot of work to get it running on other than my PCs, but I made quite a good progress, already.
I also have to see what license to pick for this. You will also see the GLBasic licensing model and be able to generate license keys - I think there is no way to protect it any longer, but it would be unfair to no longer support GLBasis as I did the last decade and leave you at an dead end.

Feel free to post some ideas that spring to your mind, so I can consider them in this process.

My plan is to release a zip file of all you need. If you make changes, you can email them to me and I can resubstiture them and release new zips every now and then. (With a changelog).

I'm so sorry that the support you were used to is no longer possible in full exceeds. I will tell you about all this later - when I find a bit more time...

And for few days ago he have zipped anything down and uploade the to the server in the Bonus forum. The source code is over 3gb zip, but when all tools is removed, its can been under 50mb.

We are now consider which license to been used (which im personally newer will touch that code), where to place the Source Code, and we still want Gernot to mainstream full control over Source Code to him (he have done a GREAT job).

We also search for more developers to join and help Gernot, so glBasic can been even better, mostly focus to ficing bugs etc.

In the final im do have to say thank you, Gernot!!!
#80
This one crashed in Spot Race when tried to compile the cpp to A files directly in xCode rather using the Windows Compiler. But this is not without some issues im have found doing this way and im not sure how to fix that.

ADDRESSOF():
#define ADDRESSOF(a) ((DGNat)((void*)&(a)))

should been:
#define ADDRESSOF(a) ((int64)((void*)&(a)))




Local Array Crash:

Here its crash on delete[] in those lines (in around line 626):
Code (glbasic) Select

~DGArray() {
                if (pData) delete[] pData; pData=(T*)NULL;
#ifdef _DEBUG
dim= -787878; mem= -787878; count=-787878; max1=max2=max3=max4=fac2=fac3=fac4= -787878;
#endif
}


Its seen its LOCAL arrays that dosent work correctly and might memory leaks? Its say its trying to free a pointer that dosent got allocated. By now, im no clue how to fix that bug.