Yay! Z: P is submitted. Let me tell you what it was like.

Game In Review

^ Game in review screenshot above ^

Trailer link:

I’m glad I can start using my blog again. I decided not to do blogs, or as some people in the community noticed, weekly updates, over the last 2 months. I wanted to play my hands close to my chest…. I had a reason though…. I was close to submitting my game!

I didn’t want to post media after Day 1 of the game’s storyline. Most of you know by now, Version 1.0 of the game has a short storyline. The storyline events last for 3 days of Protector school. I will be doing free updates to expand the game in very way so don’t worry…. For free too (free updates after you purchase the game initially). Basically, about 2 months ago, only day 1 was fully coded.

There was also no ZENFORMS coded into the game and only about 20 attacks in the Attack Database. Battle system also needed work. So this was going to be my area. I was going to put the head down, finish the battle system, and add the ZENFORMS. This proved to be my biggest time soaker. Because ZENFORMS is different, and each ZENFORM under the Adult stage has 3 version, it meant instead of making sure I did the first 24, it was like coding for 72 creatures in the game. I kept setting myself 2 week deadlines. Before my 25th birthday was a deadline, didn’t happen - that was August 6th. I then had a10 days all to myself in my sisters apartment (minding it while she was away) and gave myself a deadline before that finished, didn’t happen, but I was close. By this stage though all of the first 24 ZENFORMS were coded. This included stats and movesets for each color/version of ZENFORM. 145 moves are in Version 1.0. That’s a lot considering in Pokemon Red/ Pokemon Blue - there was 161 for 151 Pokemon. I have 24 (actually, I’ll say 72 since that is a fair comparison) creatures, with a possible 10 movepool/moveset and 145 moves. It’s impressive, but now I hope this is giving you a mental image of what took me so long.

So that done. Now, lets finish off the storyline code. I still have 2 days left. I have about 8 bugs, some of which are still in the release version 1.0…. 

It’s not september and I’m getting worried. I haven’t been talking about updates on development and thanks to the admin statistics on Facebook page and the CP website, I can see numbers/interest dropping…. Fast….. I need to react fast.

I ask Jason/Martyr, an old friend of Calis Projects from way back in the fan game days to help me out with the trailer. I originally planned making the trailer more dynamic, mixing gameplay with shots of me actually playing the game (like me posing on a chair with my iPad or an iPhone). On the day my friend Peter was coming over to film it, I decided to drop this idea and just send Jason footage of the game directly, it was quicker and easier to edit. He gets to work on that. I gave him a rough guide of the shots I needed and he edited it all. After 2 revisions, I was happy. The music in the trailer is the ZENFORMS theme, it’s designed to be short and loop, but so far it really is the only negative comment to the trailer, so that is great. I didn’t want to make trailer music, I felt it HAD to be the theme song.

Wrapping up development on the last 2 days of storyline events was not fun. I hated testing the same part over, and over, and over, and over again. You know what I did to break it up? I loaded my save file and just played my own game. Did what I wanted. I actually spend about an hour just playing and grinding away on the first road raising a Rinba called Jazz. 


The last day of development was hell. I put it into my head “I am not going to sleep until this is submitted to Apple!” - I regretted that, but stuck with it.

The game finished up coding about 3AM on the “last day” (now + 1). Time to send it to Apple right? Well this was my first time doing it and it was not easy! Everything was filled out online, actually since April lol, but the game would not package and send. It kept failing when creating the package. Something about compiling was wrong. I was googling guides, looking up everything in the settings. Not joking - after finally sorting it all out, the game submits to Apple 5AM my time…. 2 hours….. Those 2 hours were the worst for me. I was “done”, with Version 1.0 at least, but I had this giant hurdle to jump. When It did send, I was really happy. Not for the project, but thankful that it finally sent to Apple. I was so tired. I just wanted to go to bed. I posted that image of ZENFORMS submitted to Apple before I went to bed on both my personal and CP Facebook pages. The response was mental. Very very positive. As I was in bed, I’d notice my iPad light up often - notifications from people commenting…. I decided to just wait until the morning and enjoy it when I was wide awake the next day. Thanks very much to everyone who commented or liked. It was crazy seeing that!

