PCG in my Games

Hello everybody,
Long time with no posts or updates here. It seems like desert, sorry for that but I am sure people who follow me on twitter knows I was busy with my Master’s Thesis in Procedural Content Generation (PCG). I have always used PCG in my games as an excuse for being lazy and not designing levels (as I am not amazing level designer). In this post I will wrap up quickly some of the PCGs I used in my games. In the next post will talk about PCG in my Master’s Thesis.

Slide27
As most of people noticed lots of my arcade games used PCG especially top down shooters (Clean’Em Up and Alone in the Park). All these games don’t have levels designed in advance, but instead they have enemy numbers and types to be generated. The system afterwards choose the most suitable location (away from the player position) and insert them. Pace Maker was a little different where the system generates the types and numbers based on the level of difficulty so as difficulty increase the number of enemies and variety of types increased.

Slide82
Match a Number used PCG technique to generate the map. The idea is super easy

  • Insert random tiles (numbers and types) over the whole grid
  • Choose the solution length based on the player score (define the difficulty).
  • Generate a random path of the specified length without any loops.
  • Calculate the value of this path and consider it as player target

For the puzzle mode instead of generating paths, the whole playground is divided into sets according to the number of sets required at the beginning and then calculate the value of each set separately.

Slide84
Atomic+ bullet pattern was generated based on a certain equation of difficult. The bullet generator is divided into the following features and by combining these features we can get a new shooter

  • Bullet Path (bp): how the bullet moves in the game (straight line, sin wave, spring, and circular path).
  • Number of Spawner (ns): how many places bullets should fire from the center (1, 2, 3, and 4).
  • Rate of Spawning (rs): how many milliseconds does the spawner need to spawn a bullet (800, 750, 700, 650, and 600).
  • Number of Burst bullets (nbb): how many bullets should the spawner generate at everyshot (1, 2, and 3).
  • Number of Bullets (nb): how many bullets the spwaner should shoot after each other (1, 2, and 3).
  • Spawner movement (sm): how the spawner update its position (no movement, circular movement, and ping pong circular movement)

Each of values for each feature has a specific difficulty score. This score is inserted in a difficulty equation and if the output difficulty is near the target difficulty then this generator is used else repick another random generator. The difficult equation is:

difficulty = sm * rs * bp * ns * nbb * nb

Slide73
Last game I am going to talk about is DivCircle. The music and the rotation are both chosen by the computer. For the game music. The music is divided into several tracks overlayed over each other as the rotation speed increased each layer of the music got activated and as the rotation speed decrease the layers gets lower. Also as the player approach more towards the death, all layers volume decreased while sounds of talking people increases. That’s everything with the music and Ben Burnes did an amazing job in helping me to reach that. About the rotations, I divided the game into 14 sequence each one with its own difficulty score. These sequences are:

  • Speed Up
  • Speed Up Fast
  • Slow Down
  • Slow Down Fast
  • Reverse
  • Speed Reverse
  • Slow Reverse
  • Reverse, Reverse
  • Speed Up Fast, Speed Up Fast, Slow Down Fast
  • Slow Down Fast, Speed Up Fast
  • Speed Reverse, Slow Down Fast, Speed Reverse
  • Reverse, Speed Up Fast, Reverse, Slow Down, Reverse
  • Speed Up Fast, Speed Up Fast, Reverse
  • Speed Reverse, Slow Reverse, Speed Reverse

All actions are stored in a queue and every amount of time an action is activated and new action sequence is inserted in the list based on the current player score and current rotation speed and how old is the reverse. The amount of time for inserting and applying new action is decreased as the score increase.

This is everything for now, Hope its a little bit entertainment and useful. Stay tuned for the next post which is gonna be about General Level Generation for Puzzle Script (which is a part of my Master’s Thesis).

Bye Bye for now

Atomic+ Android Version

Hello Everybody,
Happy Feast for all Muslims in entire world and celebrating that I released Atomic+ on Google Play Store. Hope people will love it.

ReleasedImage

So to keep it short just tell your friends and go buy the game :D YaaaaaY :D The game is on 50% discount for limited time so what are you waiting for :) Go Go Go :) (Link)

That’s everything for now :)

Bye Bye

Game Development BootCamp Talk

