Saturday, February 25, 2017

Bit more #indidev tonight. Questions, Encryption and (Anti)Tampering. #gamedev gets you something for #screenshotsaturday everytime.













You might remember a previous post all about the questions (I do believe someone even got one right, but they did have an unfair advantage).

So, I've been working on that for a little while now, I've had various problems, unsure if it's my coding style or the limitations of the software I'm using but I managed to overcome all the problems and ultimately get to a point that I'm happy with.



So, here is the thing, the questions and answers, I really don't want someone being able to find them (at the moment, I'm using temporary questions and answers which are on the net anyways, but when they are replaced, this will apply) as that defeats the purpose of the game puzzle, as you could just open the file and there is the answer. So I had to opt for some form of encryption.



So, I've got to a stage now were the files are encrypted so looking at them won't give you the information right away and I've also incorporated a simple tampering mechanism, which can detect if you try to change the external data, any changes to see what happens will cause the questions to change (and the answers) to the point were it advises you to restart the game (unless you've made a backup of them and put them back the way they were and continue the game)



While it's not the ultimate protection, it's more of a deterrent and a lesson for me in encryption and anti-tamper methods.



People have been saying to me, why the extreme, my answer…….why not?



Just wondering now what's the next thing I'm going to move onto/start.



Inline images 1



Generally speaking it will happen in stages, the more you tamper the more it shows, see below.



Before Tampering


Inline images 2



Slight Tampering with external file.


Inline images 3



Major Tampering


Inline images 4



I might even implement a MD5 check that quits the game if you cheat, who knows. 🙂




http://pjg-developments.com/wp-content/uploads/2017/02/04_BeforeTamperFour.jpg

Thursday, February 23, 2017

#ThursdayThoughts YYC Compile Vs Normal Compile / Space & Speed Vs Time To Compile #indiedev #gamedev








So, this programming language I'm using has a few options under the bonnet (or hood for some people)

I hit the play button (to run my code) in the normal mode, maybe 30s to compile, and there we go.


But if I do the YYC compile, the same exact code takes about (well, one of my test compiles showed me this) 18 minutes.



Now, 'that is too long I hear you cry' but think of it this way. [off the wall explanation coming up]



You want to speak to someone in a language you don't understand, lets say you want to speak to someone in Mandarin (and before people come at me with, I know Mandarin, it's only an example!)



So, you start doing an email or a letter, you have to get your native language into, lets say, Google Translate, and then you copy the result back into the email. They email you back, you have to take their text, run it through the translator and get the result. You can imagine how slow that is, it gets the same results, but a little longer.



Well, that is what happens with the normal 'runner' versus the YYC compiler, except the YYC compiler has taught you how to speak Mandarin, so you get the same results, but it's quicker, but, you know that time it took to 'Learn' Mandarin, well that is the additional time during the first compile.



So, it's worth while in the end, but the lesson learned is… during basic coding, testing, debugging, etc.. the normal compile, if I then want to test a close to final product that would/could crash at the drop of a hat, then it's the YYC



Oh, and an addendum to this little explanation, that is only the FIRST compile, any subsequent
compiles, unless there is any major changes, it only takes seconds.. 🙂



Hope this is helpful to someone as I had to learn the hard way, changing a lot of my code to make it compile in the YYC, but it's worth it in the end.

Enjoy the rest of ya day!

Inline images 1






http://pjg-developments.com/wp-content/uploads/2017/02/CodingSuplementaryPicture.jpg

Tuesday, February 21, 2017

learned (learnt) a new word today mesmerization, I guess it 'could' fall under #TuesdayMotivation?


So

It happens with various things, sunsets, sunrises, 'psychedelic' colours, etc but a friend of mine shared this on FB today, so I had to reshare, just keep watching it. Oh, and while you are watching, remember this…'math is a wonderful thing'


Inline images 1


http://www.dictionary.com/browse/mesmerization
https://en.oxforddictionaries.com/usage/learnt-vs-learned



http://pjg-developments.com/wp-content/uploads/2017/02/mes-marized.gif

Sunday, February 19, 2017

#coding in my level difficulty for my #indiedev and thinking more about a #plot but I really need #art and #graphics










So, I have been trying to get my game so it's self adapting based on a few key variables within, one of them being 'level difficulty'

I'm thinking to start, just simple like, Easy, Medium and Hard. Using that theory I figured a value I could apply to most of the routines, that way, if it's an Easy level then there would be less locked doors, less enemies, etc



Another suggestion that was given to me, was the ratio between corridors vs rooms, so, taking that into account, Easy levels have more corridors and less rooms,Hard level have more rooms and less corridors. (see below the three types of levels as an example)



