Jump to content

April 2017 »

23242526 27 2829

View more

Arkanong development blog

4: Adsense

Arkanong part 6: batching draw calls

Once again I must apologize for how long it took to post this - There are many things competing for my time so this journal doesn't always get the tender love and care it should. I've managed to find a few spare hours so I'm going to show you how I batched the draw calls for my game objects.

Up to this point every game object has been in charge of drawi...

Arkanong part 5: Hexagons! (collision detection, again)

To make the game a bit more interesting we're going to add a few hexagonal barriers in the playing field.
This object is different from the paddle and balls in that it doesn't have a 'regular' shape. This means that using a rectangular
or circular hitregion will not cover the object properly.
Now, I could fudge the dimensions of the hexagon a little and c...

Arkanong part 4: bouncing balls off each other

Well, it certainly has been a while since I updated this journal!
Now that my school projects have been handed in and all my exams are behind me I will hopefully be able to spend more time developing arkanong.
Let's take a look at how we can make the gameballs bounce off each other.

There are three important things to keep in mind about our game physics...

Arkanong part 3: Vector reflector

Yesterday I posted a few snippets of code to show how game objects can be kept within the confines of a client window. Because my game ball stores the direction it is heading in as an angle, the quick and dirty way to bounce it back was to add or subtract 90°.
This only works if you can guarantee that the ball will be coming in at one of four angles (45°,...

Arkanong part 2: basic collision detection

When I last posted about my SFML/C++ pong clone (now dubbed 'arkanong' because I suck at namegiving) I ended up with a non-moving paddle and ball. While that's all well and good the game won't be very exciting if we can't bounce the ball around, so that's exactly what I put in next.

Here's how it works:

in function Game::initialize()sf::Clock timer;...

Arkanong part 1: Porting for the sake of sanity

Last year I decided that I had enough of my procrastrination (and several other bad habits) and began a process of self-reformation.
Part of this undertaking was the development of a small framework with which I could make a pong clone. The plan was to build the engine as an educational exercise, produce several small games and perhaps form a development...