Hello Everyone,
Sorry for being away still trying to get out of depression but at same time I made a talk for an event called Game Development BootCamp in Egypt in Alexandria (a city on the north coast) I went there with my game developers / designers friends and I enjoyed it because it was really good time to get away from everything and try to get out of depression it helped somehow but I keep going back and back to depression but don’t worry I am getting out from that.

Here a recorded video about the talk (The talk is in Arabic so I will post the slides with English explanation to everything in here as I done with A Maze talk)

P.S. The talk is not recorded from the beginning they started a bit late (10 mins late)
Let’s cut the crap talk I am doing and let’s get to the talk itself :) The talk is called Tossing a Coin which is mainly my personal experience and trip about publishing commercial games till my latest game Atomic+ and telling people there is mainly a huge part of luck in all that but in the end do your best and may be the luck be on your side :)

Slide1

How many people know this game? [lots of people raise their hands]
Slide2

Yes its Flappy Bird.
You play as a bird that falls with gravity and when you touch the screen the bird flap its wings and jumps up. You have to pass through the pipes and avoid hitting into them or falling off the screen.
Slide3

The game is stupidly hard and that’s because of the game having bad collision (hit boxes are a bit larger than object).
The pipes are same pipes from Super Mario.
So nothing unique about that game.
Slide4

Although of all what I said the game had millions of downloads, it was the top in AppStore (for long time).
Everything started by some school students who downloaded the game and started challenging each other.
After sometime some people started recording weird vines about people playing Flappy Bird and getting angry and frustrated and because some of these vines are pretty weird and funny it caught people attention started wondering about the game and downloading it.
Also the cute little bird icon caught some people eyes.
But that’s not enough reason for getting to top of AppStore. The main reason is LUCK because of it school children found the game and because of Luck someone started vineing and these vines went viral.
Slide5

Tossing A Coin is the name of my presentation today where I am gonna talk about my personal experience of releasing Commercial games in different stores.
Slide6

Who am I? I am Ahmed Abdel Samea Khalifa Indie Game Developer / Designer.
Created around 5 Full games (2 flash games, 1 pc game, 2 iOS games) you can check them from games section on the website.
Created over than 30 prototypes mostly are done in gamejams.
Now working on new mobile game.
Slide7

Why do I make games? First answer because I love games (love playing games, making games, watching games).
Its the only way I can express myself, as you can see I am terrible writer I can’t write good lines, sometimes feel shy talking to people. I make games to express a feeling I have, explain idea or thought or/and telling people my opinion about certain topic.
Games make people happy and I love seeing happy people with smiley faces so its another reason I make games.
Slide8

How many people know this game? [Some people raise their hands] yes its 2048.
You have to swipe the screen in any direction so all tiles moves in that direction and equal tiles are combined in one tile with summation of both tiles. You have to get 2048 to finish the game. Every step new tiles entered the map with value of 2.
Slide9

How many people know this game? [very few people raise their hands] Its called Threes.
Its the original game of 2048. Its same as 2048 but instead of 2 you play with 3 (From here come the name).
Slide10

2048 is a copy of a game called 1024. 1024 is a copy of Threes but we can’t blame the developer he was just a little kid trying to learn programming so he created open source game 1024 based on his favorite game Threes.
Although Threes came out before 2048 but 2048 is much more famous and having more downloads than threes. So why is that?
Some people says because 2048 is a free game while Threes is paid one that makes people download it rather than threes.
Also being an open source project lots of clones of 2048 are placed in the store and on web and on every platform so it was easier to find 2048 than finding Threes.
Developer thinks that colors and animation he used is better than Threes (my view because it use de-saturated colors while Threes colors are more vivid) I think that reason is lame.
Also some people (like me) prefer number 2 and its multiple rather than 3.
But the hugest part of success of 2048 over Threes is LUCK because of it people noticed 2048 after Threes was out and become famous somehow.
Slide11

Clean’Em Up is a game I made for PC with a friend of mine Omar Khaled Shoukry (that’s why we named ourselves Omidos (Omar + Amidos)). The game is top down shooter where you play with antivirus who wants to destroy viruses infecting the system. Viruses in the game act like real life computer virus (ex: Port Holes cause more viruses to enter the system, viruses infect files and replicates, Worms replicates themselves very quick …etc).
Slide12

