Archive for the ‘Game deveploment’ Category

From Doggydog to Wuhwuh to this day

11/05/2015

Hey everyone. I have been out of the pictures for over a year now. This update will cover all of the time I’ve been quiet.

After my last post in 2013 I did go to work with Taru Saukkonen and her company Pink Rose on a game called Doggydog. The game idea was simple and good: Make a tamagotchi type of game for children where they need to take care of a dog and get some real life questions and missions. a Good tool for parents to see if their kid can really be given responsibility over a real dog, or just for fun. The estimated release date was christmas 2013. The game platform was, of course, Windows Phone 8. I programmed it with XNA 4, which only supported Windows Phone 7, but those games would work on 8 as well so we didn’t think it was a problem at that time and I was confident with my skills.

I went to AppCampus for a month with Taru and learned a great deal about the gaming industry, marketing, costs, time requirements and of course programming. Also, the place was amazing. Sadly I left there about a week early while also hurting my foot on the way back to Kajaani but that’s besides the point.

AppCampus is this innovative thing from Microsoft, they take in applications with good game ideas and if they like it, they give a month of training on being a businessman/woman and also a funding if you release your idea to their platform for a certain amount of time before moving it to more platforms. My boss had an idea they approved of and I was wanted as the man to make that game a reality. It was the biggest responsibility I ever had in my life till then and I was pretty nervous.

Our project had a rough start. I was originally supposed to be the lesser programmer and only do as told. It took a week while in AppCampus that I found myself promoted to the team leader and given responsibility about so many things that I had no idea how to do. I took that as a chance to learn and did my best while doing mistakes here and there. My biggest fault must’ve been my lack of courage on speaking my mind aloud. This also started to slowly affect my coding work forcing me to take shortcuts where I could making the code a lot harder to edit after if it was needed to. And it was.

Our team consisted of me programming the game, my old boss from Kajaani Game Studios programming the connection and database related stuff and two graphics artists, and our boss Taru giving the picture of what the game needs to be of course. There were some changes on the team during the developement but I wont go into detail as it mostly stayed within those lines. And I can’t really remember everyone as I worked from home on my own time.

At some point early in developement we had to change the game name as it was already in use for some pet food shop and our Doggydoggame turned into Wuhwuh. It’s a nice name and I like it.

Right at the end of 2013 when the game was ready to be released, we noticed a lack of things that AppCampus requires from the games that teams work on. These things required editing a huge portion of the code and with the deadline closing in I had to redo and add code enough to match 1/3 of what I had already done. And I did in one week, editing and adding stuff equivalent to two months of work with the pace we had been able to keep up with till then.
These missing parts consisted tombstoning, way to return to the game if it was suddenly put down due to a phone call or other reason. A pretty important thing to forget, but for me that was the very first real project and my very first mobile app project at that. I had no idea what it required, neither did Taru.

We managed to release in time and I had a week-long break trying to sleep off my exhaustion from the allnighters I had to do to pull it off only to hear that the game was denied by even more missing parts that were impossible to add with pure XNA. Yes, really. I had to switch to SLXNA, Silverlight + XNA combination. It took me a LOT of time to get that working, never before had I used Silverlight so I had to learn in quickly and hope it didn’t break the code too badly, which it did.
At this point my code was a total mess, barely holding up patches here and there, building up and all I could do was to keep at it. Since our deadline was moved I had more time and I spent some of it trying to edit my old code to be more versatile and user-friendly, also reducing the load our game took into the battery life of phones. It ran smoothly even though there was no difference from the outside, the code was slightly better. By far, it was the worst AND the best code I’ve ever written after my very first game that I made but it worked and after fixing it, it looked decent.

It took half a year more after christmas to actually get the game in a state where AppCampus approved it and the work was finally done. Since I was to be paid after the work was finished I was pretty much hungry each day, worrying till I planked out for a weak amount of sleep each night. When the game was complete I wasnt really partying, I slept my first real night of sleep for the last half a year. THEN I partied for a day! You did see that coming 🙂

Long story short, I took on a half a year job that stretched into a full year, got paid for that half a year and lost all my motivation on game developement. After the game was released I could barely think about programming without the need of hiding into a corner and doing something else.
I did force myself to comment the code for Wuhwuh as much as I could but did a poor job out of it. Never forget to comment your code while you create it, makes up for a lot of time lost from the future!
I also did some small patching on different bugs and then parted with Pink Rose and started my Civil Duty, which I’ve been at for the last 10 months. And it’ll end in two months.

