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 / My First AGK Adventure..

Author
Message
David Gervais
Retired Moderator
19
Years of Service
User Offline
Joined: 28th Sep 2005
Location: Montreal, Canada
Posted: 20th Jan 2014 12:54
Hello All,

While browsing on these forums and scanning for useful tips I noticed something about y'all.. but let me outline my experience while making my first ever AppGameKit game..

First I wanted to remake an old game I made Called Laser Cross Deluxe. but that turned out to be a no go, since AppGameKit does not have a draw dot/pixel command and when I experimented with using a sprite and dynamically stretching it to make an ever growing line, I couldn't wrap my brain around how to detect collisions other than using absolute screen coordinates and checking if an object was in a separate grid.. to say the least it got too complicated too fast, and each piece could have 4 facings and needed to react accordingly.. and there were multiple pieces.. mirrors, lenses, caps etc.. to make a long story short I got a bit frustrated and decided I needed to get my feet wet with a simpler game first.

So I turned to one of my very first games I wrote in Quick Basic.. Target Dice! my final result can be found here..

http://forum.thegamecreators.com/?m=forum_view&t=209519&b=48

A little bit of insight into how I went about programming this game, I tend to run the game through my mind over and over and I set out to program the game in the order that I see things being needed.. for example that intro part was the first thing I did. that led to me having the main game screen 'in my face' and needing things placed to make it work. Keeping with an age old habit the first thing I did was place the 'Exit' button and got it to work how I wanted. I used the same piece of code for the other buttons. (renaming sprites and variables to match the new buttons) The start button was a bit different, I needed to have it be a 'Start' button then turn into a 'Roll' button. but I worked out the logic there and added conditional modifiers in the main loop and 'buttonact()' function to take this into consideration.

Then came the part to make the dice do what they needed to do, Now, even when making this I had to find workarounds and do allot of 'alternate thinking' in how to make things work. For example, I couldn't just use 12 dice sprites (6 for the target red dice, and 6 for the ivory player dice) I had to create 42 dice sprites, 6 of each for all 7 dice. I then positioned all 6 dice sprites for each dice in their proper locations on screen and then had to work the logic to use SetSpriteVisible to display the currently 'active' dice.. that turned out well, and I had things up and in a running state fairly quick. Then it was just a matter of refining the gameplay and timing on the in-game actions, adding sound , music and any visual effects. it wasn't until the game was 'playable' that I added the 'How to play' button then a short while after I added a music toggle button.

One thing that still has me duped is how to get the Highscore.dat to actually save in the media folder, on my comp it places it in the C:\Users\David\My Documents\AGK\Target Dice\media folder. (even thought my final build is in D:\TGC\AGK\Projects\Basic\TargetDice) Perhaps one of you guys know what I need to do?

Anyways, what I noticed about y'all, is that the experienced (with other languages) programmers here tend to see what's "missing' and ask that the 'missing' features be added to AppGameKit to make their coding easier in the future.. I'm not saying that's a bad thing, that's how a programing language 'Grows'. But a person like me with little or no background in programming looks at the given language (AGK in this case) and find ways to work with the commands and tools that are given in the package to get what I need done. There is a certain 'discipline' to working within the confines of given language and I find that this reminds me of the good old days of 8-Bit computing where memory was 'limited/fixed' and programmers needed to get 'Creative' with how they coded within these limitations. So I guess that makes me an 'Old School' type programmer and this leopard will always have a hard time changing it's spots. My hats off to you 'Modern Programmers' who "Do Not Like Limitations" and Push to drive Programming to the next level.

I'll always be 'trailing the trends' but I like working within limitations and making due with what I got. But at the same time I look forward to see what wonderful tools your generation spawns for me to play with.

My first program in AppGameKit was a great experience and I'm already working up ideas to get another game up and running.

Cheers and Happy Coding!

Boulderdash
10
Years of Service
User Offline
Joined: 16th Jan 2014
Location:
Posted: 26th Jan 2014 07:19
"Trailing the trends" same that's why I'm going multi OS with AppGameKit !
Marl
13
Years of Service
User Offline
Joined: 19th Nov 2011
Location: Bradford, UK
Posted: 26th Jan 2014 21:28 Edited at: 26th Jan 2014 23:23
Quote: "how to get the Highscore.dat to actually save in the media folder,"

Sorry, it Can't be done currently. But does it really matter ?

Using Android as an example - it's what I know - when the app is built for the target device, the contents of the media folder are compressed and stored in the .apk file.

When the app is run, the files are read directly from this file as needed, but any writing has to be somewhere else. On Android in an app folder, on the PC - in my Documents.

So if you read a file (such as a config file) from the media folder, change it and then write it back, there will be two versions - the Read only version in the .apk and the read/write one.

AGK will try to access the latter first - as it will be more recent.

Quote: "Anyways, what I noticed about y'all, "

What I've noticed about the more "junior" programmers, is the tendency to report issues as a bug in the language before considering a programming error.

So many threads start "Bug in AGK..." and turn out to be "user error".

edit:
Quote: "...find ways to work with the commands and tools that are given in the package to get what I need done. There is a certain 'discipline' to working within the confines of given language "

Agree completely.

The difference with AppGameKit is that it was released "unfinished" and the developers admit that there are things they didn't consider originally that could be added.

But people being people will try to milk it for as much as they can so I can see your point.

Personally I'm quite capable of writing array management functions, linked lists, sorting and hashing algorithms etc.

For me, if they get added its a bonus but I'd much rather have things like decent sound manipulation which simply can't be coded around as it stands.

Login to post a reply

Server time is: 2024-11-25 02:54:28
Your offset time is: 2024-11-25 02:54:28