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 / Kill That Bandit - New simple game with 1.07 features tested.

Author
Message
MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 18th May 2012 14:01
Hi,
I was looking forward to test the new AppGameKit 1.07x, so I waited for the last semi-stable version (1.075 for now), and I developed a small game (not so small, about 700 net LoCs).
it is available for free "Kill That Bandit!", a simple reflex trainer game. This is the link:
https://play.google.com/store/apps/details?id=com.texasoftreloaded.KillThatBandit#?t=W251bGwsMSwxLDIxMiwiY29tLnRleGFzb2Z0cmVsb2FkZWQuS2lsbFRoYXRCYW5kaXQiXQ..
Here are some cool features:
- mini-micro-tiny Internet scoring systems.
Only scores, no names (for now), but it works. I using a text files (no MySQL) using a super-simple JSON template, and a 30-lines php script on server side.

With names, I would to introduce arrays, and my JSON parser would become a little more sophisticated. No problems to do it in the future.

- ads-supported with Inner-Active based. It works. I earned half-a-dollar so far. Pls see report attached.

It uses some of the new AppGameKit 1.07 commands.
Here the new commands used. I found some bugs (or strange behaviour) on EditBox and HTTP, that I'll show in further posts under AppGameKit product chat.

ADS (thanks to Impetus73):
setinneractivedetails()
createadvert()
setadvertposition()

HTTP
createHTTPConnection()
SetHTTPHost()
GetHTTPFIle()
GetHTTPFileComplete()
GetHTTPFileProgress()
SendHTTPRequest()
deleteHTTPConnection(httpConnId)

Tokenizer
countStringTokens()
getStringToken()

String/Math
valfloat()

EditBox
getEditBoxExists()
createEditBox()
setEditBoxFontImage()
setEditBoxActive()
setEditBoxBorderColor()
setEditBoxBorderSize()
setEditBoxMultiLine()
setEditBoxMaxLines()
setEditBoxMaxChars()
setEditBoxText()
setEditBoxSize()
setEditBoxPosition()
deleteEditBox()

Others
getImage()
ClearScreen()

Here are some screenshots (without ads).
In the first I used getImage(), setSpriteUVOffset() and setImageWrapV() to create the scrolling chess-like image.
http://agkappmarket.altervista.org/KillThatBandit/ktbsc1.png

This is a scene of the game with the gun sight that appears when you touch the screen.
http://agkappmarket.altervista.org/KillThatBandit/ktbsc3.png

This is the screen of the records got and updated through the Internet, using my custom score system
http://agkappmarket.altervista.org/KillThatBandit/ktbsc6.png

Recommendation or prayer:
Pls avoid negative comments on the graphics, there are here no use because in this game graphics is completely ancillary to the purpose of the game. I used FREE TGC bandit (medieval) and western sheriff, it's a little anachronistic, but maybe they are time travellers

Attachments

Login to view attachments
Funnell7
12
Years of Service
User Offline
Joined: 8th Sep 2011
Location: UK, England
Posted: 18th May 2012 15:48
MarcoBruti, I just downloaded it, its a pretty good reaction game... The only comment I'd have is that it appears you are checking for when the touch event is released (GetPointerReleased). As this is a reaction game, I'd suggest changing it to the pressed event (GetPointerPressed) else you lose a few split seconds waiting for the user to release the touch which makes it appear to have a slight lag and is difficult to judge on the last levels...
MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 18th May 2012 16:23
Thanks a lot for your very valuable comment.
To say the truth, I implemented this way voluntarily in order to have the possibility to see the "circle sight" on the screen and to moving it by following the touch on the screen. When you touch the screen, the circle sight sprite is created. When you release the finger, the sight sprite is deleted in order to check collision with getSpriteHit() without using categories or groups. If you want to kill the bandit, you have to touch the screen and immediately remove the finger.
If we do as you suggest, it is difficult to move the sight on the screen, without touching it.
Have you alternative suggestions, apart remove the sight?
Funnell7
12
Years of Service
User Offline
Joined: 8th Sep 2011
Location: UK, England
Posted: 18th May 2012 16:59
Hmmm... I see what you mean, it is a good visual to have the sight, it just makes hitting them really difficult on the last levels. At the moment you have to anticipate where the bandit is going to move and remove your finger really early... In my opinion (and I know you said not to say this), but I think having an accurate touch out weighs having a sight, so I'd get rid of the sight and have it on 'press' as opposed to 'release'...
MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 18th May 2012 17:09
Many Thanks,
your comment is not about graphics quality (I know very poor), but about game-play, so it is extremely valuable
Maybe it is better to remove the sight and take you approach of "pressing-only". Instead of removing completely the sight, I'll position it immediatly after the detection of the collision, leaving a fraction of second, and rewriting at the next press.
Have you post your record using the Internet connection?
I see a 10.058 on Level-1, is it yours? Do not click on ad, I do not think to earn my living by that
Impetus73
12
Years of Service
User Offline
Joined: 28th Aug 2011
Location: Volda, Norway
Posted: 18th May 2012 17:21
I had the same problem with the crosshair sprite, my solution was, to first check for screen touch, then place the crosshair sprite, the sprite also has a timer that times it out after 8 frames/loops. I also check 9 points, instead of 1, when I check where the user press, because the touch screen can detect any random pixel pressed under that big finger of ours. It can covers tens of pixels at the press point.

I check the center, and 8 points around, in a clock pattern. 13 pixels from the center on a 640*480 res. Increases sensitivity and accuracy allot.

