lazy game developer

Showing: 1 - 7 of 7 RESULTS
Cower Defense

Cower Defense

A tower defense game developed by Belka for social networks – a really cool game with a great story, artwork, and animations. The original game was built in Adobe Flash.

I was one of three programmers responsible for porting the game to iOS and Android, using C++ and a custom engine. I worked on the tower defense core of the game, the popup system, the tutorial system, a localization-merging utility, and various smaller features. Everything else – which was a huge amount of work – was done by other talented members of the team.

Some of the graphics and animations were taken from the original Flash version, while others were recreated from scratch. For example, most of the user interface was redrawn.

Cutscenes were implemented as video clips loaded from the server when needed, featuring animations of localized character dialogues. The old-film visual effect was implemented entirely in code.

Tweens Visualizer

Tweens Visualizer

Это небольшой javascript-проект, предназначенный для визуализации комбинации твинов по двум осям + ось скейла.

Твины используются для нелинейной анимации различных объектов в играх и приложениях. Крайне полезная штука.

Написал его потому, что мне надоело подбирать комбинацию твинов в уме. Формулы для твинов брал из проекта Claw.

В своих проектах я использую C++ версию, в которой есть встроенная визуализация всего набора твинов, но подобрать нужную комбинацию проще в онлайн-версии.

Для себя я реализовал следующий набор твинов: Linear, Bounce, Back, Elastic, Quad, Cubic, Quart, Quint, Circle, Sine.

Zombies Among Us

Zombies Among Us

Not all zombies are equally useful. Crush them all, but be careful – some zombies aren’t quite ordinary.

The rules are simple: tap a zombie to kill it and use power-ups wisely.

All the artwork was purchased from specialized stock sources. There was nothing unusual during development – I was just making another game.

The only exception was the button. I had to make a change in the engine – adding a new event to the button widget, which was needed for the power-ups. I could have created a specialized widget instead, but I decided that extending the functionality of the standard button would be useful for future projects.

Squid Rage

Squid Rage

Simply another clone of Fist of Fury. I really liked the game’s dynamics, style, and animations. Development went smoothly and quickly, and I can’t recall any major issues during the process.

Like most of my other games, this one was created by a small team at Synesis. In-game purchases were not implemented, but the game did include ads – judging by their appearance, they were provided by Chartboost. Coins needed to unlock characters dropped randomly from defeated enemies.

Death Hop

Death Hop

or maybe Death Jump… who remembers these names anymore?

We definitely overcomplicated things – it says Hop on the icon, but Jump in the menu.

A rather interesting hyper-casual game with endless gameplay. I really liked this one – fun mechanics, a nice setting, and good animations for both the character and the platforms he hops on.

The rules are simple – you know the drill: tap the screen at the right time, collect the red-and-yellow soul orbs – they’re needed to respawn.

Both the engine and the game were written in C++. It was made by a small team at Synesis. If I remember correctly, there were no real difficulties during development – everything went smoothly and quickly. That’s how it usually goes when you actually like the game you’re making.

By the way, this game would have worked perfectly on Android TV and Apple TV in landscape orientation. I’m pretty sure I even created builds for tvOS and Android TV at some point.

It seems the game now only survives on my iPhone and Android devices.

Krakoid

Krakoid

Yes, it’s another game inspired by Krakout.

Mid-2013.

The idea was simple: “I’ll take Krakout and Arkanoid: Space Ball, quickly rework them, and release something new.” Yeah, right – wishful thinking. “Quickly” didn’t happen for several reasons: the old game code was useless, and even looking at it hurt my eyes; plus, the plan was to use a new (for that time) version of the engine and replace my old simplified math with the Box2D physics engine.

So the old projects “voluntarily shared” only some assets and ideas – the game itself was written entirely from scratch. Levels in the game were grouped into worlds – there were 10 worlds in total, each containing between 10 and 40 levels.
To save time, some worlds were copied from previous games. But several levels and even entire worlds were newly designed. Different people worked on different levels and worlds.

Because the game’s levels were meant to be dynamic, an external editor was created for building episode worlds. Level data was stored in XML, describing object types, appearance, behavior, and durability. The editor worked with object groups – for example, a circular trajectory with radii R1 and R2, rotation speed and direction, and the number and type of objects on it. When loading a level, each object became independent in the game while still visually belonging to its group.

Krakoid on the OUYA TV console

Target platforms were iOS, Android, Android TV, OUYA, Linux, macOS, and Windows. Both the game and the engine were written in C++. Development was done under Linux, in my favorite editor – VIM.

At one point, a publisher from China requested the game. I had to implement special, localized payment methods. The tricky part was that each mobile operator had its own SDK for different payment systems. It was impossible to test integrations locally, so I had to rely on sparse documentation and my own experience. I don’t remember how long it took to implement all the payment options, but the work was eventually completed. A special build of the game was sent to the publisher for testing – after which the publisher disappeared.

And that wasn’t the first publisher to vanish after receiving a build.

«Geniuses learn from others’ mistakes, smart people learn from their own, and only fools keep repeating the same ones»
© Folk wisdom

Color Tetris for Windows

Color Tetris

Two versions of this game were released — one for DOS and one for Windows.

1997 and 2002

It was a classic Tetris that included several variations: Tetris, Pentix, and Color Tetris.

What made this Tetris special was its support for network play with up to 5 players. When a player cleared two or more lines at once, random blocks would be added to the opponents’ wells.

The DOS version was written in Borland C 3.1. Apart from the network mode, its distinctive feature was a Windows 95–style interface. The network was implemented over the IPX/SPX protocol.

The game was written in C entirely from scratch, without any engines or third-party libraries, except for the IPX/SPX library. For graphics output, it used direct memory access. On startup, the game created interface elements in a memory area outside the visible screen, then copied them into the visible part for rendering. Because of this approach, the game wouldn’t run under Windows 95, even in compatibility mode. Unfortunately, the source code for this version has not survived.

I couldn’t find a screenshot of the DOS version.

If I recall correctly, the Windows version was written in C using Visual Studio 6. For the engine, it used the CDX library. The game had a client-server architecture: any player could act as the server, and the others would connect to them. It ran over TCP/IP. Thankfully, I was able to preserve the source code for this version.

Color Tetris for Windows
Windows version in normal mode