csanyk.com

video games, programming, the internet, and stuff

Projects

GameMaker: Studio assets

★ ★ ★ ★ ★ “Pretty dank.” — Paolo M

Super easy to use

★ ★ ★ ★ ★ “It works very well and is easy to use.” — Tyler G

★ ★ ★ ★ ★ Documentation done right!

The code is neat, well organized, and does exactly what it says it does in the asset description. It can be added into an existing project in a matter of minutes.

What really makes this asset shine is the excellent documentation csanyk has provided. The code is clearly commented and a pdf is provided which goes into detail explaining the code and various ways it can be manipulated.

If your new to gamemaker you can learn things by going through the code, and if your guru this can save you time and act as a base for your own mini map design. — Francisco A

★ ★ ★ ★ ★

“As someone who has spent considerable time studying and experimenting with z axis mechanics on game maker, I can assure you this is the most complete z-jumping engine I have found to exist, with every feature a developer would need to make games in the vein of the Super Mario RPG series and PS1’s Alundra. The expected gameplay can be described as Zelda perspective plus geometrically correct jumping. The engine is very well documented and the code is nicely commented, while the example is great at showing how to make and use the expected gameplay elements but still generic enough not to restrict the creativity of the developers. The z functions are as close to GML native functions as it gets. I cannot recommend it enough, as it will save devs from the headaches that come from implementing z collision engines from scratch, while still explaining why everything is set in such way, so you have complete understanding of what is happening on your game. I am eager for new updates and features.” — Vinicius G


Games

Ludum Dare

LD23: Bactarium

Compo entry for “Tiny World”. This was the second game project that I completed and released. Bactarium takes place in a petri dish. Consume nutrients and replicate faster than your competition!

Bactarium by csanyk

I experimented with random numbers, alpha blending, and an odd mouse-based control scheme that commands nearby bacteria to be attracted or repelled by left and right clicks.

Built with GameMaker 8.1 in under 48 hours (actually about 24.5 hours of work time).

LD24: Karyote

Compo entry for “Evolution”. Control a single-celled organism to eat and mutate. You are what you eat. Built with Game Maker Studio in under 48 hrs (22 actual working hours).

Karyote by csanyk

I experimented with an infinite room movement system that created the illusion of a boundless room by placing the player in the enter, motionless, and moving everything else in the game around you. The biggest innovation was a sprite generation system that created new graphics on the fly as the player evolved into new forms, composing them in an off-screen drawing surface. The player’s evolution was semi-randomly controlled based on the different types of food particles you can choose from when feeding, which caused different mutations that affected the player’s controls and appearance. I also made use of GameMaker’s particle system, with additive blending effects, and included a title screen.

The enhanced version includes numerous post-compo fixes, new features, and is the version to play unless you’re rating the game for the compo. The Windows version is the best — currently there are some glitches in GameMaker’s HTML5 that make that version inferior to the native Windows build.

The music for the post-compo version was created by the incredible Ian Faleer.

LD25: Bad Puppy

Bad Puppy by csanyk

Compo entry for “You Are the Villain”. Built in under 48 hours with Game Maker Studio. I experimented with walking animations and twitter integration (you can tweet your score when your game is over). I also created another custom sprite generator, which randomly colorized the clothes, skin, and hair color of the boy and girl sprites that I created.

LD25 started the day of the mass murder at Sandy Hook Elementary School, and when they announced the theme, I knew that I wanted to make a lighthearted and uplifting game where you were the worst villain I could think of, made as harmless as I could imagine.

Thus, you are a villainous puppy who looks suspiciously like Hitler, and barks at people for points. Avoid getting petted for high score. If you get petted too much, you stop hating people and become a nice puppy, ending the game. Thus love conquers hate in the end.

LD29: Alamogordo

Alamagordo by csanyk

Compo entry for “Beneath the Surface”. Alamogordo was my entry for Ludum Dare 29, to commemorate the dig that was happening that weekend in the Alamogordo, New Mexico landfill where Atari deadstock had been buried some 30-odd years previously, most notably millions of excess E.T. cartridges.

I came up with the idea for this game very late in the weekend, and completed it in just 10 hours. The game emulates the look of the Atari 2600, borrowing audio and graphics from E.T. and taking gameplay inspiration from Dig Dug, another early 80’s arcade classic of the Atari era.

Rather than try to experiment with design or coding techniques in this project, I opted to stick to already-familiar techniques, and focus my efforts on coding the game as cleanly as possible, and this enabled me to complete the project in a very short time, with a remarkably low number of bugs.

