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/AppGameKit Studio Showcase / 6 Marbles ~~~ HTML5 Version

Author
Message
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 4th Mar 2020 02:33 Edited at: 19th Mar 2020 03:30
Like the title says, I have upgraded 6 Marbles to now be a web browser based game.

I made a couple of improvements based on the feedback that I got form the original release.

There are two difficulty levels now, and the insta-kill hole that appeared right above the starting point has been removed.

I also sped things up a bit for better gameplay, but it is still just a really simple game.

There is also a surprise at the end when you select NO for the replay.

Have Fun.

EDIT

On a side note:

With the OpenBrowser() command working for the HTML5, I think I will try sending the high scores for some of these HTML5 builds to a PHP script with the GET for appending the data pairs in the URL.

Should work, right?



Checklist of things to do...

Change background color for easier visibility

Create the leaderboard using PHP on third party free web hosting site

Create a webpage for non-players to view the leaderboard

Prevent refresh of score submission script to avoid erasure of lower scores with duplicate data

Widen the old Android play field

Change static layout of fixed screen with random holes to seed generated holes for scrolling screen for infinite climb
        (considering removing target holes and simply using a height counter for the scrolling score)



Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1

Attachments

Login to view attachments
blink0k
Moderator
10
Years of Service
User Offline
Joined: 22nd Feb 2013
Location: the land of oz
Posted: 4th Mar 2020 07:48
Ha! That is one nifty game!
fubarpk
Retired Moderator
18
Years of Service
User Offline
Joined: 11th Jan 2005
Playing: AGK is my friend
Posted: 4th Mar 2020 13:02 Edited at: 4th Mar 2020 13:04
Interesting game of skill
would work well on mobiles using the gyro I think

fubarpk on Itch...………...https://fubarpk.itch.io/
fubarpk on googleplay..https://play.google.com/store/apps/developer?id=fubarpk
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 4th Mar 2020 14:37 Edited at: 4th Mar 2020 14:37
Glad you liked it.

Did you guys hit the NO option at the end?