If the game gets rejected for whatever reason, I don’t care now, I’m happy…. Well I will care, but you get where I’m going with this. This game has been in development since March 2010. I didn’t even see it as “a game” until I let people play it (my friends, and later the irish game devs) - which was August/September 2012 (as in now lol). I always say the game in chunks… Or pieces like a jigsaw, and I knew those pieces fit together, but I still didn’t see it as the full picture. Now I do, and I enjoy my game. I’m proud of it. I’ll gladly fight over it since I believe it can stand on it’s own against other games in the genre. The game is my artistic expression I’ve wanted to express since I was 17 (my pokemon fan game days). It was a long road, not always fun, people leaving the project randomly left and right, making old friends and teaming up with old enemies…. Yeah…. Yoel and I didn’t get along when we were younger, now its a pleasure to work with him lol.  I never wanted to “cash in” with this project. I still don’t. I’d like enough people to buy this so I can rent a place of my own. I’d like people to help me advertise it since I don’t have any ads. The more money the games makes, the more I’ll just keep working on it rather than leaving the project to try something else. I’m not saying I WON’T work on something else, but ZENFORMS: Protectors will always be supported by me ….. until I decide to do Z:P2 in 2 years time :P

Map Data Revamp and New Animations

Hey everyone. Been a while since I wrote a blog. 

I’ve been coding a lot at night lately, which is normally when I write a blog, so I never got around to it. Coding at night generally has been pretty good for me since it allows me to hang out with friends/play xbox during the day, then at night I can be focused.

I’ve been coding a LOT. I recently decided to completely revamp how “Map Data” was handled by the game engine. It was a pretty big move as it forced me to not only remake all the “Map Data” tiles on the map themselves, but to completely scrap and remake my code for handling this data for EACH map one by one. 

It took about 3 solid days of coding and updating of the maps and I’m still not fully finished. All of the maps that will be in Version 1.0 are done, but I’m going to leave Version 1.1 maps (the maps for the update are already made, just nothing added to them) and code them at a later date.

Basically, the “Map Data” is a series of hidden tiles. These tiles mean something to the game engine. For Example, the orange C means collision - the player can’t walk there. You have seen the older versions in the previous blog posts. Events were marked with E1 (or the number for the event). But I was limited. For small maps, I could only have 15 unique event tiles, with the last 5 reserved for “Stand On” events ( events triggered by walking on them -like teleporting from a map). So really only 9 unique events on small maps. I was also limited to only 15 NPCs on small maps. 

In order to future proof the game, make it more flexible, and easier to work with in the future, I created a whole new, separate ”Event Tileset”. This event tileset could hold a huge amount of tiles for the engine to read.

Here, check this screenshot out. This is the in-game debug menu I coded. Here you can see the Map Data Layers that are normally hidden from the player.


You can see there is the orange C tile, a P1 (person 1), WB (Wild Battle), and E1 (action button event 1).

So you can see I decided to break the Map Data tiles into groups, and different colors to make it easier to see when developing.


That is an example of the Map Data tiles. The bright green is for Action Button events - events started by pressing the action button. The P events are for the different people. The box is for items on the map for you to collect. The naked body (yeah that is what the characters look like with no clothes ha) purple tiles are “Stand On” events (again, for events triggered when you stand there).

Currently each group goes up to 30 in value. So 30 unique events, 30 people on the map, 30 possible items on the map, 30 unique stand on events. I can increase this number and I can also add all sorts of other types. 

Overall, I think it was certainly worth it. It is VERY time consuming, but in the long run, it will make ZENFORMS: Protectors so much easier for me to develop and get it out there faster. 

Another very time consuming thing I added (since it needs to be done to each tile) is flower animations.


Animation doesn’t stop in the game, this is just the gif stopping lol. It’s also not as fast in game. It’s a bit calmer, and slower. Again, the gif image made it fast.

It is taking ages to add. There is 4 flower colors that need to be added. Each map has to have the flowers added to each tile manually in the engine…. Each flower also has 3 possible and random animations. I am loving adding them though because I think it adds a slightly more professional look to the maps having the flowers animated. Speaking of this, I’m trying to add other interesting animations to the maps and even adding clouds floating above too. 

Hopefully I’ll have an update at the end of the week, if not, I’ll be reposting that gif on the forum :p

Thanks for reading. 

Finally played ZENFORMS lol

