14
Jun

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

17
Dec

DivCircle is out today for Free

Hello Everybody,
I don’t know if there is still some followers to my blog, but if there I wanna say DivCircle is now OUT on AppStore and on GooglePlay. Get your headphones and try that experimental game and experience how different people feels toward developed societies.

Here a trailer for the game

Now Go and Try it (AppStore) and (GooglePlay) and here is the (Website) too 🙂 Spread the word and make everyone try it 🙂 Hope the world become a better place for everyone 🙂

That’s everything for now 🙂 I am so busy right now applying for PhD degree so Pray god I got accepted in a PhD degree so I can work on Procedural Generation and stuff I love and I can get out of my country at same time. Thanks for supporting me all this time.

Bye Bye

19
Nov

DivCircle is Next Month

Hello Everyone,
I know I have long time away but as usual busy working on games, master thesis and trying to apply for PhD for next fall so I can leave Egypt and work on stuff I love 🙂 Let’s not talk about my akward feeling towards Egyptians (not Egypt btw) and let’s show you all the new trailer for the game and the website (http://www.amidos-games.com/blog/divcircle/)

The game will be released in December for Free on Android and iOS 🙂 and its about Diversity and supporting We heart Campaign (http://weheart.github.io) 🙂 That’s everything for now 🙂

Bye Bye

31
May

DivCircle new game for Mobile devices

Hello,
From the name of the post its already known that I am working on a new game called DivCirlce for mobile devices (iOS, Android) The game was done for Arabic GameJam 2014 theme Invisibility (Btw I didn’t attend the AGJ because I couldn’t get a visa before travel) I worked on the game from here in Egypt at same time of the gamejam.

GameName

Thanks to Samer he showed the game to people there and get some nice feedback from them which made me very happy and thought to put more work on it and use the talents of my amazing musician and brother Essam El-Ghamdi (Agent Whiskers).

I don’t want to burn the whole idea of the game or the idea behind invisibility so I will just put these youtube videos about people feedback and hope it gives you some glimpse about the game.

That’s everything for now wait for more soon 🙂

Bye Bye