At first, I had a little difficulty getting the OpenBrowser() to work via the HTML5 build, but finally figured it out. (I knew the HTTP stuff doesn't work with HTML5 builds)

The PlayYoutubeVideo() worked perfectly.

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
Virtual Nomad
Moderator
17
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 4th Mar 2020 22:26 Edited at: 4th Mar 2020 22:27
some confusion where the instructions say "avoid all holes" while i've seen no holes other than the target?



AKA, i did lose a ball as the Teeter-Paddle™ was climbing (for no apparent reason)? and, i saw nothing that caused it.

so, while the NO option suggests that i should keep playing, "In my head, I lost before I begun"

i will give it a few more gos, tho

Attachments

Login to view attachments
fubarpk
Retired Moderator
18
Years of Service
User Offline
Joined: 11th Jan 2005
Playing: AGK is my friend
Posted: 4th Mar 2020 22:33
Quote: "some confusion where the instructions say "avoid all holes" while i've seen no holes other than the target? "

The black circles are actually holes but a little explanation of such before you begin would go a long way

fubarpk on Itch...………...https://fubarpk.itch.io/
fubarpk on googleplay..https://play.google.com/store/apps/developer?id=fubarpk
Virtual Nomad
Moderator
17
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 4th Mar 2020 22:58 Edited at: 4th Mar 2020 23:06
Quote: "The black circles are actually holes"

i see no black circles (on a black background?). what am i missing?

i see them now that i've zoomed in at 10x...

Attachments

Login to view attachments
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 5th Mar 2020 00:15 Edited at: 5th Mar 2020 01:06
What you are missing is the ability to see gray scale.

The background is gray, and the holes are black.

Sorry about that, because I did have the background as green, but that color hurt my eyes after a few minutes of play.

So, I switched to this darker color not realizing that it would make it difficult for others to see it.

The hole at the bottom with the wings below it is the ball return.

Think of this as a board slightly tilted so the ball will roll into the holes.

There were real arcade machines made this way back in the day, but they had stationary holes of course instead of appearing and disappearing.

There were lights that would light up around the holes to make the target get higher each time you got it in a target.

The higher you went up the board, the more holes there were making it harder to miss the non-targets, and the speed was faster each time.

This is an example of the arcade game that was the inspiration..

Here is another example of these arcade games.

I thought this was simple enough not to need too many explanations, but I was taking it for granted that I was used to playing those old ones.

Sorry

I tried making a simple shadow effect on the holes to make them appear more like holes and not just a circle, but I guess it isn't good enough.

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 8th Mar 2020 15:52 Edited at: 8th Mar 2020 16:10
UPDATE

I doubt that many people noticed my edit in the original post, so I am adding this message to refresh the thread as unread in the forum view.

I am scrapping my idea for masking the path for using the GET method to pass the high score variables in HTML5 builds using the OpenBrowser() command.

Instead, I am adding a third piece of data to the string which will be a sha256 key (player, score, key).

This way, if the score is manually changed in the path, then it can be detected by the PHP script as the key would not be a match.

Of course, I have to add a private key internally on both ends to manipulate the data before creating the key, otherwise people could just generate their own key using sha256 encryption on the altered data. (private key and data manipulation constructed using chr()'s so the string is not visible as plain text in the bytecode)

The level of difficulty to crack the private key will be strong enough to make it a terrible waste of time just to cheat on a high score of a web based video game.

I have already tested this, and it is working, but my PHP skills are limited so it may take awhile to get the data validation for creating the database for the highscore table to prevent people from injecting server commands and other nasty stuff.

Anyway, this might not seem like a big deal to anyone, but I am excited to know that I will be having High Score tables for my HTML5 builds.

I'll be using this game title for the first example, so if this does interest anyone, then stay tuned to this thread....

Also,
I found this in another thread...
Quote: "
1. Open "AGKPlayer.js" in a text editor.
2. Find "_blank" and replace it with "_self". (no quotes & only one occurrence)
3. Save the file.
4. Exit text editor.

Now upload your game to Internet and it should open URL link in same browser tab.
"

And it works great with OpenBrowser(), so I do not have to open new windows at the end of my game when directing people back to my home page (game menu).

THANKS JESSE!!!

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
PSY
Developer
7
Years of Service
User Offline
Joined: 3rd Jul 2016
Location: Laniakea Supercluster
Posted: 15th Mar 2020 11:03
Nice little physics game. I really like the idea. Good work!


PSY LABS Games
Coders don't die, they just gosub without return
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 15th Mar 2020 22:44 Edited at: 18th Mar 2020 01:21
Thanks!

I have been really busy with other things this week, but I have been burning the midnight oils working on the leader boards for this game.

Using the PHP as mentioned before and decided to pass a couple extra variables, so that the one script can handle high scores for multiple titles.

Have had a couple setbacks on locking down those injection concerns, but everything is progressing nicely.

I am about 80+% finished, so I am hoping to wrap this up for testing by Tuesday, if not tomorrow.

Hoping you guys will be gentle and not do anything malicious if I have vulnerabilities, but anxious to test it out.


Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 18th Mar 2020 01:15 Edited at: 18th Mar 2020 12:09
Okay

The same link at the top, but changed background color, and added the leaderboard. (used free hosting for the leaderboard PHP script and Flat File Database)

Take it easy on me for the injections if I made a mistake. (might have permissions wrong or something, but I hope they are okay)

Feel free to test this out... Thanks!

6 Marbles

You have to select NO for the replay to submit a score.

EDIT

I guess I should make a webpage to view the high scores for non-players.

I accidentally forgot to change my pause time back for the splash screens. lol (oh well, the AppGameKit link is present anyway)

Those credits should be sped up a bit too, and I need to add an internal check to prevent refreshes from erasing all lower scores.

Other than those oversights, it seems to be okay, as long as the self trick doesn't cause any vulnerability.

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
Captain Ouais
19
Years of Service
User Offline
Joined: 12th Dec 2003
Location: France
Posted: 18th Mar 2020 17:35
It's a great game idea !
I do what i do !!!
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 19th Mar 2020 12:25 Edited at: 20th Mar 2020 19:06
Quote: "It's a great game idea ! "

Thanks

I was hoping some people would test that high score script, but it is still waiting.

Once I know I have it secure, then I can move it from the free web host to my primary web host.

It appears as if people are more afraid of my script than I am of their injections to it.

I am more excited about having leader boards for my HTML5 builds than I am about this game title.

I am anxious to modify this script for Instant Payment Notifications to automate electronic delivery.

The thought being that a User-Key would replace the game title, so each file would have their purchase history, rather than game scores.

Log-In credentials/security-pin entered in the redemption page would ensure that the path is not being used by someone other than the authorized user.

Then the user could access that file to display Redemption-Keys for each purchase to enter into the app for redemption (copy/paste key into app).

All GET data passed could be encrypted, so that none of it would be readable, or usable, by any unauthorized recipient/user.

May sound nuts, or like a lot of work, but I want the HTML5 builds to do with OpenBrowser() what the PC builds are doing with the HTTP commands.

Please, let me know if I have overlooked anything... thanks.


EDIT


Okay, now I am confused, but going to get to the bottom of it with experimentation.

All this time I was under the impression that the HTML5 builds would not be able to use the HTTP commands.

However, while searching the forums, I have found threads that say the HTTP will work with the HTML5 builds, and other saying it won't.

If the GetHTTPFile() will work with HTML, then I can use POST instead of GET to pass the variables, which is a game changer.

The documentation says that the SendHHTPRequest() ...
Quote: "Does not work when exported to HTML5 "


The documentation says the same thing about the SendHTTPFile() command, but does not say that about the GetHTTPFile() command.

While the documentation says that about SendHTTPRequest(), it does not say that about the SendHTTPRequestASync() command.

Nothing saying that GetHTTPResponse( ) command will not work with HTML5 either. (this will be the biggest game changer if this works)

So, I will be doing a lot of experimenting with HTML5 and the HTTP command list to find out exactly what the limitations are, and how I can work around them.

With a little luck, I will be introducing a unique HTML5 experience that has nothing to do with this game, but will be truly unique.


EDIT

EUREKA !

I can confirm that variables can be passed from HTML5 to server via POST, and that an HTTP response can be received via HTML5 builds !!!

Sometimes I am getting a trailing character or two (not sure why), but I hope to work around that if I can't resolve it.

Now the real work begins. ( HTML5 --> HTTP --> PHP --> HTTP --> HTML5 adventure to be continued... )

Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1
Virtual Nomad
Moderator
17
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 20th Mar 2020 19:30 Edited at: 20th Mar 2020 19:42
Quote: "What you are missing is the ability to see gray scale."

so, since i discovered the wonders of the SteamLink app on my TV, i can now see the holes (and pretty much have no reason to leave the couch at all, now).

does anyone dare take a swipe at your new 6 marbles champion?

Quote: "
Congratulations NOMAD !!!

You Are The New Champion !!!

Rank Player Score Date
1 NOMAD 9 2020-03-20"


good stuff, CE.

just noted that you'd changed the background color. so, it wasn't SteamLink that was the god-send; it was you. thanks for that!

well, not so fast. i can now see the holes in the screenshot above. they aren't visible on my PC but are when streamed to the TV. regardless
Conjured Entertainment
AGK Developer
18
Years of Service
User Offline
Joined: 12th Sep 2005
Location: Nirvana
Posted: 21st Mar 2020 00:37
I am glad you can see it better now, whether it was my new color or the SteamLink.

Nice to see another score up on the board too. Congratulations.

It has a different message when you place other than first, which tells you the rank as well as highlighting the position.

While I am excited about the ability to POST data now, and get responses from the server, I am still happy with the ease of using GET with the sha256 keys.

Definitely, GET with the OpenBrowser() commands the way to go for high score leader boards, since they only display the results and have no need for a server response.

I have been wanting to do that Instant Payment Notification at PayPal using PHP scripts for quite some time, but put it off with fears of lacking enough PHP skills for proper security.

However, the encrypted key experiments with this leaderboard has given me the confidence to give that a try, so it may be awhile before I finish that and get back to the games.

Really good stuff here though with the HTML5 advancements, so a shout out to PAUL with more thanks, even though these features have been here all the while with me being oblivious to them.


Coding things my way since 1981 -- Currently using AppGameKit V2 Tier 1

Login to post a reply

Server time is: 2023-11-29 22:21:05
Your offset time is: 2023-11-29 22:21:05