I finally played ZENFORMS for the first time in about 2 months. It’s evolved soooo much since I last tested it on my iPad. I’ve been focused on developing small parts of the game, that I haven’t seen the bigger picture so to speak. It was great to go from the title screen, start a new game, create a character and play through the story. 

The game runs so smooth on the iPad (original iPad). Each tile on the map is a little image, so a big map might lag, well in theory. But I guess not. Played fine.

I played the game with my cousin last night and he was like “why do people call this a pokemon clone? It’s so original. It’s going to be so good!” I’m glad he enjoyed it so much. It was the first time for him seeing the game’s story elements in a long time. 

Story wise, the game is starting to get very fleshed out. Now that a lot of the intro stuff (when I say intro, I mean about the first 30 minutes to hour of gameplay) is done, it feels great to play AS A GAME. For a long time it felt just like a tech demo or something ha.

I wanted to have a new video for you all this week…… THE LONG AWAITED BATTLE GUIDE VIDEO! haha. I’m finally able to talk about the battle system and how it all plays out…. Well not yet. When I did some testing on the device, some timing issues with code was off, so I’m looking to getting it running smooth on the device before I showcase it. I delayed the video a week. Hopefully on the 27th or 28th of April I’ll have the video posted.

Keep your eyes glued to the forum/Facebook page on those dates for the video. I might just call it a basics guide rather then do to in depth, but I’ll show some cool stuff!!

Thanks for reading and I’ll have even more news soon!

Apr 8

ZEN-Garden Improvements

This blog might be a bit technical for some, but I’ll try not to get too nerdy with it.

Aside from updates you may have read on ZENFORMS: Protectors this week, another area I’ve been coding a lot of lately has been the game’s engine. The name of the engine is called “ZEN-Garden”.  I posted recently about how I finally got time to make a single “configure”  file for the engine. I’ve been adding onto it all week. 

Because my focus was on adding the cafe map early this week. I was thinking of adding more debug map options to this engine config file. I thought it would be great to add functions like allowing my player to ignore collision  for times I want to just walk around the map and test it for tile errors.  The config stuff itself it very easy to understand. 0 and the code is disabled and 1 and the code is enabled. Very easy to change it and rebuild.


The other values you see there are just as important for debugging. I don’t know why it took me so long to add this stuff ha. In that code above you can see code for “ShowLayer” for Events and People and even the Collision tiles. If all those values are 1 (enabled) this is what the game looks like:


The orange “C” tiles are the collision blocks. If there are in the direction characters want to move, they won’t be able to (of course, if I disable collision like I mentioned above I can). The “P” number tiles are the tiles for the engine to keep track of the character positions. There is 2 “P1” tiles because when the player steps up to the counter, they can talk to Michaela (who is blocked by collision and normally you wouldn’t able able to stand next to her and interact). Finally, the “E” tiles are “Events”. These are for things like interacting with objects, or events that kick off if the player stands on them. Depending on the map event handler, depends how the tile interacts with the player. 

And thanks to how easy it is in the config file to show which layer shows and doesn’t, I can display only the people event layer if needed for testing to make sure the correct people are where they should be.


This has been amazing when debugging maps.  Speaking of the maps and the map event handler. Another big change I did was to give each map it’s own method to handle it’s events. This is a BIG change and has made making new events for maps so easy. Before the “EventHandler” method handled EVERY event in the game. Now, it calls the EventHandler, then checks which map the player is on and calls the event handler for that map. If you look before Map001 is the hometown. Map101 is Map001 + submap 1 so to speak. So map101 is the players house (the first map I created as a sub map to the hometown).

Event Handler per map

Basically, to sum it up, all this debug and engine improvements is making it easier to develop ALL the stuff on the map - the map itself included lol.

I hope this blog wasn’t too weird to read, but I know someone got a kick out of reading the development and improvements made to the ZEN-Garden.

It’s March! Where is ZENFORMS release??

Well, It’s been a month since I last updated the blog. As I’m sure you will have noticed now with this entry, this is not really a personal blog. It is…. Kinda….. But I’ll only be blogging about the development of ZENFORMS and Calis Projects. So when you see I’ve updated my blog, feel free to come and check it out for ZENFORM info. I’ll go a bit more in depth about ZENFORM dev. stuff. 

