Whisp showdown

Posted in aw-games, awkward with tags , , , , , , , , , , , , , , on April 21, 2014 by tayron

A few weeks ago I, along with two friends of mine, Timotei (which you might remember from Shade) and his brother Sami took part in one of the few game jams organized in Romania. To be more specific, it was an Ubisoft (photos here) game jam which happened in Bucharest. This was actually my first jam (the kind where I go somewhere and work with other people on something), so it was quite exciting. We had 27 hours to make a game based on the theme “Embrace the random”, so we came up with a 2-player tug of war game.

Whisp showdown

As I’ve mentioned before, the game is basically a tug of war between two whisps. The whisps fight over an offering which they have to deliver to their respective gods (Γ  la Nidhogg). The twist is that each whisp gets 3 random powerups, but they don’t know what they are, so every time you use one anything can happen.

JamGame 2014-04-21 21-59-31-06JamGame 2014-04-21 21-59-51-00JamGame 2014-04-21 22-00-36-80

Download

whisps.zip (6.5 mb)

Instructions

As a whisp, get the offering to your god. The blue whisp goes right and the red whisp goes left. If you hold the offering too long without moving to another screen, you’ll drop it and won’t be able to pick it up for a while.

Controls

Attention! The game is played with a keyboard and a gamepad (an X-Box 360 controller for Windows)

Player 1 (keyboard):

Move: Left / Right

Jump: Z

Use powerup: X

Player 2 (gamepad):

Move: Left thumbstick

Jump: A

Use powerup: X

Troubleshooting

If you have problems getting the game to run I’d suggest installing the newest XNA 4.0 redistributable and making sure you have .net framework 4 installed.

Credits

Game design, code & art made by Alin Baciu, Timotei Dolean & Samuel Dolean