This year with no programming was what I needed after all the stress I had. At the start of my Civil Duty just thinking about code made me shut down but that didn’t stop me from planning game ideas after game ideas, only the part with programming was hard to think of.

Right now as I am writing this, I am still unsure of my future. I love games, I love creating games and programming is fun again, but programming for work still feels like a distant nightmare to happen. I plan on practicing some Unity3D after my Civil Duty ends and I am thinking on what to do in the future.
I am hoping to get a chance to give this forward to others, maybe even teach programming. But as for making games for living, I am considering on leaving it as a hobby that wont add stress.

The lack of writing in my blog is due to me pondering and still processing about the past two years but I haven’t disappeared. In fact, I’ve been streaming regularly again for the last four months or so. My new-found enthusiasm is from I Wanna Be The Guy fangames, there are thousands of them! They are hard, simple, fun, and the most of all, full of innovative game ideas!

Within the next two months left on my Civil Duty I will be deciding what the future holds for me on the gaming industry. Hopefully a lot of fun. 🙂

I am very proud of Wuhwuh. It is so far the biggest and most detailed game that I’ve been a part of making and it was also a success. Apparently it is in the top in finnish educational games and decently popular.
My time with Pink Rose taught me a lot of things that I never expected to learn and it helped me to see my own limits and weaknesses.

Now all I have to do is to face them in order to move forward.

Updates and stuff

08/04/2013

After moving to our current home we’ve had a problem after problem with different things. I’ve managed to keep JVP-Team up and running with barely no work at all. Recyclix sold few times keeping me up and I managed to get some freelancer work from Kajaani Game Studios for mobile games. Since I haven’t really had anything worth writing about within the last year my blog has kinda died. Sorry about that!

I’ve been streaming a lot lately. I’m using my stream as a way to broaden my knowledge on different games (and to have fun!) as well as a way to practice on my spoken english skills. Anyone interested, do join me at http://www.twitch.tv/lukitari

I also have something worth writing now as well! As I mentioned I’ve been doing small programming for Kajaani Game Studios the last month or so, I was also accepted into a bigger project starting at 20th of May. At that date we are going into Espoo to attend AppCampus for four weeks. During that time we’re going to be working on a game for Windows Phone 7. A dog tamagotchi game that aims to teach the players how to live with dogs from basic knowledge as how often to feed the puppy, building your own agility course for your dog and even small things like deciding clothes and furniture for your virtual dog, yourself and the house. So far I dont really have much more information that I can give out, but we even have a celebrity working on the project. https://en.wikipedia.org/wiki/Tanja_Karpela She is the one giving us a lot of the important details for the project.

With this job JVP-Team will be able to go on and I will hopefully get more interesting work in the future too.

Oh, I also have a profile in LinkedIn now: http://www.linkedin.com/pub/ville-vienonen/6a/37/6b2?trk=fbr

News on developement

08/08/2012

Hey all. It’s been a while since I’ve posted anything in my blog, but I’m still alive.

I’ve had a ton of things going on and one month ago I moved to a new apartment. This move made the download links of my games unuseable since I cant use my server computer anymore but I’ll be fixing that soon so stay tuned as I’ll slowly pick up on my programming work again!

Finnish Game Jam – Bibliotheca Infinitum

13/02/2012

While the school is closing in on the last months we still had the opportunity to attend Finnish Game Jam this year. This year the topic was Ouroboros, snake eating it’s own tail. This meant infinite or time and we took the infinite part and used it on our plan for a dungeon crawler game. And then there was a special competition of making the game a Windows Phone 7 game. This is my first wp7 game that I actually finished, the Jungle Race game is still unfinished. After the game jam weekend, we had one more week to finish our game and put it to the wp7 marketplace. Right today, monday 13th of 2nd. Our game was accepted in and that concluded our part for the competition.

Bibliotheca Infinitum (latin, means infinite library) is a game where the main hero is a simple librarian who got lost and has to find the book of portals to get back home. Your job is to navigate through a random generated library fighting different monsters with a familliar rock paper scissors -type of fighting mechanism. Rock beats scissors, scissors beats paper and paper beats rock. When I say beat, I mean it halves the losers stat for that attack type and the one who has higher stat gets to hit the other. When you or the enemy runs out of stamina, you or he dies. The battles give you time to decide what to do. You can attack, check the enemy stats or run away. The battle system itself is still a bit unbalanced and we’ll be updating some logic for the enemy attack choices along with some challenges later as we continue developing the game a bit further.