----------------
AGK user - novice
Did Amiga / AMOS programming in the 90's, just started programming again with AGK.
MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 18th May 2012 17:36
good idea to set a timer. 8 frames are about 0.14 sec (60 frame/sec), so it is a reasonable value for a very time constrained game.
About using more points, I do not think it is needed in my game, since the sprite are bigger than yours, and touch is precise enough, at least on my little Galaxy Gio. If you can download and try it, you can tell me.
I downloaded Midnight Horror, it is nice and very precise, did you use multi-points collision there? Consider your sprites are little.
Impetus73
12
Years of Service
User Offline
Joined: 28th Aug 2011
Location: Volda, Norway
Posted: 18th May 2012 17:55
Downloaded it now. Testing, ohh.. found out how it works, you really need change the touch system to hit at first touch, It felt like lagging as my fingers were sticky.

I did use multipoints on the Midnight Horror game, but only on the ghosts. The witch, and the system buttons were 1 point only, to minimize hitting them by accident.

----------------
AGK user - novice
Did Amiga / AMOS programming in the 90's, just started programming again with AGK.
MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 18th May 2012 18:06
ok, I'll implement your suggestions:
- multi-touch
- 8-frames visible sight, single press
I'll let you know when done.
MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 19th May 2012 01:41
Hi,
it is past midnight, and I deliver what promised, or at least I tried. Version 1.0.1 is on Google Play.
- singles press, as Funnel7 proposed, instead of press and release, but I cannot get rid of sight...I am affectionate to it
- multi-touch as Impetus73 proposed, I fixed to 8 points the radius on x axis, and 8xdevice_height/device_width on y axis to accommodate for the real display size. Anyway the game must be played in portrait mode (320x480 virtual resolution). At the end, about half of your finger should be on the target to fire it (like more than half of a soccer ball must be inside the goal line, although some referees in Italy have different ideas of straight line especially when some teams like Juventus play).
- instead of using timer to keep sprite invisible, I simply delete the sprite just before calling getSpriteHit(), and then I redraw it. So you can drag the target around. If your remove the finger, the sight remains fixed where you touched, giving a nice effect. At level 1 you can at the same time polish (!) the screen with the finger and kill the bandits.
Pls let me know if it is more enjoyable or I make things worse.
Now I go to sleep, it's very late.
Impetus73
12
Years of Service
User Offline
Joined: 28th Aug 2011
Location: Volda, Norway
Posted: 19th May 2012 12:29
Yes much better! I went from 15 sec on level 1 to 8 sec.

I like the way you zoom in the highscore, with the ad zoomed and ultimatly removed when the highscore is in full view

----------------
AGK user - novice
Did Amiga / AMOS programming in the 90's, just started programming again with AGK.
MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 19th May 2012 23:19
I did some other little cosmetic update and a bug fix.
- bug fix: sheriff should stop moving when hit. This did not happen because of a variable declared twice as global and local. Now he stops moving 1 second.
- after shooting, the sight vanishes gradually. I set the alpha channel of the sprite from 255 to 0 decreasing by 8, (and at the end I delete it). So it disappear completely after about 32 frames.
About the zoom of the ad, it does not happen with the AppGameKit player downloaded by Google Play, while it happens when I build the Tier-1 app integrating the player with the bytecode(1.074).

Any idea?
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 20th May 2012 06:56
You really churn em out Marco! This is at least the 3rd game I have seen you post! Looks good from the screen shots. I'll take a look at it tomorrow, or later today lol, as it is already tomorrow here.
Not sure about your ads disappearing, on my latest project the adds don't show at all on the android, but show fine on the PC. It may be related and I suspect a landscape bug, as the text entry does not function for me either. I hope it will be fixed soon.

MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 21st May 2012 01:32
Thanks a lot. Your words of appreciation are very nice and encouraging. I started programming at 14 with a TI99/4A, at that time boys played and programmed with ZX Spectrum or C64 (and VIC20 before), not to speak about the less lucky MSX, that were far better computers than TI99, but TI99 had something that C64 or ZX did not have: EXTENDED BASIC.
EXTENDED BASIC was like the AppGameKit of the '80s: it let us create and manage sprites and motion (Graphic chip TMS9918A of TI allowed 32 sprite with incredible limitations, but they worked!). I programmed at 16 a "Frogger" clone with that, and about 100 other games.
A lot of years, computers and technologies after, where the digits of my age are unfortunately almost reversed (42), after some experience and 2-3 games with Visual Basic and Java (effort big, results so-and-so), DarkBasicPro re-opened the horizons of my youth and I started again enjoying writing games.
So I say "thanks" to TGC because they gave me the chance to return to my ancient passion.
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 21st May 2012 06:29
Had chance to play it. I liked it, I managed to get both level 1 and 2 highscore I started on the spectrum and moved on to the Amiga, and now PC. I've had fun playing over the years as well. I hope I can get something released soon also. I envy your highscore :p Although a name entry option would be nice Perhaps a top 10 for each level?

MarcoBruti
12
Years of Service
User Offline
Joined: 20th Nov 2011
Location: Caput Mundi
Posted: 21st May 2012 11:16
thanks, name and top 10 for each level shall be next improvement, at least to test editbox when inputtig names...and I need a better JSON parser.

Login to post a reply

Server time is: 2024-05-05 00:21:00
Your offset time is: 2024-05-05 00:21:00