Music:
The Dongas Tribe (and friends) – Farewell to Erin (https://archive.org/details/rainy_night_in_the_bell_tent)

Sfx:
Freesound.org

Explosion animation:
Explosion generator 3

Peace

πŸ™‚

Rolling Boulder

Posted in 7-day games, aw-games, awkward with tags , , , , , , , , , , on February 1, 2013 by tayron

Well, it’s been some time since my last post. That’s due to the fact that I’ve had very little time to finish prototypes, although I’ve started quite a few. Hopefully, I’ll have more time from now on. This time, I’m taking on a challenge over at Experimental Gameplay Project, which involves making a game for the awesome Sifteo Cubes, which came out recently (read more about them here). I’ve taken a sort of Temple Run inspired path, but I think it could work well on the cubes themselves (I only had access to the emulator). Due to the limited time I had to make this (I’m writing this post a few hours before February hits the entire globe), there is no music at the moment.

Rolling Boulder

Siftulator 2013-02-01 01-36-26-50Siftulator 2013-02-01 01-36-41-04Siftulator 2013-02-01 01-36-54-11

Download

Attention: In order to run this game, you’re gonna need the Sifteo emulator (available in the SDK), or a set of 3 or more cubes. Otherwise, there’s a video below

Boulder.zip (45 kb)

Instructions

Playing the game isn’t complicated. You tap the cube the boulder is on to start, and use the other cubes to make a path for it. You can make intersections as you please, but the boulder will decide the path it wants to take. The more choices it has, the more points you get. I’ll have to pay attention, because the boulder speeds up with time. You can speed it up by yourself by tilting the cube it’s on in the direction it’s going, or slow it down by tilting the cube the other way. The faster it goes, the more points you get. Try to keep it running as long as possible.

Video

Troubleshooting

Although I’ve tried to minimize the number of bugs to the point where I couldn’t find any, you might still run into some. Please report them in the comments section, so I can investigate and fix them.

Credits

Code & art by Alin Baciu

(logomorph{[@]}gmail{[dot]}com)

Inspiration: Experimental Gameplay Project

As always, any feedback is welcome.

Peace

πŸ™‚

Atom survivor

Posted in 7-day games, aw-games, awkward with tags , , , , , , , , , , , on February 11, 2012 by tayron

Today was nanoLD day! Make a game in 48 minutes. Tough. Therefore, I generated myself a random number and refreshed the page that number of times to get a theme. I got “Anti-Matter weaponry”, and here’s what I came up with. A game about clicking and moving the mouse very fast.

Atom survivor

Download

atom_survivor.zip (13 kb)

(You might also need to install XNA redist and .net framework. Check “Troubleshooting”)

Instructions

Click on the screen to atomize all the enemies in range. And blow a hole through the screen.

Controls

Left click – shoot

Troubleshooting

If you have problems getting the game to run I’d suggest installing the newest XNA 4.0 redistributable and making sure you have .net framework 4 installed.

Credits

Game design, code & gfx made by Alin Baciu (bc_alin{[@]}yahoo{[dot]}co{[dot]}uk)

Inspiration source: Ludum Dare.

Peace

πŸ™‚

The Break

Posted in 7-day games, aw-games, awkward with tags , , , , , , , , , , , , on December 19, 2011 by tayron

Ludum Dare 22Β  took place this weekend (16th-19th December) with the theme “Alone”, so I thought I’d throw my brain at it and see what comes out. The result….well…I hope you like it.

The Break

48-hour game for LD22

Download

Game: break.rar (2.45 MB)

Source: break_src.rar(2.33 MB)

The idea behind the game is…well…you’ll figure it out…

Controls

Left/Right – move
Z – interact
X – jump

Troubleshooting

If you have problems getting the game to run I’d suggest installing the newest XNA 4 redistributable and making sure you have .net framework 4 installed.

Credits

Game design, code, music & gfx made by Alin Baciu (bc_alin{[@]}yahoo{[dot]}co{[dot]}uk)

This game uses Box2D XNA.

Inspiration source: Ludum Dare.

Source code

Since this is Ludum Dare, the source code is available for download above.
In order to compile it, you need XNA 4 and Visual Studio 2010
The code is under the LGPL license.

Timelapse

As a small bonus, here’s the timelapse of the creation process πŸ˜€

Peace πŸ™‚

Towers

Posted in 7-day games, aw-games, awkward with tags , , , , , , , , , , , , on October 31, 2011 by tayron

Since this month is leap hour month, a new game development challenge surfaced. The basic idea is to make a game in 0 hours (you know…if you turn the clock back, you’re one hour in the past, so you can actually waste an hour without wasting it). I wanted to try a game idea for some time now, so here’s my entry for 0hgame.eu.

Towers

1 hour and 30 minutes game for 0-hour game.

Download

towers.rar (1.1 mb)

The idea behind the game is that you have a ship (crudely represented by a square) in which you fly around the city using your mouse. Some of the towers in the city are red and will fire at you. You can’t shoot back, but if you stand close to a white tower long enough, it’ll turn green and shoot at the nearest red tower.

Controls

Move around – mouse

Credits

Game design, code & gfx made by Alin Baciu (bc_alin{[@]}yahoo{[dot]}co{[dot]}uk)

Inspiration source: Ludum Dare and 0hgame.eu.

The game itself is under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 license.

And, as a bonus, here’s the timelapse:

*le demands feedback.

Peace.

More Google Summer of Code!

Posted in awkward, CrystalSpace with tags , , , , , , , , , , , , , , , , , on August 28, 2011 by tayron

Well,Β  GSoC came to an end and I thought I’d post an update. πŸ™‚

As a quick refresher, my project involved adding video decode support to the open source engine CrystalSpace. Everything turned out ok, so I’m gonna talk a bit about it.

I added video decode support through Theora, and open source video compression format. The basic idea behind my implementation was to have the main thread to render the scene, and another thread to decode video frames and convert data from theΒ  YCbCr colorspace to RGB. Then, in the main thread, data would be written to one of the buffers, and the buffers would be swapped. I used double buffering.

If I had to give a few tips on video decoding, here’s what I’d say:

1. Threads

If you can, avoid them. Threads introduce concurrency and code that ran perfectly before, will probably run slower and you won’t know why. If you can get just the right amount of processing transferred over to another thread, you’ll get a speed boost, but you’ll have to experiment quite a bit. In my project, I used threads, because you can’t just use up the main thread (which renders and updates the scene) to do your dirty work. It worked well in the end, but it was a bit of a pain in the ass. Here’s a nice article on threads.

2. Conversion

Depending on the colorspace supported by the surface you render the video frames to, you will have to do conversion. I did it on the CPU using Look-up Tables, and it worked well, but just for the 4:2:0 pixel format. 4:2:2 and 4:4:4 were too slow to be useable. My advice, if you’re doing conversion on the CPU, is to use MMX. I ran some tests on MMX during my project, and it turned out about 2 times faster. Implementing conversion in MMX using LUTs isn’t really a hard thing, but you’ll have to watch out for different compilers. asm tags are usually different for each one. Unfortunately, I din’t have time to move conversion to MMX. In any case, here’s a paper about optimizing YUV->RGB conversion. Alternatively, you can do conversion on the GPU, using a shader. Again, I didn’t have time to implement this, but here’s a reference.

3. OpenGL

The main problem I ran into during this project is that openGL doesn’t support multi threading (as far as I know, oGL 3 and up do support it). This is a big problem. You can’t access an openGL context from outside the thread it was created in. This is annoying because, if you’re processing an openGL resource on another thread, you need to place a callback in the main thread to apply the changes, which slows you down. Admittedly, the slow down isn’t that big, but you’ll see a huge difference between single threaded implementations and multi threaded ones. For example, w/o multi threading, converting th 4:4:4 pixel format (the one used for 720p vids) was pretty fast. As soon as I moved conversion to another thread, due to the synchronization induced by this, it was now too slow to be practical.

 

In any case, the project turned out OK, and I’m happy with it. Learned a lot of things this summer. It was a really nice experience. πŸ™‚

This also means I can get back to game dev πŸ˜€ Gonna post a prototype as soon as I have one πŸ˜€

Peace

I’m in Google Summer of Code!

Posted in awkward, CrystalSpace on May 12, 2011 by tayron

Well, I’ve been following GSoC for a while now and I finally decided to join. I found a nice graphics engine called CrystalSpace which needed video decode support. So that’s what I’m gonna do.

Wish me luck! πŸ˜€