• A Look into Rust with Cellular Automata

    Nowadays, I’m trying to learn Rust, a programmming language. I kept hearing the name Rust a lot in the past and read some articles here and there but never got interested. This post will be a documentation to keep track of what I’ve learnt so far. I will also write about cellular automata because it is fun to implement and it requires you to use basic structures of the language.

    1st title

    normal text

    small text
  • Code Reuse for Rapid Prototyping

    Hyper casual games are today’s hottest topic in mobile game development. First of all what is an hyper casual game? An hyper casual game is a super simple, easy to play and hard to master, instant play game.

  • Anatomy of a Surface Shader

    Shaders are always a popular topic in game development. Obviously, you need nice and fast shaders if you want your game to look nice and to play fast.

  • Collections in .NET

    Yesterday, I was surfing on msdn and reading .NET documentation and when I hit the topic collections I was surprised that there are some generic collection types that I have never heard of.

  • Struct vs. Class in .NET

    Lately, I’ve made a very important mistake while using structs in our persistency system(save/load game). So I wanted to write this post, which may help others, especially Unity developers. Since they mostly use C# in their programs.

  • Cache Miss and Data Locality

    Programmers working in the game industry are proud people. And they (the good ones at least) have the right to be. It is a hard job. We care about performance, and we want our code to be fast - sometimes more than necessary. But we usually look for problems in the wrong places, we try to optimize our code by using faster algorithms but never check or care about where we put our data.

  • Performance Comparison of OOD and ECS Patterns within Unity

    For the last three months at the company, we, programmers, talked, discussed and thought a lot about the architectural design patterns because we wanted to make our individual development approaches alike and we also wanted to be faster. Finally we have decided on using Entity-Component-System architecture.

  • Case Study on Using RegEx to Improve Game Performance

    Dealing with strings is always a hassle. Since they are immutable, procedures with strings are slow and memory heavy. For the last two months I have been working on a word game for mobile devices. As you know, we programmers are responsible for the performance of our games on mobile platforms because of limited resources on the devices.

  • Boids (Flock) Simulation

    In the previous months, I was searching for some interesting AI algorithms to study and I’ve come across one of the coolest things I’ve ever seen in my life, Boids Simulation. Boids simulation or flock simulation is about imitating the behavior of fish schools or any other flocking animal behavior in nature.

  • Sorting Algorithms

    Several months ago I’ve enrolled in one of Coursera’s awesome classes, Algorithms: Design and Analysis from Tim Roughgarden. I think, most of you know about these online classes from Coursera and Udacity, if you don’t, I strongly advise you to take a look. I’m sure you will find a class that suits you. Anyway, this class was my third online class and I didn’t manage to finish any of them yet, nevertheless I’ve learned so much from them.

  • A* Pathfinding Tutorial

    Hi there. It has been over a year since my last post, I’ve read some of my old posts and noticed that I have been all whiny about doing something about curve fitting or something like that but things have changed. As the title says, this article is about A* Pathfinding Algorithm. Well, there is a big source on the internet about A* and other pathfinding algorithms, I needed to learn these things because of a tower defense game I’m working on and I have come up with this post. I hope you like it.

  • A Review about Google AI Challenge

    Hello again, in this post, I would like talk about Google AI Challenge, an artificial intelligence contest organized by the University of Waterloo Computer Science Club and sponsored by Google. The contest has ended months ago, actually on December 1st 2010 but the contest’s website is still active and includes useful information, source and fun stuff about AI programming.

  • Perceptron

    In the previous post, we have discussed some of the major elements of artificial neural networks. It is time to examine the structure of a simple neural network, perceptron. A perceptron is the simplest type of neural networks. It has an input layer, an output layer and no hidden layer. In practice, the usage of perceptrons is limited, but in theory perceptrons are important, their structure is easy to understand because of their simplicity. Below, there is an application I’ve created to understand the structure and process of neural networks more easily. By the way, you can download the source files. The perceptron has 1 input layer consists of 2 neurons and 1 output layer consists of 1 neuron. The pinky fields are input fields, that means you can set the values of them. An input value can be either 1 or 0. Even with this simplest neural network, perceptron, you can have a program that changes behaviour when needed. You can train the application as an AND gate or an OR gate. Here is a table shows the output values according to the input values for AND and OR gates.

  • What Is Artificial Neural Network?

    For the last two weeks I studied artificial neural networks, I can’t say I’m completely done with it but I’ll try to explain what I understood, there are also lots of good explanations out on the internet.

  • Fuzzy Logic Essentials

    Hello again, as I mentioned in the previous post, I’ve developed a simple application about essentials of fuzzy logic and I will try to explain them. I strongly suggest you reading the previous post to get a brief information about fuzzy logic. You can also download the source files.

  • What Is Fuzzy Logic?

    Fuzzy logic allows us a gradual and continuous transition from 0 to 1, rather than an abrupt and crisp change between binary values of 0 to 1. The traditional logic and set theory deal with only discrete values. For example, an element in an ordinary(crisp) set either belongs to the set or does not belong to the set. Simply in this example, an element belongs to the set is represented by a 1 and an element does not belong to the set is represented by a 0. In ordinary logic a situation is either true or false. But in fuzzy logic, an element can partially belong to a set, for example with a degree of 65%.

  • Hello Again!

    I have started a blog here about my researches and experiments on object oriented programming. I’m going to use actionscript 3.0 to create web-friendly applications and I especially want to deal with game artificial intelligence and physics. I hope we all have a good time.

subscribe via RSS