Since me and Omar love top down shooters so we decided to create one with a twist where the player can shoot from front and back (back is not for aiming its just supportive gun so you should choose carefully the best supporting gun in the back).
The game was part of Imagine Cup 2012 as a request from my friend Omar and also as a target and ambition to us (That’s why the game is about viruses and antiviruses).
We worked on the game for 6 Full months we everyday test the game and add new features and create new levels (I work more than 10 hours daily during that period on the game).
It was my first commercial game since I felt I put huge effort in the game. I thought I could charge some money from people for it. As I can’t find sponsor for it (like flash games) as it was made in XNA framework.
On the release day the game FAILED.
Slide13

I always learn stuff by the hard way after releasing the game and something happens I start thinking why that happens so let’s analyze why it failed.
Since we had small time frame for the game and we aimed very high and I wanted to have aesthetics that makes you feel you are inside a computer so I got inspired by Geometry Wars graphics. Since Geometry Wars also a top down shooter people called my game Geometry Wars clone without even playing the game (as its different). So the look hurt the game a lot.
We designed around 75 Levels which was a huge mistake because most of them are just redundant levels with nothing new so the unique levels are just about 40 or 50 level max and all other levels are just repeating levels so people gets bored quickly before seeing different kinds of mechanics with different levels.
The game was designed by me and Omar and tested by us and other friends who are very good at top down shooters so the game was very very hard to any newbie and we didn’t notice that at all because for us its easy. Even when we where designing levels, I test the level and found it easy so I ask Omar so he agrees so we increase the difficulty of the level till making it insanely difficult.
The game didn’t focus to show the player what’s good about the new mechanic or how to choose the back weapon well so no one cared about the back weapon, so it was nothing to people as if there is nothing new just more headache.
I didn’t support XBox controller (as game was for PC) and most of top down shooter fans love to play games with dual sticks rather than keyboard and mouse.
Bad coverage hurt the game more because on day of release (I was still not very known) so when I sent emails to journalist in the indie press, it never got their attention because of the game look and lots of top down shooter games are released frequently, so rarely anybody wrote about it. Even the small amount who wrote about the game were not good reporters some of them didn’t judge the game and started judging me because the game was in English not Arabic and was for PC and not for iPad, another one gave the game bad rating because its PC game and he don’t like small games to be on PC and I should have made it for mobile devices.
Although all these reasons that caused the game to fail but the main reason behind everything was LUCK as usual because Flappy Bird had nothing and it was a hit.
After that huge failure I got pretty depressed and in very bad mood so to get out of that mood I started creating more games (prototypes).
Slide14

So I created that game.
Slide15

and that
Slide15

and that
Slide15

and that
Slide18

and that
Slide19

and that
Slide20

and that
Slide21

And more prototypes than I can share here. I made all these prototypes just to forget about my sadness and get out of it but what I didn’t know at same time that this was some kind of marketing to myself. I built a big audience, built fans on twitter by posting to #ScreenShotSaturday and following people and talking to designers and developers. Also making lots of games made the press featuring most of my games without even me asking them. So I had better contacts with press and more fans than before. That’s also the same reason why people create free games because they want to create fan base for themselves before going commercial.
Slide22

Match a Number my first commercial game on iOS (also any mobile device) where you have to get the target number by holding a tile and move vertical or horizontal till you get the same result (blue tiles are positive, red tiles are negative, yellow tiles are multiplication).
Slide23

The game was released on 14th Novemeber (I spend around from 1.5 to 2 weeks (Full time) working on it), I sent lots of emails to review sites, twitter friends and some of my fans, also made lots of tweets about game before release and on release day. I got nice amount of coverage but I just got 2.33K downloads (2.06K are free downloads as I set the game for free on my Birthday) I can say that game is a bit success compared to the massive failure of Clean’Em Up but still the money came didn’t cover the development cost [These stats are a bit old].
Slide24

Atomic+ is my second commercial game on iOS where you play as that hollow circle that rotate in orb around the center and you should pick squares and avoid hitting white small dots (bullets) coming from the center. Getting a square make the player change direction of rotation and change background color and change the center shooting pattern (as center shoots bullets with a pattern that changes with each square). Touching the screen increase orbit radius and releasing decrease it. The game is nominated as Best Audio Game in IndiePrize 2014 in Amsterdam (Thanks to Essam Ghamdi without his music that game wouldn’t be possible or a hit).
Slide25