Game is unfinished and empty, but planned to be further developed in the future.

The team for this game was:

Vienonen Ville, (me) programmer.

Lintula Viivi, Map design and templates.

Hassinen Timo, GUI and menu’s.

Paasikivi Joni, Battlescreen, enemies and effects.

Hyvärinen Aki, Searching and choosing music.

Tiihonen Kimmo(not in FGJ team but we used his music), list of samples Aki chose two of our music from (Will change all of game musics into Kimmo’s music later)

Downloadable into Windows Phone 7 and up for free: http://www.windowsphone.com/en-us/store/app/bibliotheca/f46c863c-7bbe-4c43-9750-c8454baf7b32

Gameplay video: http://www.jvp-team.fi/jvpfiles/projects/bibliothecavid.flv

Jungle Race – still working on it

15/07/2011

As I’ve worked on developing Jungle Race game with a friend on our work practice, we went through a lot of different choices for possible modes on the game, different ways of playing the same game. For the purpose of being able to try out different things I made a quick game simulation, a game that shows five iPhone screens at the same time that all have the same objects, but with different looks. The main point for this was to try out how, using the same server, it would be possible to add different versions of the game that would work together but depending on the game itself players would have different meaning on the objects appearing.

We developed several different gameplay modes with possibilities and tried to see how they would work. As we’re still working on them I can’t really say much, but instead of just going after the fruits, there would be a possibility to go after the players around you too, to maybe build something and even completely different games. All of what we’re planning, will show up in all of the games differently, do the same things, but still different. As our boss said it, people have different goals in life, the reason they are out walking down the street is different. Different versions of the game would give the player different reason in a different looking world while still interacting with everyone all the same.

As my work practice is nearing its end, i’m concentrating on one special worm mode for Jungle Race (not telling more than that yet!) and once it’s finished I’m sure it will be great! I’ll be sure to post more again next time.

Work practice – Jungle Race

01/06/2011

Started my work practice at monday and my first task is to play a game and get other people to play it! It’s free so read more if your interested.

Kajaani Game Studios is working on a game called Jungle Race and its main point is to get gamers out there and do the work themselves instead of just sitting around pressing buttons, and they do it quite well. Although the game is under heavy development, it already has the most important part working, the reason for running.

In the game, player has to collect fruits that appear randomly on the map of the game, the game uses GPS so you’ll be moving in your own city. There are total of five different fruits in game and they move in different speeds. (The different fruits depend a bit on the phone you use, explained later) Getting the fruits isn’t hard, but it definitely gets you better score if you try to run them instead of just walking around or waiting. For every fruit you collect you get a point and for 10 points or more you’ll get your name in the high score list of the day/week/month. If there happens to be other players in the vicinity you’ll see them on the map and the fruits around are same for all players nearby, so go get them before the other players!

This game works on many phones using GPS, Nokia E52, E71, E72, C5, C7, E7 and N8, iPhones and pads can get it from the AppStore and smartphones can use the game with a browser (this version is quite new so the link isn’t visible anywhere yet) To download the game for Nokia phones, visit http://www.tarzani.com, and go there to see your scores as well as to compare yours with your friends!

The game is currently free and under heavy development and I’m tasked with collecting data on it and it’s bugs so people reading this should just download the game and report back to me in the comments part after playing a while, I want to hear all opinions and possible developing suggests 😉

There are differences in the versions of the game. The one developed most is for the Nokia phones, iPhone version currently only uses banana for the fruit images, but has the ability to shoot and leave a trap in the ground for stealing other player points if they happen to walk over it. Nokia version has the correct fruit images and most options to work with, although the settings menu is really hard to use at the moment.

As I get to work more with Kajaani Game Studios on the game I’ll be updating here. For now I only ask for people who see this post to try the game out and comment on the pro’s and cons of the game giving us the valuable data we need!

Going into 3D – the roguelike dungeon generator. Also some threading.

11/05/2011