These rooms *will* have something in then, something to do, something to collect, all that stuff, I've not fleshed out anything down there yet, I'm thinking the plot will help me decided those factors.


Now, the plot, I'm thinking of a 'High Rise' type game, it could have levels (again, if the levels get harder, I can tweak the 'difficulty' value to affect gameplay) but each level is a high rise building which has 'floors' accessible via stairs (or an elevator, haven't decided that part), and you have to do a 'task' per building? I haven't thought that far ahead (ideas on a postcard please) Possible thoughts are, collect parts of 'something' to make a complete 'something' to let you get out of the high-rise.



One of the things I'm thinking more about now, is looking for graphics, mainly using 'free' test graphics to get 'stuff' working, but I'm thinking with additional art, it may spark more ideas, it may also help the direction it will go. But where do I go to ask?



Anyways, here are the 3 sizes of the levels



Easy


Inline images 1



Medium


Inline images 2



Hard


Inline images 3


Provide another update when I've done 'something'  more:)




http://pjg-developments.com/wp-content/uploads/2017/02/SmallLevel.jpg

Friday, February 17, 2017

bit more #gamedev - questions, questions, questions....














Hey All,

So, what I been doing, well mainly 'thunking' to be honest.



I've been chatting with people to get ideas on how I can get around a 'coding issue'. So here is the thing, I could have random doors and keys, but if the key is placed after the door, that you are out of luck. So I needed a solution….



Puzzles…



So, the thing, you get to a door that is locked, you don't have a key, a panel opens up (think of it like zooming into the keypad) and you are presented with a puzzle.



It could be



multi-choice question and answer (with some forfeit happening for too long, to many guesses etc)


Inline images 1



a tile based number slider, were you have to get the numbers into a 1 thru 8 (as 9 would be the space) (remember them?)





Inline images 3



a 'spot the difference' pictures


Inline images 4



[more to come, if I thunk hard enough or I get ideas from others]