The game was released on 19th December (I spend from 3 to 4 weeks working on it (Full Time)), I did same marketing for it like for Match a Number but this time I didn’t even cared a lot about resending again to people or following up with press. But the game was downloaded 31.8k times (23.2k are free downloads on my Birthday) That number is huge even the amount of money generated from it covered more than the development cost. Why that happens to Atomic+ and not Match a Number? That’s because Atomic+ was featured as Best New Game on launching week [These stats are a bit old].
Slide26

So how and why I get best new game? As usual I think after something happens not before it.
It was Christmas time so people are willing to pay for a game and play in the weekends but that’s not a good reason because more games are released in Christmas than any day in the year.
Game vivid colors that matches iOS 7 design so maybe one of the reviewer found it sexy and looks nice on iOS and fits their new OS so he decided to feature it.
One button game which is easily to be played at any place and anytime with no hard or long time waiting or preparing to play the game.
The game was under Music Genre, how could that help? I didn’t think about it but it was great choice. All games should have two genres so Atomic+ was Action as first genre, but I got confused for the second genre I wanted to pick Arcade but there was no Arcade so I chose Music. So when some people started buying the game on release day (since there wasn’t a lot of games in Music genre as in Action genre) the game became on top charts of Music genre easier than Action genre so it helped it to keep for longer time with good rating.
But really the main reason behind that was LUCK as in my view Match a Number is a better game and better design than Atomic+ but Atomic+ was the hit.
Slide27

So is everything happens is related to LUCK so why should put lots of work in games?
Slide28

No that’s not true its not all about LUCK.
You should build fanbase before launching your game by making lots of free games or prototypes, engaging with people on twitter or on forums. A good example of good fanbase game went to Steam is Anodyne, since the developer kept a daily devlog on Tigsource till the end of development so he had a huge fanbase on the release day so one of these people put it on torrents so Sean used that point very good and made a 1$ discount for the game and featured his game on the piratebay website asking people to vote for it on Steam Greenlight. He got lots of votes and it was greenlit.
Always think out of the box never repeat, never clone, try to look different, played different, focus on the new thing in your game not the traditional stuff. Bad example for that was Clean’Em Up because I use same art style like Geometry Wars people thought it was a clone (we are not on candy land anymore).
Polish your game never release game look so bad or feels bad in playing (even as prototype) if you are going to release it in the wild just give some polish. Try to make your game looks new and nice and looks you.
Choose correct audience for your game which means if you are going to release game for word games players so you should focus on how to make your game good for those people not on how to make your game better to all people, because in the end they are your main buyers and target player who will never let you down and if your game is good they will buy it. So focus on these people rather than trying hard to appeal to everyone.
Last thing is always do your best and leave the rest to fate (Don’t worry a lot about LUCK).
Slide29

That’s everything for now :) Hope you like the talk and help lots of indie developer to get out of their depression and that someday everything will be great :) There are a lot of information would love to share with you soon with new blog posts soon :)

Bye Bye

Long time and all I got is Repeat

Hello All,
I apologize for long time not writing here and not writing anything about Atomic+ or what happens with sales and all these things but really forgive me. I was straggling and still straggling from some problems (life, mental, work, family, country …etc) So I was in a deep shitty place in my mind and I am trying to get out of it.

GameJoltThumb

That’s why I made Repeat to help me get out from what happening to me, You should believe people when they say that games have healing power (Yes it is) and especially making them. I know the prototype game Repeat is not amazing as everyone expect from the Creator of Atomic+ (btw that idea what made me down more that I always been afraid to let people down specially after my last game Colors & Numbers which was very badly designed) but I think it was worth experimenting and worth to be tried. Repeat is inspired by Blek, Impasse and Snazzle, I don’t want to talk about it a lot I just want you to go and try it better.

Sorry again for all this I will get better soon and will work on Atomic+ Android port to be published soon. For Repeat I published it on my beloved 3 portals

Have fun for now and I promise you I will write about everything happened to me in the past few months and I am really sorry for letting any of you down