Just recently during April 2011 I was finally able to get enough free time to keep on learning what I was planning on learning a year ago, 3D programming with C# XNA. I’ve turned my work for the new visual studio 2010 and XNA 4 and i’ve even managed to break my first laptop due to overuse. After spending my last savings for a new laptop (before starting JVP-Team) I decided to stop lazying around and do something. I started working on a 2D roguelike dungeon generator with the intention of unveiling the secrets of how Diablo and Diablo 2 we’re generated in the past. I’m a big fan of both games and i’m already dreaming of owning Diablo 3, but even more than that, i’ve always loved the ascii type games, roguelikes. A simple roleplaying game where dying is easy and will happel a lot of times making you to start completely from zero with a completely new character who has a chance to meet your old character as an evil ghost. Most of my love for roguelikes come from a single one called Dungeon Crawler that actually has graphics instead of ascii.

So I started searching info about how to generate something so big and still so random and I found myself reading about it in a website called roguebasin. From there I adapted the theory and made my own code with XNA, added some paint colors and a selfmade @ as the player. That’s how the first maze generator was created. I wasn’t happy how the field of view and fog of war we’re still a little bit buggy and even with my knowledge on memory management I found myself in a bind, the processor was going nuts by using only one core. I thought that this was my chance to finally try out the threading, using multiple cores in the game. In the end I got the basic knowledge about threading but it was no help for me so I ended up just reducing the amount it would draw at onces, it was only a number table so it was easy to control. I’m still working on the threading though.

After getting my 2D maze working I had the need to do more, it wasn’t unique, it was just one among the others, and buggy. I had the perfect base so I decided to learn 3D as well. It took me four hours to find out and create the 2D maze and an optional hour to learn about threading. Then it took me about two hours to add 3D into my maze generator and the outcome was pretty much what you can see on the second picture.

The generator itself loops 50 000 times checking the number table for possible places to add rooms or hallways and it ends up with around 2 000 – 3 000 rooms and hallways (the number created is shown in the left upper corner) then it creates from one to five endings into the game in the rooms. Currently this is only an attempt to create a dungeon generator and to do it in 3D and it worked the way I hoped it would. I have my future plans for this part of my coding and since they’re still a bit under development I won’t be writing about them here. It is one of the bigger plans for my company JVP-Team.

Maze2D: http://www.jvp-team.fi/jvpfiles/projects/Maze.rar

Maze3D: http://http://www.jvp-team.fi/jvpfiles/projects/Maze3D.rar

Required to play: http://www.jvp-team.fi/jvpfiles/projects/xnafx40_redist.msi

Work continues – Eko-Twist into the final version Recyclix

11/05/2011

During the time from when Eko-Twist got finished, we’ve had some more requests for the game and from that was born Tanssii roskien kanssa, Roska-rock, Jätejamit and Sotkutonta päivää. These four are the exact same game as Eko-Twist but for us to sell the game forward, certain things needed to be changed. These things included the name and background graphics. Other city trash-recycling companies also had other needs for the game, for example, some trashes went into different places than here in Kajaani.

Now after the third game we began to think that maybe this could be more than just a small game for few companies. We contacted Eko-10 and made sure about our rights for that game and got their blessings to continue developing. It’s still under developement since there’s quite plenty to do before it’s done, but the final version of our game that we will start to marchetise will be called Recyclix. For that i’ve put up my own company at the start of year 2011 called JVP-Team just a bit before we finished Sotkutonta päivää for Jyväskylä. It will still be a while before Recyclix is ready but i’ll be sure to write about it here after it is.

Summer work – Base Defenders, attempting something different

11/05/2011

The summer of 2010 was mostly gone before I even noticed it that much but for the summer I got one course from the school to cover and from that time was born Base Defenders. I wanted to try and learn some better memory managing and what better to learn something new than to start a new game for a new course. The idea of the game was originally my own from the need to find this kind of games that I used to play as a kid. After realising the wasn’t a single game of this kind to be found I decided to make one myself. It started quite slowly as I tried to adjust everything to the new way of coding I tried to figure out but while I got better at thinking this way the faster I could keep on.

The graphics on this game are “printscreens” of 3D-models and that made it a bit easier to create the type of units we hoped to put into the game. In the demo we got ready for the school course is only the modern warfare type with the options for multiple mutators to change the gaming experience, ability to play against a friend or computer in two game modes, capture the flag and a simple base defence match.

