ZeroVector 0.2

so i wanted to do an update to my game ZeroVector for the 2018 Christmas holiday (and one year anniversary of its original release) buuuut i got started on it way late and bit off too much work so it wasn't actually until May 1st that i actually got it out. i think it came out pretty cool though! 🙂

a major part of the update is a new multiplayer "Conquest" mode. in it, everyone is assigned randomly to the blue, red, or purple faction and then compete to capture sectors on a hexagonal map. this gives an extra fun dimension to the game besides just a single score attack leaderboard. the stages in each sector are also different and sectors can have "mods" applied to them so there's extra variety to play.

ZeroVector Conquest map

with the update, there's lots more game content added. along with new enemy ships and firing patterns there are also two new bosses to fight! big thanks to Kirill for helping me out with 3d meshes for the spider and stealth bomber and some other cool enemies like the stingrays.

ZeroVector Laser Boss ZeroVector Spider Boss

the game uses a custom 3d engine and in 0.1 i had limited myself to drawing only lines. all the ships, bullets, effects, text, and UI just used single pixel width lines. this helped me keep things simple and focus on building out the gameplay instead of sinking all my time into fun graphics stuff. now with the 0.2 update i still go for the same retro vector display style but eased up on that lines only restriction. this meant fleshing out all the engine systems for fragment shaders, textures, font rendering, and such. also i implemented a simple animation system so that some enemies and bosses can have moving parts.

something i struggled with was making each stage feel different. i tried and failed a lot with different color schemes for the enemies, bullets, and backgrounds. i had to keep changing the rendering to make it possible for me to push the styles apart. hopefully it came out somewhat sufficient. i also try to have some different enemy types and unique firing patterns to differentiate the stages. for the backgrounds i built a new procedural system which can interact with the player, enemies, and triggers and the code came out quite cool but still falls short in the actual game. in future updates i want to make better use of it and have a million ideas still to explore with it.

ZeroVector stage styles

another thing i needed to do for 0.2 was build out a proper UI system. in 0.1 i had gotten away with a crazy simple hard coded UI needing it only for the main menu and score screen. with the update there's loads more UI especially with the Conquest mode. it's still quite a simple system though with hierarchy of controls in linear horizontal, vertical, and stack layouts. i render the text using pre-computed signed distance fields from the font glyphs and that works really nice for having text at many sizes easily.

ZeroVector Conquest leaderboard

overall, i built out all the different game systems a ton in this update so it's now a lot easier to create new content for it. i think it'll be fun to make some new content (enemy, firing pattern, stage, etc) each weekend and slowly build up a nice big set of content for the next major update while also releasing some to new modes and sectors in Conquest along the way. it's fun having a shmup i can noodle with over time. 😀

if you haven't tried it out, you can download ZeroVector for free from the iOS App Store and from Android Google Play. if you enjoy it be sure to visit the in game store and buy me a taco! it's fun when people do that and i really do go out and celebrate with tacos from Taco Bell, Chipotle and Pepe's 🌮 😍 🌮

Command and Conquer Rivals

command and conquer rivals

i’ve been playing a lot of C&C Rivals on the iPad. it’s the best RTS for iPad yet! they did an amazing job adapting RTS to small screens and touch input.

the unit cap is only six so you don’t have to worry about selecting and managing a lot of units at once and the whole map fits on the screen so there’s no fiddling around with scrolling. this all keeps things very focused on strategies with which units you bring into the match and which six units you have built at any given time. it’s great! there’s a lot of depth to the micro and unit counters so you’re always busy rotating units around to give them the best match ups. also instead of just taking out an enemy base you can take control over launch pads to charge them up and send a missile at the enemy base. this does a nice job spreading the focus around the map between bases, harvesters, and missile pads.

there is a bit of pay to win since people can spend a lot of money to quickly level up their units. but, it’s handled pretty well and things don’t get too unfair. the matchmaking does a good job of pitting you up against people with units of similar level and when you do get matched against a whale with high level units it becomes a “challenge battle” where there’s no penalty for you if you lose and a nice boost in medals when you win. this feels like a reasonable compromise where they can rake in the cash from rich kids wanting easy victories while subsidizing and not spoiling the game for the free to play people.