Bye Bye

Atomic+ is Out

Hey All,
The post name is very clear :D Atomic+ is finally out today :) I guess lots of people now are crashing their fingers with their screens to evade bullets and getting squares.

My musician Agent Whiskers got 90 score in the game using Full control scheme which is very highscore and he bets he will be the first to get 100 before anyone else can.

AtomicPlus90

The game is on App Store for 0.99$ till the end of the year then it will be back to its original price 1.99$ afterwards. Also if you loved the game music you can buy it from Bandcamp for 3$

That’s everything for now :)

Bye Bye

Match a Number Release Date

Hey All,
As the title says its Match a Number Release Date on 14 November :D YaaaaaaaY :D which is next Thursday :D YaaaaaaaaY :D I hope you are excited as I am too :) The game will be for 0.99$ for the launch week then return to its price which is 1.99$

ScreenShotSaturdayReleaseDay

The game will feature 3 modes and Thanks to Danny Day from QCFDesign for making the 3rd mode (Multiplayer) happens :) without him I will never though about it at all.

GameJoltArt

Also today GameJolt contest started and the theme is PARTY and there is lots of prizes to get and my two commercial games (Atomic+ and Match a Number) are part of the prizes too with amazing games by my favorite indie developers.

That’s everything for now I hope you are all waiting like me for the release day :)

Bye Bye

Atomic+ News

Hey everybody,
Hope there is still some people following me here on the blog as it have been long time since I wrote anything new but don’t worry I was away this time working on my new games. If anyone follows me on twitter (@amidos2006) he would probably know the running projects and he probably know that I have been working on Atomic+ for more than a month nearly two months.

I was aiming this year to submit Crappy Dreams as usual to IGF 2014 but I didn’t work on it as I wanted finish Atomic+ very fast and show the beta version to the public because I was going to show it at A Maze Festival at Johannesburg and also at Gamer’s Day in Riyadh.

Atomic+ got nice impression from Gamer’s Day and A Maze Festival but I couldn’t collect as much feedback on it in A Maze festival because it was viewed at a place called iLounge where it was far from Alex Theater (main place) where PC/Console are shown so hardly any person come to iLounge and all head to Alex Theater except for the launching day where the launch was on the top of the iLounge and I saw people loving my game and love it a lot and I got some really nice feedback where it cause to improve the game. Also I gave a talk there called “be Different” will post it here soon and hope to do it at another place too.

My Presentation

In Gamer’s Day I didn’t attend because it was impossible to get VISA to get to Saudi Arabia before pilgrim season so my musician Agent Whiskers went to the Gamer’s Day and we rocked there (I was wishing I was there) lots of people loved it and Agent Whiskers got interviewed by Arabic interview from GM-Moster

Here some of the feedback that the game had at Gamer’s Day

Pic5

Also who follows me on twitter knows by now that I am working on an iOS version for my game Match a Number as I found it is easy to port to iOS and won’t need a lot of extra effort. When I showed the game to Danny Day (Head of QCF team) in South Africa he loved it a lot and suggested to me lots of improvements that made the game stands out now :) Since I always wanted to submit to IGF so I have to think which game to submit since Crappy Dreams was not finished yet so I have now two options either new Match a Number or Atomic+.

I chose Atomic+ for the IGF this year (YAAAAAAAAAY) I hope I have done the right decision for that :) I was wondering about how to pay the 95$ the entry fee and a friend of mine Tom (Founder of KintoGames) paid them for me as a gift and I am so so happy because I didn’t know how to pay them (because I don’t have much money)

Because of that I have made a trailer for Atomic+ and launched the website for it (Check the website)

That’s everything for now I have more and more news but I will post them on time (I hope nothing delays me more). Stay tuned for more news in the upcoming week about Match a Number launching so stay tuned.

Bye Bye

Atomic a New game in 48hours

Hey All,

I just finished and published my new game Atomic (was made for the GameDesign Workshop by Mario Von RickenBach). The game is inspired by Super Crate Box and Super Hexagon at same time (and for sure inspired from my game Chaotic).

Collect squares, avoid bullets and survive for longest time. It’s easy one button game so go try it. It’s now on my three amazing sites

That’s everything for now. See you next time.

Bye Bye