Since we ran out of time to finish the project and even more work started piling up from the school afterwards we had to halt the developing for this game halfway and it never got that much polishing to fix the balance issue in the game and by this I mean the CTF mode where it’s either impossible to get the flag or then the first one getting it will definetly win. The second balance issue is with the AI on the game. It was simply made by thinking of what I would personally do in what situations, what would seem the wisest option. Now humans are slow at responding to things that happen, well slower than a computer can be, and that made the AI simply way too difficult.

This game follows a simple rock paper scissors type of play meaning that one unit is strong against annother one. Soldiers can shoot into the air harming helicopters and can easily kill ABC’s, Tanks can just drive over soldiers without even stopping though it will take some damage from the soldiers, helicopters can easily kill a tank and they return back to the base for reuse unless killed during the flight, you’ll need two helicopters to shoot at one tank. The ABC’s are a bit more unique, they’re fast, weak and unarmed. When they are destroyed or when they reach the enemy walls they will drop a group of soldiers to the ground depending on your soldier level. If the ABC gets to the enemy wall without getting destroyed it’ll attempt to return back and if it does the player will be able to send it again. You can also upgrade the units to make them tougher, faster and to hit harder. Upgrading soldiers will also give you more soldiers when you send them out or when an ABC drops them.

In addition of the normal units, players will defend themselves with turrets in both corners of their walls. This defence is very usefull but not enough by itself and the job of the player is to utilise these two ways of defending and attacking in order to win.

To play this game everyone should read the manual from the link below and to play download the game demo from the websites on the link below. As with all XNA games to play you’ll need the XNA framework, in this game you’ll need XNA framework 3.1

The team for this game was:

Vienonen Ville, (me) programmer and owner of the idea.

Paasikivi Joni, unit 2D graphics and background. Also planned a lot for the game.

Hassinen Timo, 3D-models for the 2D graphics.

The game manual of the game: http://jvp-team.servegame.com/basese/baseDef.docx

Updated download link: http://jvp-team.fi/jvpfiles/projects/Base_Defenders.rar

Required to play: http://www.jvp-team.fi/jvpfiles/projects/xnafx31_redist.msi

Flash project – Search for the Sampo (Again)

06/04/2010

Yes, with the exact same team (Except Paasikivi Joni) we translated our game to flash and added a second level. This was a huge failure in my opinion.

Although it’s nearly the same as our XNA version of the game, this one has no memory management, no real object oriented coding and definetly nothing special.

In the XNA version we used color detection for our collision checks, in flash we just used a simple hitTestPoint to do the same and drew the images instead of getting them into a list.

Now the reason why I say it was a huge failure, I took on the course in school to learn how to program with flash so when we started, we knew what we needed, but I didn’t have any knowledge of how to get it working. Since we’d use the same graphics as in the XNA, most of that was already ready with the exception of animated stuff, those had to be made frame based with flash itself. So I started with zero knowledge, the first step was to understand how the whole system worked and that wasn’t too hard. I actually got our collision code working within one day after I understood how I could use the hitTestpoint and hitTestObject methods.

The most problematic part was that I couldn’t find any good tutorials to learn from and had to work with small bits I found scattered around many other useless tutorials and forum posts. In a way I skipped learning the basics of flash and jumped right into the second level. Our flash game is lacking a LOT. I never found out how to draw strings into the screen leaving all the dialogs, money, lives and ammount of items out of the game in one go. I searched for those for a whole day. You’ll see the difference on these both games easily. In flash we have infinite dynamites, infinite lives and the shop doesn’t actually sell anything since you don’t have money. The main story has vanished since I couldn’t create the dialog texts and all you can do is to move around, find a piece of map, and go to the next level.

Now, the dialogs weren’t the worst of problems. You won’t notice it simply from playing, but all of the rocks, keys, traps and doors are unique. I couldn’t create a class for them because I never found a tutorial that would’ve explained me how to use classes. Instead of using a certain key for a certain door, the keys are unique, but add to the same global integer that goes up from a key and down from a door. For each door ingame I have about 20 lines of code(This is not a joke or overreacting) and the same ammount for each rock, key and trap as well.

Maybe if given more time I woul’ve been able to make it better but it ended up like this with the lack of usefull tutorials and lack of time.

I haven’t given up on making flash based games, but Before i’m taking on my next flash project, I really need to learn it again, starting from the basics. Step by step.

To download or play the flash version use this link: http://jvp-team.servegame.com/files/sampoflash.swf