every day there are five “bounties” you can complete to unlock a loot chest. i look forward to doing these each day - it’s a simple trick to get you to keep playing but it works. 🙂 it takes about 10 matches to get through them and you can re-roll the bounties to get new ones if for example it wants you to use a unit you don’t like. i actually kind of wish you couldn’t re-roll and so were forced to try different units and tactics more. as it is i always just re-roll the bounties until they apply to my current GDI and Nod decks - then play 10 matches and i’m done for the day. after the bounties you get very little rewards (xp, gold, etc) so it doesn’t feel worth it unless really trying to grind your way up the ladder.

i made it into the top “tiberium" league in January (which it said was top 0.5% of players) doing just free to play. last season I didn’t get as far maybe because I kept trying to make bad builds work or maybe because more players came in. i may try just playing it all day some sunday and seeing if i can get back into tiberium before the current season ends. i’m playing the current meta GDI and Nod decks which is pretty boring but have a decent 70+% win rate so i should be able to grind up there.

anyway that’s my mini review and what i’ve been playing lately. 🙂

ZeroVector - i made a shmup!


i love playing shmups on the iPad and have wanted to try making one for a long time. i finally got around to creating one and it's available now on iOS, Android, and Fire OS! download it for some fast arcade fun - it's free!

apple app store google play store amazon app store

the game is a retro vector-display-style endless vertical space shoot'em up. you shoot down enemies in a series of waves with boss battles every 8 and the game gets harder and harder until you die. (just like real life!) you have three lives to amass the highest score you can. there are leaderboards for score, survival time, and number of waves so you can compete with everyone else in the world and see how well you can stack up.

your ship has a special "reversal" ability that can be used to get out of challenging situations and overwhelming numbers of bullets. it charges up over time and when ready you tap with a second finger (or double tap if you prefer). once activated all enemy bullets on the screen are reversed and turn into seeking rockets that hunt down enemies for you. this is really fun and i don't think any shmup has done it before (do you know of any?)

in addition there are items that drop as you kill enemies. shields protect your ship from incoming bullets. EMP lasts three seconds and zaps all enemy bullets converting them into bonuses for you. bombs do instant damage to all enemies on screen and clears enemy bullets. you can stack double shields for deflector and stack double EMP for lightning attack. the items make it really fun and keep things fast paced and exciting.

right now there are two bosses. there's a winged boss - like a big butterfly - that you can blow the wings off for extra bonuses and items or just focus on the center to kill faster. then there's a snake boss that wiggles around while shooting out its sides and as you blow up it's segments it gets smaller and smaller until getting really angry and going right at you. if you can survive to wave 32 you'll face double snakes! :)

the enemy waves are procedural so each play through is a bit different. after each boss battle the play field changes and gets more colorful and busy helping to increase the difficulty as you progress.

i made it free so everyone who wants to can grab a copy and play with it. if you like it you can remove the ads for $1. and if you really like it you can buy me tacos in the store and help fuel future updates and additions!

there's still lots with the game i'd like to add and improve. i tried to keep things pretty simple for the first version. i think it'll be fun to add more bosses, new enemy types, achievements, and a campaign or unlockable missions. if you think of something fun you'd like to see in the game let me know!

happy shmupping!

Download for iOS
Download for Android
Download for Kindle Fire

screenshot screenshot

m+dev conference

i went to the M+DEV game development conference over the weekend. i had never driven up to wisconsin before and it turned out to be a really fun trip.

the drive up was about two hours, so naturally i was worried that i would get bored and die (i’m not used to long drives) but it went by pretty quick by listening to an audio book. i was told by so many people that there’d be delicious cheese everywhere but i saw not a single slice the whole time! maybe it wasn’t cheese season? there was some shredded cheese in a burrito i had and it did seem quite fresh though...

anyway, the conference itself was like a mini GDC with a small exhibit area and lots of talks broken into several paths for different disciplines. the opening keynote was given by Warren Spector and was excellent and very inspirational. there were lots of interesting people to meet from companies in wisconsin and also the chicago area.

i’ll definitely go again next year. the conference ticket was a hundred bucks and the hotel was about the same so it's extremely cheap compared to GDC - plus i’d like a second chance at finding some wisconsin cheese. XD

unleash your creativity