Warning - THIS IS GONNA BE A LONG READ. I’ll have random screenshots and links to media throughout though!

March is nearly finished and no ZENFORMS. It is disappointing for myself too. A good chunk is ready to roll. A lot of the stuff delaying the games are things you wouldn’t really think about. I still have to code ZENFORM storage (how you store more ZENFORMS you capture then you can have on your team). I still haven’t locked down any move pools or even created lots of attacks….  From there, it’s just mapping and doing storyline/quests which are pretty easy to do compared to the rest. As usual, all I can say is … “Soon….”

Let’s go over some development.

A change I talked about already, I edited the black skin-tone. I made it a lot more vibrant then before. I wanted to add a character that looked like a singer I like and the dark skin-tone wasn’t right. So I decided to use colors from a photo of the singer to recolor the dark skin-tone. I’m really happy how it came out. I’m not going to repost a picture of the singer, instead I’ll give you a slightly new shot of a scene you have already seen. The intro. Keith has the new dark skin-tone color.

dark keith

This next thing, I’m surprised I never really had. A config file that allows me to change certain constant variables. Things like how fast the time goes by or if the game should load up in DEBUG mode. I finally got around to adding it and it’s making my life developing so much easier - since when I have it in DEBUG mode, I can set test values for quests and things. Here is a screenshot of the code lol. As you can see, I can even control the number of ZENFORM attacks here.

Here is another editor shot. This is off the quest database code - showing how I can give rewards to the player.

Since I was mainly working on the PCom, I thought it was about time I settled on Quest variables. Before I had test ones in place. But real quest system is now finally in place and it’s really easy to make quests. I might even try make a public editor and see if fans can make some fun quests.

Yeah I’ve pretty much finished the PCom code (for Version 1.0 release anyways). I’m happy with how it turned out. 

Yesterday I posted a video walkthrough of the PCom. The PCom is a device (like an iPhone) given to Protectors by a man called Kyle Fitz, who is the founder and owner of ZTR Labs. Here is a big wallpaper for Kyle Fitz and ZTR Labs if you want it.

Check out the video here:

Speaking of Spaceemotion. He is no longer part of Calis Projects. As I am trying to set Calis Projects up as a real company (as in - in real life), I can’t call him “staff” anymore. I asked him to continue as a commission artist when needed but he is no longer part of “the team”. I wish him luck with whatever he does. He is uber talented and I hope he will continue to work with me in the future.

So yeah. It’s just me now. I am Calis Projects and only I represent Calis Projects. But that statement doesn’t really mean I’m alone. I’ve got great help from amazing artists like Yoel, Will and Andre of course. 

The support ZENFORMS with blogs and media has been getting is great recently. Touch Arcade did a great article. I was delighted to see it since most of the fans come from their forum lol. Bit annoyed they left out the “S” in ZENFORMS…. hehehe…. Link:

Another great article was posted earlier. I love how well written and detailed this preview is. Link:

Speaking of which, I’m hoping to send a preview build of the game to media soon. If you write for an iPhone Blog site, email me (saying who you are and representing) and I’ll get in contact with you. Email

I’ll wrap it up here. If you read this far, fair play to ya!


I used to hate teasers. It would annoy me when indie developers or even hobby-developers would post teasers. Before ZENFORMS, I never really made a teaser. Now I’ve done so many. 

The biggest teaser (with the exception of the teaser before the game reveal) is the reveal of the battle system. Everyone wants me to post more on the battle system and rightly so. It’s a key component to the game. In January I announced I was revamping the battle system from scratch. Spaceemotion completely revamped the user interface and the battleground. I began coded from the “ground up” for the battle system. The teaser I posted was to show off the new UI and some of the effects added. Fans responded to it very well. It was amazing to see. I’m glad SpaceE and I decided to revamp it. It’s much better then the old system. But why is it still not full revealed? Well, I’m still working on it. Aside from te battle system, I’ve been coding other things such as refining map code, adding the music system and more. When I do the reveal, I’ll show off an entire battle and explain how it all works. But for now…. Here is another teaser shot. It was called “I’m Dead” on my harddrive. If it was a real battle, I wouldn’t win. Thankfully it was me testing selecting a target if your attack only affects 1 battler (some attacks affect both targets).