So, I've gone about finding some 'general questions' online, I've found a list of 9,999 questions and answers, the problem I have now, I need to generate 9,999 * 3 (as it's a 4 multi choice) wrong answers… Hmmmmm, so do I do it all myself, do I reach out to friends and family and offer them chunks of questions?



It wouldn't be too hard, as the person can just answer similar answers to the answer provided, so there is not a lot of thinking involved, but how do I broach the subject.



Time to carry on 'Thunking' I think.



Any thoughts, suggestions, ideas, feel free to reach out to me.



http://pjg-developments.com/wp-content/uploads/2017/02/ExampleQuestions.jpg

Tuesday, February 14, 2017

Keys, doors, enemies and more randomness within my #code for my #indiedev




So, a little more on my game (again, slow and steady wins the race).

So, I've got the keys appearing (well, only 4 of them by choice) and doors appearing (matching the keys) and a couple of weapons, but it's all random (I'll have to try to put some non-randomness in randomness I'm generating) but I basically wanted to get it running to the point where I can just copy and paste my code as I add more stuff.



You can download the executable from the usual link and try it yourself, the basic controls are the following :-


Shift & Left click can position the pathfinder player (although he should be positioned already, just look for him)
Right click will make the pathfinder player and the WASD player head towards that click if there is a path to get there.


F1 displays the debug info (including Seed number I'd need for debugging)
F2 will zoom in (path finding looks/works best if you are zoomed out, left click position, right click to move/path, THEN hit F2 to zoom in) will follow player under WASD control
F3 restarts screen (draw another level with another seed)
F4 Turns on and off the 'basic' instructions when you first start the game.
ESC quits.



There are a few other keys in there, they may do something, they may not 🙂


When running, if you notice a error, i.e. a place were the player could escape (not were they just can't get from room to room) you can turn on debug mode (F1), and then press [enter] and a file is output into the %localappdata% under the folder called gameunknownV3, filename debugoutput.txt you would copy and paste that info into another text file to save and provide to me.

Feel free to provide me some/any feedback via any means that you know how. 🙂






http://pjg-developments.com/wp-content/uploads/2017/02/Example02142017.gif

Monday, February 13, 2017

Survive

Here is my entry.


Theme was either Two button controls or Growing (or both) I opted for the ‘two button controls’


Now the game is called Survive, and all you have to do it that.


On the Window Version (the main submission) you press Z to move yourself around the outside of the screen,and you use X to shoot, but you are limited to the amount of shooting you can do (that is intentional).


When you first start the game, the motion meter won’t start falling until you move (that was just to allow for people to start the game and then get their fingers on the keys ready)


If you stop moving, your ‘Motion’ meter goes down, if it gets to the bottom, it’s Game Over (press space to go back to the Title Page)


If a sprocket hits you, again, Game Over, be careful by the corners, you don’t want to be there when it fires one out.


See how high of a score you can get, it will keep your highest score until you close the game down.


There is also a Android version and a HTML5 version, they are both for people who don’t have access to a windows machine, just to see how it works. The HTML5 version operates pretty much the same as the Windows version. The Android version if different, you have an auto-fire and you touch the screen to move around but the game mechanics are the same (Motion runs out, or you get hit by a sproket it’s game over and it’s double tap to restart) {Please note, the Android version has no special permissions, but has to be side-loaded into your cell phone, and is set for version 2.2 and up)


I have tried my HTML5 version in various browsers, some need a ‘refresh’ to start it loading (don’t know why). Worked in MS Edge with no issues.


Hope you enjoy it, constructive criticism and positive feedback will be appreciated.


Windows EXE – http://pjg-developments.com/ludumdare/survive/windows/survive.exe


Windows Zip – http://pjg-developments.com/ludumdare/survive/windows/survive.zip


Android 2.2^ – http://pjg-developments.com/ludumdare/survive/android/survive.apk


HTML5 – http://pjg-developments.com/ludumdare/survive/html5/index.html


 


 



http://pjg-developments.com/wp-content/uploads/2017/02/Survive1-300x225.jpg

Unconventional Weapon

Here is my entry for the ‘Unconventional Weapon’


Cornflake Capers – I actually got the idea from the initial Twitter post, with a picture of a spoon, and I thought, yeah, why can’t a spoon be the weapon, but what will it fire…..and Cornflake Capers was born.


Instructions.


Shoot the Cornflakes from the spoon to blow up the mouths around the screen. You start with 20 flakes, when you have 4 or less (flakes), within 20 seconds another bowl will appear. Collect it to get another 10 flakes.


W A S D to move, Mouse to direct and shoot. Enjoy your Bananas peeps.


See how long you can last, try to beat your previous score, or try to beat your previous time, better still, try to beat both.


Graphics are from real things in my house, with the exception of the mouth, I have to say thanks to the Wife for allowing me to use her mouth for a animation.


I have also included the tunes in the game as a separate zip file, as I’ve had people before (previous LD’s) say to me they enjoyed the tunes, so I figured I’d allow you to download them.


Game has been tested and plays fully in Firefox 37.0.1 if you use another browser and it doesn’t work fully, well, what can I say, except download FF.


Hope you enjoy my little entry.


Web – http://pjg-developments.com/ludumdare/ucw/index.html


Windows – http://pjg-developments.com/ludumdare/UnConventionWeapon.exe


Windows Zipped – http://pjg-developments.com/ludumdare/UnConventionWeapon.zip


Tunes in OGG – http://pjg-developments.com/ludumdare/Music.zip



 



http://pjg-developments.com/wp-content/uploads/2017/02/CC1-300x199.jpg

Saturday, February 11, 2017

Checking My Auto Poster Works again. #annoyingtech


So, I put a post last night, had to manually do it, was all because of my .gif's (they were causing an error), so that being said, I'm going to test this, with a funny animated gif to see if it will take it, and post it to my site, twitch, FB, etc. Hope there are not too many words for you to read? 🙂


Hope you are all having a relaxing Saturday.


Inline images 2



http://pjg-developments.com/wp-content/uploads/2017/02/somanywords.gif

Wednesday, February 1, 2017

Little more progress in my #gamedev #indiedev













So, after getting the level generator finished (I think, at least I've not come across any bugs) I've now moved back into my main game.

Had to try out a few more things, like allowing the player to move within the areas (and not allowed through walls) and I decided to chuck a few enemies in there, so I could see movement



So, at the moment, I have a few keys in play.



Insert – Turns on Debug Mode


Home – Regenerate Level


Page Up – Alternates between full screen and small view



WASD – Will move guy around that has 4 red lines around him



Left Mouse – Will position 'other' guy anywhere in the map


Right Mouse – if a route is available to the 'other' guy, he will head to the right click



If debug mode is enabled, and you press enter a file will be output to your %localappdata% under a folder called roombuilder, if you notice a break or an escape point, feel free to turn on debug, and press enter, go to that file and then open it and let me know the 'seed' number, I can then replicate and fix the issue.



Well, at least it's a step in the right direction.



Again, it can be downloaded from


http://pjg-developments.com/gameunknown/roombuilder[SRE]_POC_WithDebugOutput.exe



Let me know what ya think!!!


Inline images 1



http://pjg-developments.com/wp-content/uploads/2017/02/LevelGenerate3.gif