Srdjan SusnicWelcome to the part 1 of the video tutorial series on programming racing game, which shows how to make a car game in javascript. This part covers creating the main game loop, implementing 3d projection, building a straight road and rendering it.
★ Outline ★
00:00 - Intro 01:00 - Setting up the game 03:20 - The road structure and geometry 04:06 - Creating a straight road using segments 05:32 - Rendering the first segment using 2D projection 06:48 - 3D projection algorithm 08:29 - Rendering the first segment using 3D projection 09:41 - Calculating the distance between camera and projection plane 11:13 - Rendering all segments in view 13:06 - Coloring segments alternately by using two shades of gray 13:32 - Rendering grass 13:53 - Rendering rumble strips 14:21 - Rendering lanes 14:50 - Coloring the start and finish 15:27 - Watch in the next part...
★ Episodes ★
Part 1 - Setting up the project, implementing pseudo 3d projection and creating a straight road: youtu.be/6td_zpQC1U4
Part 2 - Adding the player and making the road to loops back: youtu.be/ZV23PaCSyS8
★ Project Description★
In this javascript racing game tutorial, I'm creating a complete retro-style arcade game like Outrun from scratch, step by step. It's an old school pseudo 3d racer, where your goal is to drive a car, as fast as possible through heavy traffic.
The term pseudo 3d refers to the simulating the appearance of 3d space by using a graphic projection. And to implement a 3d projection, it's enough to use a simple math based on the law of similar triangles. The whole process of deriving projection formulas is explained in detail in this pseudo 3d racing game tutorial.
To make this javascript car game, I used Phaser 3 Framework.
My wish was to write a simple car racing game code that would be understandable to everyone. So I tried my best to generate a self-documented code and comment almost all the lines.
It is certainly not like the original Outrun source code, but if you want to play around with the prototype, the code is available for download on my Github:
To summarize, here is a list of all stuff I'm going to cover in detail through this javascript racing game tutorial:
- initializing a new Phaser game - setting up the scene - creating the main game loop - programming pseudo 3d with explaining 3d perspective projection - building a straight road - adding curves and hills - implementing parallax scrolling of the backgrounds - controlling player car - adding roadside objects - adding other vehicles (cars and trucks) - implementing artificial intelligence for controlling vehicles - checking collision with objects and vehicles - and so on.
So I hope you will have as much fun as I did with programming this racing game, and learning how to make a pseudo 3d car game in javascript.
In that case, please like this video, and consider subscribing to my Youtube channel. I would greatly appreciate it! And that way, you don't miss out on more actionable videos like this one.
Now, let me know what you think about this javascript racing game tutorial by leaving a comment! Did you find it useful? Or, if there is anything that you don't like, please tell me!
Programming racing game: How to make a car game in Javascript [Part 1]Srdjan Susnic2021-01-29 | Welcome to the part 1 of the video tutorial series on programming racing game, which shows how to make a car game in javascript. This part covers creating the main game loop, implementing 3d projection, building a straight road and rendering it.
★ Outline ★
00:00 - Intro 01:00 - Setting up the game 03:20 - The road structure and geometry 04:06 - Creating a straight road using segments 05:32 - Rendering the first segment using 2D projection 06:48 - 3D projection algorithm 08:29 - Rendering the first segment using 3D projection 09:41 - Calculating the distance between camera and projection plane 11:13 - Rendering all segments in view 13:06 - Coloring segments alternately by using two shades of gray 13:32 - Rendering grass 13:53 - Rendering rumble strips 14:21 - Rendering lanes 14:50 - Coloring the start and finish 15:27 - Watch in the next part...
★ Episodes ★
Part 1 - Setting up the project, implementing pseudo 3d projection and creating a straight road: youtu.be/6td_zpQC1U4
Part 2 - Adding the player and making the road to loops back: youtu.be/ZV23PaCSyS8
★ Project Description★
In this javascript racing game tutorial, I'm creating a complete retro-style arcade game like Outrun from scratch, step by step. It's an old school pseudo 3d racer, where your goal is to drive a car, as fast as possible through heavy traffic.
The term pseudo 3d refers to the simulating the appearance of 3d space by using a graphic projection. And to implement a 3d projection, it's enough to use a simple math based on the law of similar triangles. The whole process of deriving projection formulas is explained in detail in this pseudo 3d racing game tutorial.
To make this javascript car game, I used Phaser 3 Framework.
My wish was to write a simple car racing game code that would be understandable to everyone. So I tried my best to generate a self-documented code and comment almost all the lines.
It is certainly not like the original Outrun source code, but if you want to play around with the prototype, the code is available for download on my Github:
To summarize, here is a list of all stuff I'm going to cover in detail through this javascript racing game tutorial:
- initializing a new Phaser game - setting up the scene - creating the main game loop - programming pseudo 3d with explaining 3d perspective projection - building a straight road - adding curves and hills - implementing parallax scrolling of the backgrounds - controlling player car - adding roadside objects - adding other vehicles (cars and trucks) - implementing artificial intelligence for controlling vehicles - checking collision with objects and vehicles - and so on.
So I hope you will have as much fun as I did with programming this racing game, and learning how to make a pseudo 3d car game in javascript.
In that case, please like this video, and consider subscribing to my Youtube channel. I would greatly appreciate it! And that way, you don't miss out on more actionable videos like this one.
Now, let me know what you think about this javascript racing game tutorial by leaving a comment! Did you find it useful? Or, if there is anything that you don't like, please tell me!
#gamedev #indiedev #javascript #webdev #devblog #html5 #gamedeveloper #javascriptgames #programmingExcel Game Development: How to Make Bat Acrobat (Flappy Bird like Game) from Scratch Using VBASrdjan Susnic2023-03-08 | Welcome to my Excel game development tutorial on making a Flappy Bird like game from scratch using Excel macros and VBA! In this step-by-step video tutorial, I'll show you how I made a fun and addictive game called Bat Acrobat, which is inspired by the popular mobile game Flappy Bird. Using only basic Excel functions and features, I'll create a fully functional game that you can play right inside your spreadsheet!
Excel may not be the first tool that comes to mind when you think of game development, but it's actually a versatile and powerful platform for creating games, especially for those who are just starting out. With Excel's built-in functions, graphics capabilities, and easy-to-use interface, I was able to make my own game without needing any additional software or programming languages.
★ Chapters ★
00:00 - Intro 00:44 - Why I used Excel game engine 01:06 - Excel workbook template 01:27 - Declarations macro module 01:38 - Engine macro module 01:47 - Game macro module 02:12 - Settings 02:31 - Refreshing screen 02:40 - Implementing state machine 02:58 - Creating bat sprite 03:07 - Adding gravity 03:16 - Controlling bat 03:23 - Animating bat 03:33 - Drawing cave 03:53 - Implementing scrolling mechanism 04:08 - Collision detection 04:20 - Showing dead bat 04:30 - Displaying score 04:42 - Adding title screen 04:52 - Adding game over dialog 05:14 - Adding scoreboard 05:38 - Displaying hi-score 05:47 - Adding sounds 05:58 - Polishing title screen 06:09 - Outro: playing Bat Acrobat
★ Game Description ★
The gameplay of Bat Acrobat is easy to pick up but hard to master.
In this thrilling game, you take on the role of a bat trapped in a cave. Using your expert acrobatic skills, you must navigate through a series of obstacles by flapping your wings and collect points along the way. The game is over if the bat hits an obstacle or falls to the ground.
With intuitive controls and challenging levels, Bat Acrobat will keep you on the edge of your seat. So can you reach the end of the cave and escape to freedom? Just fly through the cave dodging rocks and stalactites, and see how far you can go!
★ Tutorial Description ★
If you're looking to learn some new Excel skills such as game development with Excel macros and VBA programming language, this tutorial is for you. So get ready to create an addictive game that will challenge your skills and keep you entertained for hours!
In this tutorial, I'll take you through the entire process of creating Bat Acrobat, from designing the game's graphics to programming the gameplay mechanics. I'll explain everything in a beginner-friendly way, so you don't need any prior experience in game development or Excel programming to follow along.
I'll start by opening a pre-made Excel game template and setting up the game environment. Then, I'll move on to explaining macros and VBA scripts that will power the game mechanics. I'll also show how to add the graphics, sprites, dialogs, scoreboard and so on.
By the end of this tutorial, you'll have a fully functioning game that you can play and share with your friends. Besides, you'll learn how to use Excel's graphics tools to create a visually appealing game, and how to program macros and VBA scripts to add functionality to your game. You'll also learn how to create an addictive gameplay experience by adjusting the difficulty level and creating a sense of progression.
Finally, you'll gain valuable skills in game development and Excel programming that you can apply to other projects, but you'll also be able to easily tweak the presented code and graphics to make your own games.
So grab a cup of coffee, open up Excel, and let's get started on creating Bat Acrobat!
★ Download ★
The Bat Acrobat Excel Workbook is available for download here:
#gamedev #indiedev #devblog #excel #vba #programming #coding #macroMaking Flappy Bird, but in Command Prompt with ASCII characters [C++ game dev tutorial]Srdjan Susnic2022-10-19 | Interested in making a C++ game from scratch at command prompt using only ASCII characters? Then welcome to the C++ Game Dev Tutorial on programming Flappy Bird for the Windows Console.
Flappy Bird is a very simple arcade-style game played with only one button.
Your task in this endless runner game is to navigate a little bird, trying to safely pass through the gaps in the vertical walls, and fly as far as possible.
The bird persistently moves to the right and falls towards the ground under the influence of gravity. At the same time, waves of deadly barriers are coming from the opposite side. In order to fly and thus avoid certain death, the bird must get flying impulses from the player! Here the player has only one button to control the bird, and that's the cursor up key.
The game is over when the bird collides with a barrier or the ground, or if it flies too high.
★ Chapters ★
To see what we are going to make in this C++ programming tutorial, the video starts with a short presentation of the complete game. After that, the whole game coding process is explained in detail as follows:
00:00 - Intro 00:29 - Terminator game framework 00:50 - Game class 01:02 - Main program 01:23 - Sky 01:28 - State machine 01:36 - Rocks on the ground 01:48 - Scrolling background 02:07 - Barrier class 02:27 - Mechanism of moving barriers 03:04 - Bird class 03:24 - Animating the bird 03:34 - Gravity and flight physics 03:49 - Player controls 04:00 - Collision detection 04:50 - Game over dialog 05:04 - Clouds 05:18 - Scoring system 05:29 - Sounds 05:44 - Splash screen 05:56 - Playing completed Flappy Bird game
★ Terminator Game Framework ★
Unlike other Flappy Bird clones, in this version the entire graphics is made with ASCII characters. So instead of bitmaps and sprites, this game uses only ANSI escape codes to render the complete scene.
To make it, I used my own game framework called Terminator (that name should be associated with the terminal/text based games).
It is a lightweight C++ library which provides a number of ready-made functions for programming games at the Windows command prompt. So instead of writing all that Windows Console specific functions from scratch, we can instantly focus on the game coding.
In addition, the final source code is much more understandable to beginners who learn C++ programming, but also to anyone else interested in video game development.
Here is a list of all features:
✓ rapid developing terminal based games (or text games) at the command prompt ✓ making C++ game programming easy and enjoyable in an elegant and efficient way ✓ creating and destroying console window ✓ tracking time to ensure refreshing screen at proper frames per second ✓ drawing characters, text and rectangles ✓ clearing and redrawing screen ✓ using ANSI escape codes to render screen ✓ playing sounds
★ Game Development Tools ★
To build the game, I used the MinGW for Windows development environment, and ran the gcc compiler at the command prompt.
Here are all my video game development tools:
✓ Notepad++ text editor to write programs. ✓ MinGW tools to compile C++ source codes with the gcc compiler. ✓ Command Line to run the gcc compiler and execute the game.
★ Call To Action★
I hope you enjoyed today's C++ game programming tutorial on how to make a game in C++ programming language.
So if you found this video interesting, please like it, and consider subscribing to my youtube channel. I would greatly appreciate it!
And that way, you will no longer miss out next videos intended to learn C++ programming for beginners.
If you have any feedback or suggestions, please let me know by leaving a comment!
Thanks for watching and happy game coding!
See you in my next video game development tutorial.
#gamedev #indiedev #devblog #programming #coding #c++ #consoleGame Coding Challenge: Snake (simple text based game to learn C++ programming for beginners)Srdjan Susnic2022-04-22 | Welcome to Game Coding Challenge #1 - a video tutorial on making a simple text based game for beginners who want to learn C++ programming, and all others interested in game coding.
In today's video, I'm making the classic Snake game. It is a super simple text based game made in C++ for the Windows console.
Your task is to move the snake with the cursor keys, and eat as much food as possible before you die of insatiable greed. The snake earns points with each item eaten, but it also gets longer as a result of enormous gluttony. The game is over when the snake runs into itself, or hits the border walls.
What makes this game different from similar others, is that the complete graphics is done only with ASCII characters. So instead of bitmaps and sprites, this game uses ANSI escape code sequences to render the scene.
To make it, I used my own game framework called Terminator (that name should be associated with the terminal/text based games?).
The framework enables rapid development of terminal based games in Windows Console, as it already provides many ready-made functions needed for programming games at the command prompt. So instead of writing all that console specific functions from scratch, we can instantly focus on game coding.
In addition, this approach makes the final source code much more understandable to beginners who learn C++ programming, but also to anyone else interested in video game development.
★ Chapters ★
00:00 - Showing the Snake game 00:42 - Introducing the Terminator game framework 01:22 - Creating the main program 02:16 - Implementing the game states 02:39 - Adding the snake 03:17 - Moving the snake 03:43 - Controlling the snake with cursor keys 03:52 - Adding the food 04:14 - Eating the food 04:37 - Adding the bonus item 05:17 - Checking collision between snake and walls 06:04 - Checking collision between snake and its segments 06:25 - Adding score 07:04 - Adding sound effects 07:34 - Adding splash screen 08:17 - Playing the Snake game
The video begins with a demonstration of the final product, just to see what kind of game we are going to make through this C++ programming tutorial.
Then it continues with a brief presentation of my own game framework called Terminator, which provides the following features needed for making terminal based games:
✓ creating and destroying console window ✓ tracking time to ensure refreshing screen at proper frames per second ✓ drawing characters, text and rectangles ✓ clearing and redrawing the screen ✓ playing sounds
After introducing the framework, the video shows the complete game coding process, explaining the entire source code line by line.
★ Source Code ★
The complete C++ source code of the Snake game is available on my Github repo:
This repo includes both the MinGW project and Visual Studio solution of the Snake game.
In addition, it also contains an executable file so you can instantly start playing the game without having to compile the source code.
★ Game Development Tools ★
These are my video game development tools:
✓ Notepad++ text editor to write programs. ✓ MinGW tools to compile C++ source codes with the gcc compiler. ✓ Command Line to run the gcc compiler via a batch script and play a text based game.
Although the game is primaryly built with the gcc compiler, it can also be compiled with the MS Visual Studio. Just check out my Github repo to download both versions!
★ Conclusion ★
I hope you'll enjoy today's lesson and maybe learn something more about how to make a game in C++ programming language.
Now it's your turn to go through this C++ game programming tutorial, and try to make your own game.
So if you find this video interesting, please like it, and consider subscribing to my youtube channel. I would greatly appreciate it!
And that way, you will no longer miss out next videos intended to learn C++ programming for beginners.
If you have any feedback or suggestions, please let me know by leaving a comment!
Thanks for watching and happy game coding!
See you in my next video game development tutorial.
#gamedev #indiedev #devblog #programming #coding #c++ #consoleC++ Game Dev Tutorial #2: Images & Sprites at Command Prompt (Making a C++ Game From Scratch)Srdjan Susnic2021-12-11 | Interested in making a C++ game from scratch at the command prompt? Then welcome to the C++ game dev tutorial series on how to code a game for the Windows console.
As you will see in these videos, programming games in C++ has never been so easy (sorry if this statement turns out not to be true).
To facilitate the process of coding a simple game in C++ at the command prompt, I developed a game framework called Consoler.
All source codes and programs shown in these videos are based on using this framework. So if you missed the previous parts, I highly recommend to watch them!
In episode #2, I'm going to show more complex examples.
We will see how to use the framework to display an image in the Windows console. We will also learn how to print text using bitmap fonts, and handle sprite objects. Finally, we will explain how to animate sprites, and detect collisions between sprites.
★ Chapters ★
00:00 - Intro 00:35 - Converting image to a console-readable format 01:20 - Using sprite object to display image 01:39 - Printing text with bitmap fonts 03:05 - Drawing sprites 03:24 - Scaling sprites 03:45 - Animating sprites 04:35 - Adding controls 05:14 - Checking collisions 05:57 - Watch in the next episode... 06:21 - Outro
This complete C++ game dev tutorial series is available for download on my Github profile, including the static and dynamic library of the Consoler framework and the source codes of all examples:
The Notepad++ text editor is used for writing the code. The MinGW tools is installed to run the gcc compiler. The command line is used to execute scripts for building a command prompt game.
★ Consoler game framework ★
Each demo as well as the console games shown in this video series are based on my own game framework, imaginatively named Consoler. Using it, the making a C++ game from scratch is pretty easy and straightforward.
The main features of the framework are:
✓ creating a new console window, ✓ running the main loop, ✓ handling all user inputs from a keyboard or mouse ✓ rendering the console screen, by using color attributes of the console buffer ✓ drawing pixels ✓ drawing primitive graphic shapes: lines, rectangles and circles ✓ displaying images and sprites ✓ animating sprites ✓ detecting collisions between sprites ✓ printing text using the bitmap fonts ✓ playing sounds ✓ providing utility helper functions
Now it's your turn to start coding a simple game in C++ with Consoler game framework.
So, I hope you will enjoy this game dev tutorial series and maybe learn something from it.
If you find today's video interesting, please like it, and consider subscribing to my youtube channel. I would greatly appreciate it!
And that way, you don't miss out on more actionable videos like this one.
If you have any feedback or suggestions, please let me know by leaving a comment!
Thanks for watching and see you in the next video.
#gamedev #indiedev #devblog #programming #coding #c++ #consoleC++ Game Dev Tutorial #1: Basic Graphics at Command Prompt (Making a C++ Game From Scratch)Srdjan Susnic2021-11-28 | Interested in making a C++ game from scratch at the command prompt? Then welcome to the C++ game dev tutorial series on how to code a game for the Windows console.
As you will see in these videos, programming games in C++ has never been so easy (sorry if this statement turns out not to be true).
In episode #1, I introduce my game framework, developed to facilitate the process of coding a simple game in C++ at the command prompt.
But instead of going into the details of the framework, this video shows how to use it in practice, through a number of simple demos that draw the basic graphics in Windows console.
★ Chapters★
00:00 - Intro 00:48 - My C++ game development tools 01:05 - Brief description of the Consoler game framework 02:26 - Basic program template 03:26 - Clearing the screen using Console colors 03:55 - Drawing randomly colored pixels all over the screen 04:08 - Drawing a starfield 04:23 - Drawing lines 04:32 - Drawing rectangles 04:42 - Displaying a percentage value using bars 04:55 - Drawing circles 05:05 - Download notice 05:12 - Watch in the next episode... 05:30 - Outro
This complete C++ game dev tutorial series is available for download on my Github profile, including the static and dynamic library of the Consoler framework and the source codes of all today's examples:
The Notepad++ text editor is used for writing the code. The MinGW tools is installed to run the gcc compiler. The command line is used to execute scripts for building a command prompt game.
★ Consoler game framework ★
Each demo as well as the console games shown in this video series are based on my own game framework, imaginatively named Consoler. Using it, the making a C++ game from scratch is pretty easy and straightforward.
The main features of the framework are:
✓ creating a new console window, ✓ running the main loop, ✓ handling all user inputs from a keyboard or mouse ✓ rendering the console screen, by using color attributes of the console buffer ✓ drawing pixels ✓ drawing primitive graphic shapes: lines, rectangles and circles ✓ displaying images and sprites ✓ animating sprites ✓ detecting collisions between sprites ✓ printing text using the bitmap fonts ✓ playing sounds ✓ providing utility helper functions
★ Demos ★
Before start coding a simple game in C++ that uses the Consoler framework, I wanted to show a few simple graphical demos.
So, after a brief introduction of the framework, today's video continues with the creation of the basic program template and then with the drawing of pixels, lines, rectangles and circles.
In the next episode, I'm going to show more complex examples such as drawing bitmap images, printing text using bitmap fonts, handling sprites, making animations and detecting collisions.
So I hope you will enjoy this game dev tutorial series and maybe learn something from it.
If you find today's video interesting, please like it, and consider subscribing to my youtube channel. I would greatly appreciate it!
And that way, you don't miss out on more actionable videos like this one.
If you have any feedback or suggestions, please let me know by leaving a comment!
Thanks for watching and see you in the next video.
#gamedev #indiedev #devblog #programming #coding #c++ #consoleProgramming racing game: How to make a car game in Javascript [Part 2]Srdjan Susnic2021-05-29 | Welcome to the part 2 of the video tutorial series on programming racing game, which shows how to make a car game in javascript. This part covers creating the Player class, updating the camera to follow the player, adding a clipping line to render only segments above it and making the road to correctly loops back.
★ Outline ★
00:00 - Intro 00:35 - What we have developed so far 01:08 - Creating the Player class 02:22 - Updating the camera to follow the player 02:59 - Adding a clipping line to avoid a psychedelic effect by rendering only segments above it 03:37 - Displaying the player's car by using a ferrari sprite 04:54 - Calculate the camera offset Z to correctly project segments when the road loops back 05:29 - Fixing Player to correctly update position when the road loops back 05:55 - Fixing Camera to correctly follow Player when the road loops back 06:32 - Watch in the next part...
★ Episodes ★
Part 1 - Setting up the project, implementing pseudo 3d projection and creating a straight road: youtu.be/6td_zpQC1U4
Part 2 - Adding the player and making the road to loops back: youtu.be/ZV23PaCSyS8
★ Project Description★
In this javascript racing game tutorial, I'm creating a complete retro-style arcade game like Outrun from scratch, step by step. It's an old school pseudo 3d racer, where your goal is to drive a car, as fast as possible through heavy traffic.
The term pseudo 3d refers to the simulating the appearance of 3d space by using a graphic projection. And to implement a 3d projection, it's enough to use a simple math based on the law of similar triangles. The whole process of deriving projection formulas is explained in detail in this pseudo 3d racing game tutorial.
To make this javascript car game, I used Phaser 3 Framework.
My wish was to write a simple car racing game code that would be understandable to everyone. So I tried my best to generate a self-documented code and comment almost all the lines.
It is certainly not like the original Outrun source code, but if you want to play around with the prototype, the code is available for download on my Github:
To summarize, here is a list of all stuff I'm going to cover in detail through this javascript racing game tutorial:
- initializing a new Phaser game - setting up the scene - creating the main game loop - programming pseudo 3d with explaining 3d perspective projection - building a straight road - adding curves and hills - implementing parallax scrolling of the backgrounds - controlling player car - adding roadside objects - adding other vehicles (cars and trucks) - implementing artificial intelligence for controlling vehicles - checking collision with objects and vehicles - and so on.
So I hope you will have as much fun as I did with programming this racing game, and learning how to make a pseudo 3d car game in javascript.
In that case, please like this video, and consider subscribing to my Youtube channel. I would greatly appreciate it! And that way, you don't miss out on more actionable videos like this one.
Now, let me know what you think about this javascript racing game tutorial by leaving a comment! Did you find it useful? Or, if there is anything that you don't like, please tell me!
#gamedev #indiedev #javascript #webdev #devblog #html5 #gamedeveloper #javascriptgames #programmingJavascript Machine Learning Game Tutorial: How to make AI drawing guessing game using CNNSrdjan Susnic2020-11-29 | This video shows a Javascript Machine Learning Game Tutorial, in which I explain how to make AI drawing guessing game based on image recognition using cnn. To run the game, visit my official website: askforgametask.com/tutorial/machine-learning/quick-draw
★ Outline ★
00:00 - Introduction 00:32 - Project description 00:54 - Exploring game 01:42 - Getting data 02:57 - Creating convolutional neural network model 03:41 - Explaining training algorithm 04:58 - Training CNN model and predicting samples 05:41 - Implementing drawing interface 06:23 - Drawing art paintings 06:38 - Scaling images down to the input size 07:06 - Predicting doodles 07:25 - Enlarging dataset to recognize more doodles
★ Project Description★
This video explains the main concepts for implementing a game like Quick Draw. It's a well known, ai drawing guessing game that challenges players to draw a doodle, and then, artificial intelligence guesses, what the drawings represent.
To make it, I used Javascript with Phaser 2 Framework, so you can run it directly in your browser. To recognize doodles, I implemented a convolutional neural network image clasification using Tensorflow JS Library. To train the convolutional neural network, I used the free Quick Draw Dataset.
As I said, to train the model, I used the Google Quick Draw dataset. Specially for this tensorflow js project, I needed grayscale bitmap images, size of 28x28, in numpy file format.
To keep things simple, I started with only 3 categories: car, fish and snowman. Moreover, I reduced these datasets, by extracting only 500 images from each category. Finally, I split them into the traning data (80%) and the test data (20%).
The last step in data preparation was shuffling.
★ Convolutional Neural Network ★
The next step was to add an artificial neural network in machine learning. To guess what your drawing represents, a convolutional neural network image clasification is built. Here I used a sequential model type, where outputs of one layer are the inputs to the next layer.
The entire architecture of this convolutional neural network explained in the video!
★ Training ★
The model is trained through a number of iterations by fetching batches of samples from the Training Data. Similarly, the validation of the model is performed by fetching batches of samples from the Testing Data.
During training, we can monitor how the model improves over time by watching the graphs of the model loss and accuracy.
★ Drawing Doodles ★
The players draw doodles and their art masterpieces by using mouse. The entire algorithm of generating smooth lines between points is explained in the video.
★ Recognizing Doodles ★
Once the training is completed, the model is ready for making predictions. This is performed by image recognition using cnn.
Besides recognizing our own doodles, this Quick Draw AI game has a feature to also make predictions for a batch of samples. Here, the correct predictions are colored green, and the incorrect ones are shown in red color. This way we can test the model to see how good it is before using it to recognize our own doodles.
★ Adding More Doodles ★
Finally, I experimented with the implemented tensorflow image recognition algorithm, to see if it can be easily adapted to recognize more different doodles. So, I retrained the model with a larger dataset using 10 categories.
To see the results, make sure to watch the entire video!
★ Conclusion ★
So, I hope you found this tensorflow js project interesting. In that case, please like this video, and consider subscribing to my youtube channel. I would greatly appreciate it! And that way, you don't miss out on more actionable videos like this one.
Now, let me know what you think about this javascript machine learning game tutorial by leaving a comment! Do you wanna make your own quick draw ai after watching this video? Or, if there is anything that you don't like, please tell me!
#MachineLearning #ArtificialIntelligence #NeuralNetwork #MachineLearningAlgorithms #ai #cnn #Tensorflow #TensorFlowJS #JavaScript #gamedev #MadeWithTFJS #tfjs #mlSupervised Machine Learning Game Tutorial: AI Learns To Play Gorillas (Tensorflow JS Project)Srdjan Susnic2020-10-16 | In this video, I'm going to show my new Machine Learning Game Tutorial, in which AI learns to play Gorillas game using supervised machine learning algorithms. To run the simulation, visit my official website: askforgametask.com/tutorial/machine-learning/gorillas-ai-bot
★ Outline ★
00:00 - Introduction 00:50 - Project Description 01:20 - Playing Gorillas original game 01:45 - Creating neural network model 02:32 - Collecting data using brute-force 03:29 - Training with polynomial regression 04:08 - Predicting shooting parameters 04:32 - Playing Gorillas AI bot game 06:11 - Winning project challenge 06:39 - Bonus part 07:26 - Bonobo vs King Kong 07:53 - King Kong vs King Kong 08:16 - Conclusion
★ Source Code ★
So, in this supervised learning tutorial, we'll deal with machine learning, game playing and artificial intelligence.
The game is programmed in Javascript with Phaser 2 Framework, so you can run it directly in a browser. To implement supervised machine learning algorithms I used TensorFlow JS Library.
The main goal of this tensorflow js project was to make an AI bot that plays classic Gorillas game (originally written in Basic, also known as gorilla.bas).
Here I used artificial neural network in machine learning to predict shooting parameters. But at first, I had to trained it!
As in any other supervised machine learning example, the neural network learns to play by using relevant data.
So, I implemented a brute-force method to generate data for a number of randomly created levels.
Finally, to fit the network, I applied polynomial regression to the previously collected data.
In order to make a challenging supervised learning example, I also defined the following goal: the AI bot must score more than 80 out of 100 shots!
Here are more details:
The first step was to create the original fully playable Gorillas game, with complete functionality. That means, I had to implement the original mechanics where two players define the shooting parameters trying to hit each other with explosive bananas.
After completing the original game, the next step was to change it to an AI learning game. That means I had to replace player controls with a neural network model. So, instead of using mouse to define the shooting parameters, now the neural network should predict these values using supervised machine learning algorithms.
Let's see an artificial neural network example that has proven to be the best: - 3 inputs: view angle of the 1st gorilla, view angle of the 2nd gorilla, and the distance between both gorillas. - 16 hidden nodes - 2 outputs: the power, and the angle of the shot.
After creating the network, the next step is training. And, as I already said, to train supervised machine learning neural networks, we need data!
So, I implemented a brute force method to get shooting parameters for a number of randomly created levels. This method generates all possible banana trajectories for each random configuration and then selects the best one.
After that, I applied a non-linear regression (polynomial regression) to the collected data to fit the neural network.
Here I used a polynomial model very similar to this common polynomial regression model example: Y = A*(X^3) + B*(X^2) + C*(X) + D
To conclude this supervised learning tutorial, let's say that the both gorillas won the project challenge scoring more than 80% of the first shots!
So, I hope you found this tensorflow js project interesting. In that case, please like this video, and consider subscribing to my youtube channel. I would greatly appreciate it! And that way, you don't miss out on more actionable videos like this one.
Now, let me know what you think about this supervised learning tutorial by leaving a comment! Did you find it useful? Are you gonna start making your own, ai bot game after watching this video? Or, if there is anything that you don't like, please tell me!
Stay tuned for my next machine learning game tutorial! And see you in my next video!
#SupervisedLearning #MachineLearning #ArtificialIntelligence #NeuralNetwork #MachineLearningAlgorithms #AI #DataScience #Tensorflow #JavaScriptAI learns to play Tetris using Machine Learning and Convolutional Neural NetworkSrdjan Susnic2020-04-03 | In this video you'll see how AI learns to play Tetris using Convolutional Neural Network. To play a live demo and learn more on machine learning in this project, visit my blog: askforgametask.com/tutorial/machine-learning/ai-plays-tetris-with-cnn
00:00 - Intro 00:08 - Playing Tetris in 1984 (♥♥♥ special thanks to Toni Susnic ♥♥♥) 00:26 - Playing Tetris in 2020 00:54 - Collecting Data 01:10 - Augmenting Data 01:26 - Building Model 01:39 - Training Model 02:16 - Playing with Trained Model 02:35 - Clearing 4 Rows at once 03:08 - Scoring 999,999 Points 03:22 - Getting Out of a Tricky Situation 04:14 - How Long Can It Survive? 04:21 - The End
To simulate a human brain, I used Machine Learning with Convolutional Neural Network. The game is programmed in Javascript using Phaser 2 and TensorFlow.js.
★Dataset ★
To train the network, I needed a high-quality dataset of the various board configurations described by images with corresponding labels where: ● the image is a snapshot of the board. ● the label is an action that represents the final column placement and rotation of a played piece on that board.
Here I found a Youtube channel with a lot of Tetris Championship matches. There, all competitors play Tetris at the top level producing a small number of errors. Besides, they aim to score the most points by clearing four rows at once all the time.
So these matches are a great resource of high-quality Tetris data! To analyze and collect data from these videos, I made a Tetris Data Scraper tool. Using it, I processed 15 matches, generating around 50,000 records.
Unfortunately, that was not enough to train the network.
So I made a Data Augmentation tool to artificially expand the dataset by creating modified versions of the original boards. After generating 1,000,000 data records with this tool, I merged all of them into one final 180MB dataset file.
Now, I could train the convolutional neural network.
★ Model ★
The architecture of the model used in this game is a simple sequential convolutional neural network. It is consisted of a linear stack of layers with no branching as follows: ● input: 20x20 image of a board configuration ● three convolutional layers ● a flatten layer ● three fully connected layers ● output: one of the 44 possible actions
Each action is a combination of the final column position and rotation that must be applied to a piece on the current board configuration.
To place a piece on its final position, we need 11 columns. Since each piece has 4 rotations, that is a total of 44 actions (11*4).
The model is compiled with these parameters: ● Optimizer: Adam with a learning rate of 0.0005 ● Loss Function: Categorical Crossentropy ● Evaluation Metric: Accuracy
★ Training ★
During the training, the network was showing gradual progress.
After 40000 training iterations, the bot began to place pieces in the correct positions and clear the rows continuously.
After 75000 iterations, it was playing pretty well. It clears four rows at once and scores more than 999,999 points. It also knows how to get out of some tricky situations most of the time.
However, it still makes some funny mistakes and sometimes loses the game very quickly. But generally speaking, it can survive for a long time.
★ Conclusion ★
The goal of this project was to create artificial intelligence that learns to play Tetris using a convolutional neural network.
It wasn't an easy task, and the biggest challenge was how to generate a high-quality dataset to train the network.
The final result shows that predictions from a trained model are not always 100% accurate, but still quite acceptable to play Tetris pretty well.
Due to the variability of the real world, the network doesn't know how to handle all situations. It then makes stupid mistakes that ultimately lead to the loss of the game.
More details about making this project, you can find on the official website.
The source code will be available on Github as soon as possible.
So stay tuned, and don’t forget to like, share, and subscribe.
#MachineLearning #NeuralNetwork #ArtificialIntelligence #MachineLearningAlgorithms #AI #DataScience #Tensorflow #JavaScriptQuick Image Classifier #3: AI Learns to Recognize Doodles with Machine LearningSrdjan Susnic2019-11-07 | Episode 3 of the video tutorial series on making an image classifier for doodle recognition. Learn more about machine learning algorithms used in this project on my blog: askforgametask.com/tutorial/machine-learning/image-classifier-doodle-recognition-cnn-intro
00:00 - Intro 00:08 - Part 5: Predicting Samples 01:38 - Part 6: Drawing Doodles 03:11 - Part 7: Predicting Doodle 04:30 - Playing Doodle Predictor with 3 Categories 05:08 - Part 8: Adding More Doodles 05:42 - Playing Doodle Predictor with 10 Categories 07:39 - End Screen
In this 4-episode tutorial series, I'm going to show you how to do image classification using TensorFlow to make a game like Quick Draw!
As you know, Quick Draw! is an online game that challenges players to draw a doodle and then artificial intelligence guesses what the drawings represent.
Using Phaser 2 framework (http://phaser.io) for making HTML5 games and TensorFlow JS (js.tensorflow.org) for implementing machine learning in Javascript, I made a similar game called Doodle Predictor. It's actually an image classifier app that runs directly in the browser.
To perform image recognition, the game uses Artificial Intelligence (AI) powered by Machine Learning (ML) and Convolutional Neural Network (CNN).
To avoid loading big data files, the model is trained on a small subset of the Quick Draw Dataset using only 500 images per each category. This means that the output predictions will not always be correct because the model is not trained for each possible case.
In order to get better and more accurate predictions from an image classifier, its convolution neural network should be trained using much more images. But for learning purposes this is quite enough.
In this part, we learn how to use TensorFlow to make predictions on a batch of samples in our Doodle Predictor game.
● Part 6: Drawing Doodles
In this part, we create a new Painter Class that allows users to draw their own doodles with the mouse.
Once we define a drawing area, a painting canvas and a pencil, we will learn how to draw a smooth line segment between two points using two quadratic curves.
● Part 7: Recognizing Doodles
In this part, we learn how to resize our own doodle drawing to the required size of 28x28 before passing it as the input of the CNN model. Then we will see how to use TensorFlow to make a prediction for it.
This part ends with a short demonstration of the game that recognizes doodles from these three categories: car, fish and snowman.
● Part 8: Adding More Doodle Categories
In this part, we learn how to add more categories to our Doodle Predictor game if we want to recognize more different doodles.
Finally, we can enjoy in a full demonstration of the complete game that recognizes doodles from 10 different categories.
► Episode 2: youtu.be/-iBBWDJrUEs • Part 1 - Project Setup • Part 2 - Getting Data • Part 3 - Building a Convolutional Neural Network Model • Part 4 - Training the Model
► Episode 3: youtu.be/rCogVEJe3sU • Part 5 - Predicting Samples • Part 6 - Drawing Doodles • Part 7 - Recognizing Doodles • Part 8 - Adding More Doodle Categories
00:00 - Intro 00:08 - Part 1: Project Setup 01:15 - Part 2: Getting Data 03:22 - Part 3: Building the Model 04:40 - Part 4: Training the Model 07:36 - End Screen
In this 4-episode tutorial series, I'm going to show you how to do image classification using TensorFlow to make a game like Quick Draw!
As you know, Quick Draw! is an online game that challenges players to draw a doodle and then artificial intelligence guesses what the drawings represent.
Using Phaser 2 framework (http://phaser.io) for making HTML5 games and TensorFlow JS (js.tensorflow.org) for implementing machine learning in Javascript, I made a similar game called Doodle Predictor. It's actually an image classifier app that runs directly in the browser.
To perform image recognition, the game uses Artificial Intelligence (AI) powered by Machine Learning (ML) and Convolutional Neural Network (CNN).
To avoid loading big data files, the model is trained on a small subset of the Quick Draw Dataset using only 500 images per each category. This means that the output predictions will not always be correct because the model is not trained for each possible case.
In order to get better and more accurate predictions from an image classifier, its convolution neural network should be trained using much more images. But for learning purposes this is quite enough.
Topics covered: • playing the original Quick, Draw! game • viewing Doodle Predictor game specifications • setting up the project based on Phaser framework • creating a basic program structure
● Part 2: Getting Data
This part shows how to get and prepare data for our Doodle Predictor game. For the sake of simplicity, we will use only three dataset categories: car, fish and snowman.
Topics covered: • about Google "Quick, Draw!" dataset • downloading 28x28 grayscale bitmap images stored in numpy file format • extracting images from each category to get small-sized binary files • splitting images into training and test data • shuffling data
● Part 3: Building a Convolutional Neural Network Model
This part shows how to use TensorFlow to build a Convolutional Neural Network (CNN) model for image classification.
Topics covered: • creating a sequential model type • adding layers to the model • compiling the model
● Part 4: Training the Model
This part shows how to use TensorFlow to train the Convolutional Neural Network (CNN) model.
Topics covered: • fetching batches of data • training, testing and evaluating the model • plotting graphs of the model loss and accuracy during training
► Episode 2: youtu.be/-iBBWDJrUEs • Part 1 - Project Setup • Part 2 - Getting Data • Part 3 - Building a Convolutional Neural Network Model • Part 4 - Training the Model
► Episode 3: youtu.be/rCogVEJe3sU • Part 5 - Predicting Samples • Part 6 - Drawing Doodles • Part 7 - Recognizing Doodles • Part 8 - Adding More Doodle Categories
In this 4-episode tutorial series, I'm going to show you how to do image classification using TensorFlow to make a game like Quick Draw!
As you know, Quick Draw! is an online game that challenges players to draw a doodle and then artificial intelligence guesses what the drawings represent.
Using Phaser 2 framework (http://phaser.io) for making HTML5 games and TensorFlow JS (js.tensorflow.org) for implementing machine learning in Javascript, I made a similar game called Doodle Predictor. It's actually an image classifier app that runs directly in the browser.
To perform image recognition, the game uses Artificial Intelligence (AI) powered by Machine Learning (ML) and Convolutional Neural Network (CNN).
To avoid loading big data files, the model is trained on a small subset of the Quick Draw Dataset using only 500 images per each category. This means that the output predictions will not always be correct because the model is not trained for each possible case.
In order to get better and more accurate predictions from an image classifier, its convolution neural network should be trained using much more images. But for learning purposes this is quite enough.
► Episode 2: youtu.be/-iBBWDJrUEs • Part 1 - Project Setup • Part 2 - Getting Data • Part 3 - Building a Convolutional Neural Network Model • Part 4 - Training the Model
► Episode 3: youtu.be/rCogVEJe3sU • Part 5 - Predicting Samples • Part 6 - Drawing Doodles • Part 7 - Recognizing Doodles • Part 8 - Adding More Doodle Categories
This video shows a creation of an artificial intelligence controller for the Flappy Bird game using neural networks and a genetic algorithm.
The program is written in HTML5 using Phaser framework (http://phaser.io/). There is also used Synaptic Neural Network library (synaptic.juancazala.com) to implement entire artificial neural network instead of making a new one from the scratch.
According to Arthur Samuel, machine learning is the science of getting computers to act without being explicitly programmed. It is a fine tuning process of learning that incrementally improves an initial random system.
The form of machine learning implemented in this program uses a genetic algorithm to train artificial neural networks.
The birds are learning how to flap optimally in order to fly safely through barriers as long as possible.
The main concept is based on these 3 steps: 1. creating the initial population of 10 birds randomly 2. learning as the game is being played 3. applying natural evolution to form the next improved population
To measure the quality of birds and select the best ones, for each bird is calculated its fitness function in this way: - reward a bird by its total traveled distance - penalize a bird by its current distance to the closest gap
When the entire population is dead, the fittest four birds are selected to breed a new population by using genetic algorithm operators: selection, crossover and mutation.
#MachineLearning #NeuralNetwork #ArtificialIntelligence #MachineLearningAlgorithms #AI #DataScience #Tensorflow #JavaScriptHighlights: NK Samobor - NK Samoborski Otok (prstići 2010)Srdjan Susnic2017-06-11 | 21' - stari U7 prepredeni lisac Toni Šušnjara iskorištava pogrešku protivničkog golmana i spektakularno zabija za smanjenje vodstva gostiju na 1:27
43' - Tanac zabija eurogol s centra igrališta i smanjuje na 2:73 za goste nakon čega slijedi dobro uvježbana proslava pogotka zvana "Hrpa se trpa".
50'+67' - Duboko u sudačkoj nadoknadi igrači su se počastili čevapima.Highlights: NK Samobor - NK Bestovje (Zimska Liga Prvaka 2017, prstići 2)Srdjan Susnic2017-02-19 | 15 minuta utakmice. Šušnjara uzima loptu na centru terena, prolazi između dva gorostasna protivnička braniča, trećeg šalje u prazno i prizemnim šutom iz mrtvog kuta hladnokrvno zabija za 1:0.Snake Runner: Crazy Fruit Rush - endless runner game for Web and Android devicesSrdjan Susnic2017-01-28 | A fast paced top-down endless runner game inspired by the classic Snake game. It introduces a new gameplay concept based on a single tap control movement scheme.
A greedy and hungry snake is captured in an endless dungeon maze. It constantly moves forward always looking for the first next food. Your goal is to survive a crazy food rush as long as possible by eating any food item which appears in front of the snake and avoiding all deadly obstacles placed around the dungeon maze such as walls, barriers, electric fields and so on.
Eating a fruit is mandatory, not only to satisfy the snake's infinite need for food and get 10 bonus points, but also to deactivate an electric field which is currently the closest to the snake. On the other hand, each eaten fruit causes the snake to grow in length decreasing its maneuvering space.
Besides the fruits, there are a lot of worms dispersed inside the dungeon and they could be also eaten by the snake. Although a worm has a very bad taste, eating it will cause the snake to reduce its body length by pushing the content of its stomach out the back. Besides that, you will also earn 10 bonus points for each eaten worm. Unlike fruit, eating a worm is not mandatory to continue your crazy food rush through the dungeon!
★ Control
The player controls the snake by changing its direction. The snake can only go forward, but never go backwards! Its head will be always directed to the first next food which is currently in its view.
All the actions in the game are accomplished with a single tap control – to change the snake’s direction just tap with your finger!
★ Scoring
During the race for food through the dungeon maze you get 1 point for each traveled distance of 1 meter in vertical direction and 10 bonus points for each eaten piece of food (either fruit or worm).
★ Ending of the crazy fruit rush
The game is over if the snake runs into the screen border, wall, barrier or any another obstacle placed around the dungeon maze.
The player also loses the game when the snake burns out after touching any active electric field which is currently producing energy for the dungeon.
★ List of rules and features
- free arcade game - the snake is controlled by a single tap changing its direction toward the closest food item - the dungeon maze is endless - each fruit eaten makes the snake longer decreasing its maneuvering space - each worm eaten makes the snake smaller increasing its maneuvering space - deadly electric fields will be deactivated by eating fruits - 1 point for each traveled vertical distance of 1 meter - 10 points for each eaten food item - the snake has only one life - the game is over when the snake runs into any obstacle or touches any active electric field - recommended for all players of any age
★ About
Snake Runner: Crazy Fruit Rush is an hybrid native application inspired by a classic Snake game. It is written in HTML5 programming language using the Phaser framework and then compiled to a native Android application using Cocoon service with Canvas+ engine.
Snake Runner: Crazy Fruit Rush is automatically optimized and adjusted to any screen resolution and playable on any Android device including phones and tablets. Since it is written in HTML5 you can also play it instantly in your desktop/mobile web browser - just go to the official AskForGameTask website at: http://www.askforgametask.com/mobile/games/snakeNaval Battle - HTML5 arcade game for playing as Web app or Android native appSrdjan Susnic2016-07-29 | Available in Play Store: play.google.com/store/apps/details?id=com.afgt.naval
Naval Battle: Sea Ship Assault is an old style arcade game with a war theme. Take control of an assault tank vehicle and sink the elite fleet of enemy warships in this historic naval battle.
You are the commander of the VIC Victory, a fast light assault tank used by the Mobile Coastal Defense Artillery Squad in defending country against sea attacks. Your mission is to destroy a fleet of enemy cargo ships before they cross the sea and deliver ammunition and provisions to the enemy troops.
You have only 70 seconds to sink all ships and win the battle. Besides that, each ship is changing its speed while moving on the sea. To make an accurate shot you need to aim very carefully predicting the next position of your ship target in advance.
The ships are not armed, but they are quite well protected by the gun fire from a fortified military bunker placed on the other side of the sea bay. You must avoid that gun fire all time if you don't want to be killed! The enemy bunker with its machine gun artillery unit cannot be destroyed.
Your tank is armed with a limitless supply of anti-ship shells, but during the battle only one shell can be in your view at a time! That means you cannot fire another shell until the previous one is still flying over the sea.
You get 100 points for hitting a ship in its left or right side, and 200-400 points for hitting a ship in its center. If you sink all ships, you will go to the next level starting a new naval battle against even more aggressive fleet of enemy warships and faster gun fire from the enemy bunker.
The game ends if you fail to win the battle within the 70-second time limit or if your tank is destroyed by enemy gun fire.
Tank controls: Tap on the left/right command buttons to move your tank. Tap on the middle command button to fire a shell.
Naval Battle: Sea Ship Assault is an hybrid native app inspired by an old Basic game I played as a kid on my Commodore VIC-20 computer. It is written in HTML5 language using Phaser framework and then compiled to a native Android app using Cocoon service with Canvas+ engine.
Naval Battle: Sea Ship Assault is automatically optimized and adjusted to any screen resolution and playable on any Android device including phones and tablets. Since it is written in HTML5 you can also play it immediately in your desktop/mobile web browser (find it on official AskForGameTask website at http://www.askforgametask.com/mobile/games/naval/).
Naval Battle: Sea Ship Assault is recommended for all players of any age.Spring Basketball Arrow Target - mini table basketball game for Android devicesSrdjan Susnic2015-10-21 | Play a mini table basketball game like never before with this innovative spring shot machine! Available in Play Store: play.google.com/store/apps/details?id=com.afgt.basketball
★ Description Enjoy in a fun sport game with a realistic physics environment and a very easy control - just tap, hold and release your finger to make shots!
Test your skills against your mobile device or other real live opponents. Improve your basketball shooting technique in single player practice mode.
To play this game you don’t need to be a professional NBA player or a big guru of basketball game theory. There is no need to rebound, assist, dribble and block. Just shoot the ball through the net as much as you can! No fouls, no overtime and no usage of various strategies such as zone defense, man to man defense or pick and roll offense. Just run and gun!
★ Game setup You can choose single player practice mode to sharpen your shooting skills, or play multi player live games against your mom, dad, friends or any other human being. Challenge your mobile device also and try to win and beat computer artificial intelligence. Playing and winning games against the computer AI you can unlock achievements and win gold, silver and bronze cups and other trophies.
If you want to do absolutely nothing, choose a demo game between two computers AI. Now you can enjoy in professional basketball like you normally enjoy when you watch a real sport match on TV.
After selecting single or multi player mode you can also define a game duration. Here you have options to play a game which lasts 1, 2 or 5 minutes or choose a game with the winner being the first to reach 21 or 42 points.
★ Spring control Tap to start with spring pressing when arrow is directed to a basket target Hold to define shot power by watching arrow growth Release when predicted ball trajectory goes through the basket net
★ Scoring During the gameplay, a team can score from 1 to 5 points by shooting the ball through the basket net. Shots from a long distance worth more points! To know how much points could be scored, each player of the team has a number on its sport dress as follows: 1) Center is shooting for 1 point 2) Power forward is shooting for 2 points 3) Small forward is shooting for 3 points 4) Point guard is shooting for 4 points 5) Shooting guard is shooting for 5 points
★ Rules • The home team has blue sport dress and blue basket as target. • The guest team has red sport dress and red basket as target. • A team will get negative points for shooting the ball through the own basket net. • A team has max 6 seconds to make a shot. • A team can make max 3 shots per one action. • A team can end the game with a negative score. • The final score can be tied.
★ Practice mode • Use single player practice mode to become a better shooter. • Try to make better personal score, beat other players and reach the top of the leaderboard. • You have only 2 minutes to score as much points as you can. • Total score is the sum of the points scored by both blue and red team. • There is no violation of max 6 seconds for a shot • There is no limitation of max 3 shots per one action. • Your final score will be submitted to the leaderboard. • Your final statistics of the shots will be used to unlock practice achievements so you can win gold, silver and bronze stars and several very nice balls for playing basketball.
★ Game end A detailed scoreboard is displayed at the game end with buttons to share your results with your Facebook and Twitter friends.
★ Background story The main idea for this game originates from an old basketball toy shooting machine which I was playing when I was a kid. The gameplay of that classic toy was based on pressing one of ten buttons to randomly shoot the ball through the basket net.
Now here is Spring Basketball Arrow Target, a simple, fun and addictive one-button sport game with a minimal flat graphics and realistic physics made by Box2d physics engine and libGDX game framework.
Thanks for playing Spring Basketball Arrow Target!Sprint Revenge: Knockout Smash (Android Game)Srdjan Susnic2015-02-17 | An endless runner game in which you need to finish a running race without getting a knockout punch by bumping into hurdles. Available on the Android Market: play.google.com/store/apps/details?id=com.afgt.sprint.revenge
To control your runner just swipe your finger left or right.
★ Description The main goal is to fire ping pong balls from a catapult attempting to shoot as many balls as possible into moving coctail cups on the other side.
Just tap with your finger to fire balls. Be fast and produce accurate shots to hit all targets and make better scores, earn all achievements, beat other players and reach the top of the leaderboard!
★ Background The game is an attempt to make an addictive physics game using Box2d physics engine together with libGDX game framework. It is based on an idea which originates from two other games - Beer Pong and 100 Balls with a goal to make a mix of both games but with a big twist.
For those who don't know, Beer Pong game is a real game in which two teams of Beer Pong players throw a ping pong ball across a table with the intent of landing the ball in opponent's cups of beer. If a ball lands in a cup, that cup is removed from the table. The winner is the first team which eliminated all of the opponent's cups filled with beer.
For fans of 100 Balls game, the physics and playing mechanics of returning balls from filled cups to a big glass pot and breaking empty cups may look pretty similar but this is definitely not a yet another variation of 100 Balls (at least there are no 100 balls in Pong Ball Catapult)!
★ Controls When you start the game and depending on your preference, you can select between right or left handed play to avoid a problem of overlaying the game screen by your playing finger.
To play the game, just tap on the screen with your finger. Hold down and move it over the screen until you get a desired ball path presented with points of a trajectory line. When you are satisfied with the predictive trajectory line and ready to shoot the ball, release your finger and the ball will be fired following defined trajectory and the laws of physics.
★ Gameplay The game begins with 40 balls placed in a big glass pot waiting there to be launched from a catapult. One of the balls is always automatically transferred from the glass pot to the catapult which is placed under the pot. In fact, this is not a real catapult as you may expect. Instead, it looks more like a drinking bendy straw!
On the other side of the playing area, there are three cups arranged in a horizontal line formation moving from the bottom to the top of the screen. These cups are your targets! Shoot and put as many ping pong balls as possible into these moving targets from round to round!
All filled cups return balls to the big glass pot. Any empty cup will be broken! Then a new round starts bringing a new combination of three cups arranged in a horizontal line. Every next round also speeds up the cups so you need to play faster and faster if you want to hit these targets before they reach the top of the screen.
★ Scoring Your total score is a sum of points and bonus scored in each round. That means your score is increased in each round by next two values:
Points = points of cup 1 + points of cup 2 + points of cup 3 Bonus = points of cup 1 * points of cup 2 * points of cup 3
Number of points you get for a single cup is calculated as the number of balls in that cup multiplied by its size factor. This multiplication factor is greater for cups with less sizes and it is always drawn on each cup. In that way, you can always know which cup is smaller or bigger than others and how much points you can earn by shooting balls into a certain cup.
★ Social features • Sign in with your Google account to save your highscore, earn achievements and compete with your friends and other players • Get all 20 achievements and rise to the top of the leaderboard • Share your game progress and highscores with your Facebook and Twitter friends
★ Game end The game is over when all balls are lost or 5 cups are broken.Sultan Solitaire Classic Match - a solitaire card game for Android devicesSrdjan Susnic2014-05-07 | Surround the Sultan with all his queens in this fun and addictive solitaire classic card game! Available in Play Store: https://play.google.com/store/apps/de...
Music by Kevin MacLeod: "Ibn Al-Noor" Kevin MacLeod (http://incompetech.com) Licensed under Creative Commons: By Attribution 3.0 http://creativecommons.org/licenses/b...
★ Description
Tired of traditional Solitaire card games such as Klondike and Freecell? All secrets of pyramids already discovered by playing Pyramid Solitaire again and again? The last golf match on the Golf Solitaire course played a long time ago? All spiders from Spider Solitaire smashed many times by your finger? All peaks of three towers already reached during hours of playing Tri-Peaks Solitaire?
You already know how to open the door of the den of forty thieves? Yes of course you know, this puzzle has solved since you were a child by winning Forty Thieves Solitaire million times. No more patience for scorpions in Scorpion Solitaire? No more interest in playing Klondike Solitaire after all gold has been taken from the Klondike region of the Yukon during Klondike gold rush more than a hundred years ago? No more money for playing blackjack, poker and other casino card games?
Now it is time for a new card game experience! Start to play Sultan Solitaire Classic Match card game! Use your card skills and try to solve this solitaire puzzle. Become a Sultan Solitaire master!
★ Features • simple but challenging game play • fun and enjoyable time killer • intuitive graphic user interface • amazing design of Sultan-themed graphics, cards, title illustration and playing table • smooth animations of playing cards • ambiance background music • tap to move or drag and drop cards • undo and redo buttons • detailed playing instructions inside the game • connect via Google+ to save your highscore and share it with your Google+ friends! • compete to win and rise to the top of the leaderboard! • 26 different achievements • detailed player statistics and scoreboard • see your current card skill rank • share your game progress and highscores with your Facebook and Twitter friends • optimized for Android phones and tablets of all screen sizes • ad-supported but ads not shown while playing
★ Reviews • "Sultan Solitaire is currently the best solitaire card game on Android!" – Thieves of Pyramid Treasure, computer game magazine • "Great time killer which also requires a brain work in the same time." – Spider vs. Scorpion, game review website • "If you lost all your patience with a golf ball after several missed shots during a golf game then relax yourself by playing Sultan Solitaire!" – Martina Klondike, golf psychology expert • "I can't stop playing Sultan Solitaire! This card game is so addictive! What a great puzzle!" – Fritz Freecell, an addicted player • "This game really kills time during long boring business meetings like no other solitaire card game!" - Marc Yukon, managing director of the Three Peaks software company.
★ Rules • The centre card in the foundations is the Sultan and remains alone. • The other cards in the foundation piles must be built up by suit in order (for instance: king of spades begins with ace of spades and ascends in sequence to queen of spades) • Six cards from the waste can be placed around the foundations to make up the reserve. • You have two redeals.
★ How to play • Take the top card from the deck and place it in the face-up waste pile. • Take the top card from the waste and add it to one of the foundation cards or move it to a free reserve place. • Take a card from the reserve and add it to one of the foundation cards.
★ Scoring system Your final score depends on the combination of the next parameters: • total number of cards placed on foundations • your current card skill bonus which can be improved by continual playing Sultan Solitaire. • time penalty which forces you to play as fast as you can • bad moves penalty which forces you to play properly by getting penalized if you try to take (tap) a card which cannot be moved to any foundation or free reserve.