LD31: Color is Everything

Color is Everything by csanyk

Compo entry for “Everything on One Screen”. I had hoped that another theme candidate, “Color is Everything” would be chosen, because I wanted to do a game on the Black Lives Matter movement. I was disappointed when Color is Everything didn’t end up being chosen as the theme, but I ended up using the theme I wanted anyway. This game does take place on one screen, so satisfies both themes.

This is a game where you’re a policeman (represented by a blue square), and you have to identify criminals from a population of black and white people (represented by black and white squares), and then either arrest or shoot them.

I don’t explain how to do this, but leave it for the player to figure it out and decide how they should operate. The mechanics and scoring reflect the realities of the institutional racism as they affect communities of color in the Obama era.

LD35: Shape Struggle

Shape Struggle by csanyk

Compo entry for “Shapeshift”. Shape Struggle is a Geometry Wars knockoff, where the polygon enemies shapeshift into fewer-sided polygons when hit by your fire. My focus with this game was to create a polished, fun, enjoyable to play game with solid fundamentals, and a challenge curve that felt just right, so I did not concern myself too much with originality of design. I experimented with dual-analog joystick controls, and focused on performance optimization in my code to allow me to spawn hundreds of new instances in an HTML5 build without the framerate dropping.

LD36: Ancient Technologies

Ancient Technologies was the theme for LD36 as well as the title for my game. You have to complete a mini game to set up an Atari 2600 console and then you can play a simulated Atari 2600 game.

I experimented with a game-within-a-game, and focused on a realistic simulation of the console and game behavior.

LD38: TARJECTORIES

It’s artillery practice on a small planet. The planet spins, there’s gravity, ballistics, you have to be lucky and use trial/error to hit. Destroy all targets to clear a level and advance. Don’t accidentally hit yourself, or it’s game over!

LD40: TARJECTORIES2: Mo’ Planets, Mo’ Problems

An expansion of the original, featuring more planets, more targets, and more randomness. Levels are randomized so each play is a new game. 24 levels in all, with up to 5 planets.

LD41: InvadTris

A mashup of Space Invaders and Tetris. Shoot the Invaders with a Tetris block, then use the Tetris block to make lines and unlock the Super Weapon. Playable in Windows and Web browser.


Global Game Jam

GGJ2012: ASCIIboros

ASCIIboros title screen

You are trapped in a memory register! Avoid getting fried by the Bit Refresh, and flip bits to the correct escape code to win. I experimented with bitwise operators and gameplay that modified the code of the running game, and a visual aesthetic that recalls the games of early 1980’s home computers.

GGJ2014: MirroriM

MiroriM title screen

A small puzzle platformer demo involving colors and mirrors. The idea was to stand in the reflection of various multicolored mirrors, absorbing their color, and in so doing energize different color-sensitive blocks so that you could turn them solid or passable, in order to solve platform puzzles and reach an end goal. Our team succeeded in building only three levels out of a planned 16.

I experimented with modifying a platform engine developed by someone else, and creating the graphical effect of the mirror reflections. The platform engine ended up not being particularly well optimized and the game performed rather sluggishly.

GGJ2016: Pug-Pug’s Bath Time Ritual

Pug-Pug's Bathtime Ritual

A mini game where you control a pug who must knock down shampoo bottles lined up on the edge of a bath tub. It’s based on a funny pug video on YouTube. I like pugs. I focused on making ultra lo-fi pixel art graphics.

GGJ2017: Quaver

Quaver

Quaver = quantum waver. You are a quantum particle tunneling through spacetime, trying to teleport from one space to another… no, wait. None of this makes any sense. Aim your cat puke at the shoes. Hit the shoes and be transported to their location. LOOK! NEW SHOES TO PUKE ON! PUKE ON THOSE TOO! OMG! Watch out for pugs. Use an XBox 360 or other dual analog stick controller to play. Plug in the game pad. Left analog stick to aim stream. Right analog stick: left|right to change wavelength/frequency; up/down to change amplitude. Shoulder button to spew rainbows. Keyboard “M” to mute audio.

GGJ2018: Robo Radio

Robo Radio title screen

PvP battle! Radio controlled robots on Mars battle it out with bombs and lasers! Transmit your instructions to your remote controlled robot battler! Watch out for signal lag and signal interception!

Game Requires 2 gamepad controllers (XBOX 360 gamepad tested)

csanyk.com © 2016