Another teaser I posted (only on Touch Arcade as of writing, but I’ll post it on the forum/facebook tomorrow) is a teaser for The Revolution.


In front of that image is the guy who has been revealed as the bad guy.

I’d like to reveal here that his name is “Vain”. Vain is the leader of a group called “The Revolution”. The Revolution are the group you will be going up against as a Protector in ZENFORMS. They are the “Anti-Protectors” in a way. More about Vain and The Revolution will be revealed REALLY soon. So stay tuned to the Calis Projects forum and Facebook for more info….. Yes…… This whole blog is a teaser :p


I was away last weekend and when I came home I noticed there was new articles on ZENFORMS and new donations received.  I wanted to write a blog on the donations.

More information on donating can be found in this thread from the CP forum.

The donations are SO GREAT. For the last year or so I’ve been getting artwork commissioned by a handful of artists from around the world. I’ve been paying for that artwork from my own pocket and there has been times when I’ve been pretty broke. I’m currently unemployed and the work was being paid from my savings. It’s been worth it though. I love working with the same artists. They are very fast and the game looks great because of them.

Donations really started in late October after the game was revealed. I decided to offer rewards based on the donations as a “Thank You”. The most popular donation is 50 euro. This gives people who donated a promo code when the game is released, a cheat code for a bonus 10,000 Skill Points (I think I might lower that figure - it’s too high and will break the start of the game :P) and a custom character in the game.

This has been really fun and shows where your donation goes - to the commission artists.

Check this screenshot out….

Custom Overworlds (OWs) based on photos from donators. 

Custom OW

(Pictured: Martyr, Hope, mcdaddy and gabosh).

Screenshot was taken at dawn hence the redish tint.

How cool is that? VERY.

I want to use this space to say THANK YOU to the donators!

Feb 5

Battle System Sloth

I recently mentioned how I’ve done 13,000 lines of code for the new revamped battle system in ZENFORMS: Protectors…. But I still feel like progress is slow because of the scale of the system.

A teaser of the system was posted here:

The teaser showed of something really cool with the battle system including multibattles and the really fun Handicap matches - were 2 battlers on one side battle 1 battler on the other side.

2 versus 1 battle shot:


This has been fun playing around with and testing.

But I reckon I have about double if not triple of amount of code still to do.

One of the longest things still to do is the revamped attacks. Since there is a lot more status conditions and now attacks can target 1 enemy or both in a multibattle depending on the attack,  I’m finding it hard to add in all the content on the scale I want to.

I made a simple tool to help me build attacks simply called “Attack Builder”.

It allows me to have a visual aid to some of the variables behind the code. Such as the element value, the speed priority and more.

Attack builder screen shot:


The tool doesn’t have things such as which condition it is affecting or the attack name/description. I add all that in the code when creating the attack any ways.

Something I haven’t really talked about is the ZENFORM Move Pools. I mentioned it a bit on TouchArcade a while back. I also did not cover it in the How ZENFORMS evolve video. ZENFORMS can learn attacks at any point through the ZENFORM menu by spending Skill Points to equip the move to an attack slot, but the cool thing is each ZENFORM has various Move Pools - a bunch of attacks it can learn. So a Rinba you get at the start might have a different move pool then one you can find in the wild. This will also impact the ZENFORM move pool when it evolves.  And no- you won’t be able to use Fire Attacks you have learned from a Adolescent stage when you evolve into a Water Adult.

All of this is very complex and takes time to add into the game. I sometimes feel like I’m making no progress since a lot of the code added is to the engine with no visual effects - basically the code that makes game dev tiring lol.


I decided I wanted to use tumblr to blog out some of my thoughts. 

I think it will be a good outlet for me. It will be like my twitter feed but longer. I won’t go on mad rants, but I’ll share how I’m feeling with CP and ZENFORMS related issues. 

My posts will be random and not consistant in both content and timing. Hopefully you will enjoy reading it though - and that is the main thing right???

Since this is my first post, let’s detail some things.

I’m Stephen McVicker. I was born on August 6th 1987 in Dublin, Ireland.

I founded:


Calis Projects is a game development team with an Irish man and a German man.

We are currently working on our first commercial game which will be released for the iOS platforms called:


ZENFORMS: Protectors. A 2D RPG.

Been working on it for about 2 years.

The game has a planned release date for March 2012.

We are indy game developers.