See, im posting stuff, so i must be alive in some capacity. To my one/two readers (i know who you are ;) ) apologize to my lack of posts, ive recently got a new job, and had a struggling time releasing Zombie Squash.
But...
Zombie Squash is out now!
I know right?! Took me a while put you can pick it up for iOS right here. Its free and something fun to do for five minuets at least.
So whats next? Well i have work to for my final year of university, as well as my placement job i am currently on, but i have been drawing up plans for a new mobile game which i will reveal in the coming months...
Well, the app is nearly complete! I have just a few things to do, by adding a final song, a few sound effects, a bit of artwork and testing for bugs!
The next update i give will with any luck be that the app is submitted to apple for review (and i expect they will let me know i need to edit a few things)
When all is good and ready to go, the app will be available to download for FREE from the app store! And i will also write up a short piece about how development went, things i could have done differently etc.
Till next time!
TODO:
Add final song Add sound effects Add final background Test for bugs
Although not really much a dev log, i thought i should show off the fantastic new artwork we have, and tell you what im currently doing!
Here is what in ga
me is going to look like! i still have abit more to add, but you can see the fantastic zombie sprites and background road image.
I will mention this again at some point (when the game is released) but the artwork is done by the amazing Sarah Kate Forstner, if you want to check out more of her work, look at her portfolio here. I will continue to add in the artwork and prep for release!
TODO: Add in more artwork (integrate with all iPhone models)
Well wow. I cant believe im saying this, but ZS is nearly completed! My ambition of the game was to have something released publicly that employers and casual gamers could enjoy and i think i have met that goal with ZS. There are things i think i could improve game play wise (sequel?) but for now i think the game is a casual enjoyable game, and is free.
Although not much is new (as ive been bug fixing and working on sounds/in app purchases) here are a few screenshots.
The in-app purchase is ready to go, and you will be able to remove ads for £0.69p! This is completely optional, and wont hinder the ability to play the game at all. I also added the restore button functionality into a button in the options menu, so if you have previously purchased the remove ads feature, you can restore it free of charge.
There have also been many performance enhancements, small features and bug fixes it is difficult to show in a screenshot (for example, screens fade in and out when changing screen) but most recently i added a new pause screen background, that hides the enemies and greys out the main game screen.
There are still some things to do, and artwork is still in the process of being created, but for now things are coming along nicely! Look for Zombie Squash in the App Store on (hopefully!) July 31st.
TODO: Fix a loading indicator bug when restoring purchases. If in a game, and the app is suspended, put the game in pause (simulate pause button being pressed).
Continue to make the in game music and sound effects Just keep swimming
Wow, 12 days since i did a blog post!? Time flys when your having fun, i have been relaxing in the sun, hanging with my girlfriend as well as catching up on some truly amazing games (The Last of Us. Buy It). Because of my small holiday, i havent done much work, but never fear! I have been doing some work with in app purchasing and more importantly sorting out my artwork.
I finally have an artist to create my artwork! She is an amazingly talented 2D and 3D artist, who's work for me as well as her portfolio i will share in due time.
I wont post any screens today, but the in app purchasing is coming along nicely, and for my own sanity, i need to keep myself reminded of what i must do next, hence today's post!
TODO:
Continue work on in app purchasing iAd display shows errors and is sometimes slow to respond, look into that
Add restore button functionality (for purchases) in options
Hey again! Just a quick one, and to quickly show the iAd implementation (and ads will be removable from 0.69p), this will be the only place in the app there will be an iAd. Eagle eyed viewers may notice i also removed the carrier bar, for a full screen experience. At the moment the remove ads instantly (for testing purposes).
TODO:
Integrate in app purchasing (for iAd removal)
Decide upon in game button size
Buy apple dev licence and test on physical device! (im sure there will be bugs)
Continue looking for sounds and music (artwork almost found!)
Well gamers, developers, friends, readers and other fantastic people, it my favorite time of the year, E3! And what a conference day showdown, we saw some fantastic stuff from not only Microsoft and Sony, but some great third party stuff from Ubisoft and EA. Now im gona break down what i loved and hated about the two mega shows, and give my overall opinion after :D
Microsoft:
Pre-show microsoft said that their show was going to be all about games, and they really delivered on that promise. Strait out the gate we saw a great demo for MGS5, with great new open world stealth abilities and skills. After that, we saw some Xbox 360 demos to showcase its new line of software, surprisingly we saw World of Tanks, a fun tank warfare game. After that, we saw the line of Xbox One titles, and what a showcase of titles!
Im really going to forget some of the titles here, because there really were a lot of different game;
Ryse, a fun looking fats paced combat game;
The old rare title Killer Instinct
A Capcom exclusive in the form of Dead Rising 3
The interactive and deep looking Quantum Break
Project Spark, a more grown up Little Big Planet
Crimson Dragon, a follow up from Panzar Dragon
Sunset Overdrive, a fun stylised new shooter And among third party + indie games, a new Halo tease
There were so many games, and i loved every minuete of it, thats where the conference for me, took a turn for the worse, and it was the price, £429. Now at this point, i didnt know sonys price, and if it was the same, id have to suck it up and pay for one of them, but i expected the price to be lower. And although Microsoft showed many great games, there was not a whisper of the always online architecture as well as there used game policy.
Sony:
Coming out of the Microsoft conference, i didnt think there was a way Sony could show as many games as Microsoft did, but Sony also showed off some great titles as well. Similar to Microsoft, Sony started the show with showing whats new for PS3, The Last of Us, GT6, Beyond: Two Souls and more, it should be a great year for PS3.
After that we moved onto PS4, firstly we saw the box, and talked about entertainment features that would be available. Although this section was too long for my taste, the feeling i got was "relax, you wanna watch Lovefilm/Netflix (etc) on your PS4? Dont worry, of course your going to be able too!". After that, we moved onto some games, and it was game after game after game, boom A range of great indie titles and indie devs on stage, with sony saying indie devs can SELF PUBLISH on PS4 (I CAN MAKE A PS4 GAME) boom The order 1886, a steam punk action shooter
boom Final Fantasy 15, and Kingdom Hearts 3 among other great third party titles and exclusive partnerships with parties, and updates on all the PS4 games we had already seen.
And then it came, the thing that for me made the show (and i think many others), It was a direct shot at Microsoft, but a smart one: 1. PS4 support used games, do what you want with them, and it wont require you to be online every 24 hours.
2. £349
Both things we asked for, and they delivered, an amazing next gen experience at a lot lower price and without the online restrictions.
My Verdict and Opinions Im going to be clear that im a Sony fan, have been and will continue to be. However, i really think Microsoft had the better showing of games at this years E3, and I am really looking forward to seeing some of these amazing games in action (especially Sunset Overdrive and Quantum Break). All that being said, to me, Sony did it. They gave me the next gen experience at a cheaper price and an amazing commitment to gamers. If i was to gamble, id say it was never Sony's plan to do any online requirements or block used games, but saw Microsoft was going to do it, and capitalized on that. I also think this is an excellent move for digital content, the used game part of Sony's show was quick to mention Disc based games, and in my opinion Sony should do a valve. Sure have those £60 games on disc, but make them £45 on PSN as a digital download? Partner that with being able to instantly play it via streaming, and everyone will buy the game digitally, with no need for those used game discs at all! It will be very interesting to see what Microsoft does now, i don't think they are going to back peddle, but for now, ill leave you with this video
I forget the last time i did a dev log. it must have been a few weeks... Anyway, heres a new post! I added local high scores and started a little bit of work on an options screen.
When your game is over and you have got a highscore, an alert will pop up and ask for your name to go into the leaderboard, its kinda similar to what i did in my Tile Match project, except it asks for your name when the game is over, rather than playing as a certain name.
A made up a simple leader board, here we see the only name in here is mine (i got 6, im so good!)
On the options screen i added a quick reset scores button which just changes all scores "N/A" and "0"
I am currently looking for the final artwork on the project! Ive asked some very talented people if they would be interested, but if your reading this and think it would interest you please contact me!
TODO: Start working on iAd system Optimise game for speed
If i get the artwork.. my aim is to release before the end of July
In preparation for releasing ZombieSquash on iPhone 3GS, 4/4S and 5 i have been making the different launch icons. This isnt really an interesting blog post (lets be honest, none of them are!!) but i thought i should at least document when i started to work with the retina display stuff and i created the launch screen, i do like the logo :) (check out my good friend Sam Canvin, the brilliant man who made this logo for more of his work).
As i do, i continued an hour of work here or there on ZS.
I added this simple main menu (art 100% not final!) just to make the game a little easier to play and such. You'll see all the other buttons, but they dont do anything as of yet (and yes, the game will have ads, but only on the menu and pause screen, the app will be free and it will not interfere with gameplay).
Back to our main in game screen, i added a pause button (the buttons look is a bit bugged) which will bring you to a pause screen and pause the game.
This is a simple pause screen/game over screen i quickly designed, trying to keep to a similar style as the menu. If the game is over, the resume button is not available.
I still have a lot to do, but its moving along :)
TODO: Add enemy death animations (code is there, just needs to be implemented)
Fix bugs (mostly the transparent buttons bug) and continue to optimise Do not forget to continue to think about leaderboards
Two days in a row!? Honestly im having just fun making the game so i just kept working.
Here is a screenshot of a game in its early stages. We see multiple zombies going down the screen all at the same pace. I added small health bar indicators to the enemies to show how many taps are required until the enemy is defeated.
This screen shows enemies of different health (and different speeds, but i cant really show that from a screenshot) all moving down towards the goal. The longer the game is played the more variation (and the more difficult) enemy spawning will be.
With the basics of the game at an ok level, i feel i should make at least some sort of menu.
TODO:
Make a simple menu with an image background and correct size buttons.
Try to optimise code for speed where possible (it runs great already, but i feel its always good to optimise as you go)
Think about leader board stuff, and a pause screen for the game.
At the moment, the game spawns enemies periodically while the animated enemies walk down the screen. You can tap the enemies to defeat them, and it can also be set how many taps are required to defeat each enemy. When an enemy is defeated the score increases.
If enemies manage to reach the bottom of the screen, your amount of lives will go down by one. Currently enemies walk down at the same pace and at the same time.
If all the lives have been lost, the game will currently boot you back to the menu screen. And you can start a new game if you wish.
TODO: Add some variation in enemies Add an increasing difficulty (maybe increased speed in enemies) Add different enemies spawning styles.
I had a spare couple of hours today, and i thought id do a bit of work on Zombie Squash! The screen shot shows basically something you could do in 2 mins, but the zombies and such have some functionality and code behind them (+ i thought it would be nice to upload early images, and when its finished, i can look back and laugh at myself)
Here we can see some zombies and the background. Currently the zombies are animated (i made it so every image can be animated, as all image views are added programmatically) and if tapped will die. I know, its AMAZINGLY basic, but i promise im doing something! The functions to move zombies as well as spawn them anywhere are all in place, and i should stress this is not the final artwork. There is also a menu screen, but all it has is a button to the game.
Next on my TODO list: Fix any "basics" bugs (so basic functionality, such as movement and spawning) Continue to play around with the taps to kill (currently there is a how many taps kill to zombie variable)
Make sure everything works fine!( So fix bugs again ) Maybe start on displaying the score on screen
I thought i would upload a few screenshots of my work with creating patches/surfaces in 3D using both a Bézier and B-Spline solution.
Above is an overview of a simple 3D environment. The blue objects are created using a Bézier based implementation while the other objects use a B-Spline based solution. The lines in yellow represent my control points that are used to create the curves.
The Bézier based implementation is a cubic and also deals with normal values, which you can see in the shading on the image above. These are obtained by doing a standard method of finding the tangents in both directions and then getting the cross product of those two vectors. Higher "t" and "s" values would make the shading look more realistic.
The two B-Spline shapes do not have shading, but as you can see create quads on the patches correctly. The capsule model (in green) was drawing by entering control points myself, showing that any shape could really be drawn with ease as a quick demo of B-Spline curves and its C2 continuity.
I have done much more work in 3D graphics programming (particularly in OpenGL 3) which is more involved in the shading and lighting side of things. Maybe ill share more on some other projects i have done.
So ive been very busy doing many university projects, but i thought i could show a sample of some of the stuff im doing. I made a quick video for a small game demo i created in XNA, called Windows Defender (The Game!). It is a simple 3D shooter with features such as high scores ever increasing difficulty and fast paced game play.
I will soon be done with a few university projects, and i will most likely upload a few screenshots of other work i have been doing.
Peace out!
So i completed one of my pieces of university work, my small mobile games demo. Here are some screenshots, as well as some information about improvements made from last time.
The main menu screen is very similar to the last post, however ive added a few improvements. You can now change the name of the current player (which is displayed at the top of the menu) and also go to the leader board page.
The game is very similar, when tiles are tapped, they are revealed for a few seconds, then hidden again. The background of the game changes dependant upon the weather in your local area (i thought this was cool!) and there is also a pause button. Additionally to stop people just dragging tiles to other ones constantly, players will lose 1 off of there score if tiles match incorrectly.
The final main feature i added was the leader board and high score system. When your game is over, if you have achieved a high score the game will let you know via a quick alert. Scores are saved in a .plist and you can view all the current high scores on the leader board page.
I really have learnt a lot while doing this project, all of which should be able to help with ZS and other objective-c projects. Hopefully ill have more to show soon!
Hello blog! Long time no see eh? Ok its only been a few weeks, but i haven't had much to post! Dont worry though, i can finally talk about some news, both bad and good, we will do bad first i think!
The Bad News Unfortunately, i have so many had in dates for university projects this month, im going to find it hard pressed to do any work on ZS this month, which sucks! If i get any done, ill be sure to post it here, as well as any uni work i have to show case.
The Good News!
Due to having so much to do this month, i have very little to do next month, giving me all the time in the world to work on ZS, YAY!! Hopefully ill get a lot done in that time, and actually have some stuff to talk about.
Im also back at my wonderful, wonderful pc and ive been able to power through some games (Bioshock is great, isn't it!) and ill hopefully be able to post more stuff over the coming days, until next time!
So you may realise im currently doing no work on ZS (words cant tell you how much i want to, im even travailing back to my home early so i can get a good day of work on it), but i thought id show you what i am doing during my easter break. Be prepared, its nothing fancy, and its certainly not a polished application, but it is an iphone game.
The game is for a university project, the idea of which is the reveal hidden symbols under tiles, find the matching tile and drag the tiles that match on top of each other (im sure we have all played these before). The main menu screen is basic and will have buttons to a game screen and a leader board (maybe a settings screen too!)
Here is what the main game looks like, we have a load of tiles, pressing a tile reveals what symbol the tile hides. If we drag our finger from one tile to another and the hidden symbols match our score increases.
The game goes on forever, until time runs out. Once you have matched all the tiles the game resets, goes to the next level and reduces the time you have to complete the game. The tiles alos obviously switch there symbols.
I still have a moderate amount of work to do on the project before its hand in, in a few weeks. The background of the game will change dependant upon the weather in the area you currently are. I also need to implement the leader board system (mainly, i need to save the score, and pass it to the menu correctly using a delegate), and give it a bit more polish, like have a good system for dealing with the application when it exits etc.. but all in all its going well! This only took me a few days to create,so i cant wait to continue on it.
Its 2:31am 19/03/2013, as i lay in bed i thought of an idea, and idea that seems so simple and yet i feel like a fool for not thinking of it sooner.
ZS should have not just zombies, but humans too! It will add more variety to the game, as players that kill humans will be subject to an in game penalty (such as a loss of score, or life loss). My framework is already set up for other entities such as this, so it will be simple to include!
Ive also been thinking more and more about the leader board. You know how on the Facebook app, you can go to someone profile, and from there go to another profile and so on, but from there you then have to go back about 100 times? My app may have the same problem if im not careful (due to using a navigation controller as my view controller), i should be careful about what links i place on the leader board screen. Also, it is possible i will need an addition screen for writing a name to associate a score with, although i think there are other ways this can be done.
Who knows, maybe ill think of more ideas tonight, ideas often jump at me when i just lay in bed.
Being away from my computer for three weeks you would have thought id come up with an ingenious solution to work away from home. I did not, because im a fool.
I did try to sort out a Remote Desktop Solution 30 mins before i was yet to leave, but i couldn't sort it before i left. So because im doing no work and have nothing to blog, i feel at a loss about what to post...
Anyway! I did try and do some research into a few problems i encountered with ZS (zombie squash, its got an acronym now!) and i think i have found some good solutions so at least that's something! I also had some great ideas about a common AI - Langtons Ant. If you reading this (and i expect no one is). Search Langtons Ant on Google, its a simple AI that looks very realistic.
Thats it for now, nothing else to post, maybe ill do some research and post that.
Although this could be a tad off topic, I have the worst sleeping pattern in the world.
Seriously, I'm like a sloth, I'm busy for 4 hours, sleep for 2, busy for 4, sleep for 2...
And the cycle goes on! So I'm now in "wide awake mode".
In news that relates to anything remotely interesting, most of the basic class implementation for zombie squash is complete. Animation works, movement etc (touch events yet to work, sort this out Jamie!). I'll be away from my computer for a few weeks soon, but it will give me some time to think about other ideas for the project as well as do some work for my degree.
Ill try keep update short (mainly so i can be bothered to read them back myself).
Work is going both very well and very badly on Zombie Squash. Im loving being able to use C# with VS2012 in order to create my iPhone game (Base classes like Enity have been made). However, the framework im using (Xamarin) requires you build your application over a network using a Mac as a build server. This seems perfectly sensible, if not for the fact i own the shitest mac in the universe.
The wifi on it is very temperamental, and because of this, breaks my iOS simulator when trying to build. The solution is to do this through a wired network, but it just costs money to get a Ethernet switch so that i can connect both my mac and pc to the internet as well as each other.
Today i attended a lecturer from a member of Microsoft studios and there educational department. The guest spoke about why us as students should publish to windows 8 and windows mobile platforms. Now while i dont agree that windows 8 is a great OS, i believe having a game up on one of these stores, as well as on Google play and the app store should have already happened.
As of today, i will be starting on a new mobile game, Zombie Squash! (Working Title)
The game will be a face paced game you will be able to play for one minute or one hour. It will involve protecting a camp of survivors from countless zombie hordes to raise your score and beat your friends. More details (as well as hopefully some screenshots!) will be coming soon.
For anyone interested in the technical side, it will be built in C# using frameworks from http://xamarin.com/ . It will enable me to write one version of code for multiple platforms and even future platforms easily.This will also be a good test of what these frameworks can do for the stealth project i will be making later this year.
Im really looking forward to the project and hope to post more soon!
Recently, ive been working with pattern matching heavy languages such as LISP and ERLANG, but today i wrote a Auto Typer/Spammer programmer for a popular web mmo, and it got me thinking about a certain point.
The smarter AI's are the ones that are dumb
Now, i know that makes no sense, but let me talk you through what i mean.
Lets say i have a character for a game, and i want to move him from point A to point B. Simple right? I could simply make a function called MoveToPoint(Point pB) and set the position of our character to B.
So the character is moved, but that's super smart. The character will have teleported from A to B!! Now as amazing as that is i don't know anyone who can do that, so our AI isn't very realistic (unless teleportation is what you are going for, in which case fantastic!) so we are going to want our character to move towards point B. Now the easiest way to do that would be to move our character a constant amount until we reach the point. But that's pretty smart as well..
Hopefully you can see where this is going. Our character wont wont to move at an exact pace, its pace might want to have a range so it walks at a pace a bit like humans do. Our character shouldn't move in an exact strait line, it might want to move a bit like humans do. Human error it seems to me at least is the key to having smart AI systems or at least ones that work well enough into tricking people to think they are intelligent.
So when i say smarter AI's are the dumb ones, im not saying that they are AI's with only a few lines of code and very little functions, but an AI who has a vast amount of different things it can do, and that it will definitely not always do those things perfectly, just like a human!
I think if i ever post some thoughts again, i should post pictures of some sort as well They always make things better :)
So, work on my next project has begun, well at least ideas and designs anyway.
The game idea in its current form is a cross between a stealth and puzzle game, 2D top down style (think a bit of Portal while avoid guards MGS style). I have begun creating UML class diagrams to give me a clear picture of what i'm going to need, i may even post them here.
I've also begun research into what im going to write it with. Im almost certain it will be written in C# using XNA of some form (possibly Monogame, XNA 4.0 or maybe a new Microsoft framework if they release one for the new xbox).
It doesn't really have a name (yet!) so its going to be hard to label. I guess ill label it as "stealth project". More coming soon! (Although, it could be 3 or 4 months before i start work on the game).
Hello! Im Jamie Matthews, a computer programmer specialising in games programming and this is the first of (hopefully) many blog posts.
What do you even say in a first post? Ive never really written a blog before.. Mainly i will be using the blog to keep track of projects i will be creating in the future, tracking what features i implement, screenshots, concepts etc etc, but also for post ideas and concepts too.
I hope somebody finds it interesting (if anyone is even reading that is) and ill try and get details like contact information and such once i have found a better template or created my own for the blog.