this past week SketchClub was part of Apple's "Unleah Your Creativity" promotion in the App Store! it was featured on the front page of the App Store worldwide and on sale too for the Chinese New Year celebration in Asia.

it was super cool to see the app and art by SketchClub artists SKYW4kR and Wendy promoted in the store and on social media. fun start to the new year!

twitter appstore banner

one year later

so it's been a year since i moved to my new house already! moving was such a pain but it's been nice since everything is done. i probably visited with my family more in just a few months than in the past 10 years combined.

my cats took some time to get used to the new place and divide the territory between them, but they've settled in nicely by now with their own favorite areas. there are side windows by my front door which go down to the floor and Scratchy likes to watch the neighborhood from there. when the UPS dude drops something off Scratchy comes to find me and let me know. Storm has found several choice spots for sun bathing and has taken to alternating between office chairs for her bed.

i also have two new pets now. i hatched these crazy chickens from eggs! that's Squeaky on the left and Dracula on the right. they turn out to be really nice pets and are super tame. i kept them in the laundry room during the winter and in summer they've been outside in a coop. i've gotten into a nice morning routine of getting up and letting the chickens out of their coop to run around while i make pancakes or eggs and eat outside with them and a book.

squeaky and dracula

i've got two offices set up, one with an iMac and one with a PC. i gave away all my desktop computer stuff before moving so it was fun to build a new PC for the new house. i mostly code on my laptop and pick an office based on which one Storm is sleeping in that day. the PC has been great for gaming (lots of VR, DOOM, and Overwatch) and monkeying with cross platform stuff with PaintBot and other experiments.

i7 4790k build

i still have three boxes left to unpack and a few things left to repair around the house but i'm pretty well settled in now which is nice. :)

infinimex zoomer

there i was just minding my own business when from some forgotten corner of my mind INFINIMEX called out to me once again. so this past weekend instead of writing a novel or sorting my sock drawer like a normal human being would do, i set out to work on some upgrades for it.

i rewrote most of it making it more general so it can splat new content wherever i want and automatically determine what region is available for cutting through based on current contents, patch size, and how many laplacian pyramid blend levels are being used. this got rid of some sneaky seams the old version had and made the code simpler too.

with its new found skills it made sense to go beyond scrolling and take things to the next level with some infinite zoooooom!

Sketch Club 2.2!

the Sketch Club 2.2 update is now out! iPad Pro support, brush upgrades, and lots of other nice improvements. check out the update vid for demos of some of the new stuff. :)

RIP 2015

goodbye 2015. now in 2016 year i'm looking forward to NOT moving. what a pain that is!! :P

one of my goals last year was to ship PaintBot... well i didn't make it. turns out to be quite difficult wrapping up a fun little experiment into a finished product.

i went through a bunch of iterations on the user interface - bouncing a few times between being too simple to get enough control over the output to being too complicated to expect any casual user to bother exploring.

one two three four

i think it's pretty close by now though. then again i still have lists of like 100,000 experiments with it i want to try. :) here's one where PaintBot could only use circles.

grumpy in dots

iPad Pro and Pencil

i've been loving the iPad Pro!

the speakers are fantastic. maybe it's because with the screen being bigger they are farther apart or perhaps magic from how they distribute sound between the four speakers but you can really hear stereo effects nicely. it sounds amazing in movies and games.

the pencil is great. you unplug the non-pointy end to get a lightning connector you connect to iPad Pro to pair and charge. like other styluses though it is pretty easy to lose. a find my Pencil app like the find my iPhone app would be nice.

iOS handles the palm rejection and it's pretty much perfect. this is a really great change from other styluses where it was up to each individual app to handle palm rejection and things were never quite perfect.

the pressure response is great. one interesting thing is the scale of pressure values is from 0 to 4 with 1 being "normal" pressure. this is unlike other styluses that always normalized pressure to the 0 to 1 range. i've found you have to press crazy hard to get anywhere near 4. the tilt is great too.

it's taken me longer to get a Sketch Club update out for it than i had hoped. i've done a pretty extensive overhaul of the internal brush system. not just to support Pencil and all the iOS changes around coalesced touches, predicted data, precise locations, etc but also for a ton of new features for the 2.2 update and for sharing brushes with PaintBot and some future apps.