Last week I spent some time prototyping our next game in Unity. Of the block matching puzzle game variety.

This week I jumped back to focusing on Donut Get! iPad version and finishing up where I left off with the in app purchasing. I was running into a problem of it just crashing when a purchase started so I had to do a bit of optimizing to prevent that. So far so good, as now I can at least get it to work!

In app purchase screen to remove ads.

Thank you screen!

The textures for the sprite animation is eating up a ton of memory. I’ve tried to keep the cop animation sharp and crisp but I’ve had to bring down the res a bit to accommodate all the lower-end devices it keeps crashing. 🙁 So for now, I’m trying to stop crashing Android phone! haha

Later I hope to do some research to switch between spritesheets based on the memory available on the device. Not quite sure if that’s possible/reasonable yet.

Shortly after I posted my tutorial on creating a Starfield with Away 3D Lite I tried to see how much I could improve performance with Away 3D 4.0, which was Flash 11 and in Beta stage at the time. I got caught up with finishing Donut Get! and working on Unity stuff and forgot about making a post about the demo. Here’s a post about that Away 3D 4.0 demo I made.

This was inspired by playing Kid Icarus on 3DS. During the flying segments, you’re always flying through clouds which is a great effect. I think they do something similar to this, where the clouds are 3d slices of a cloud which you pass through.

I created the clouds with noise. To get “3D slices” I used a 3d Perlin noise generator by Ron Valstar. The regular Flash noise class lets you generate noise on X and Y axis, this allows you to move in the Z axis to create slices.

I used Sprite3Ds for the cloud slices, hoping that that would allow me to use a greater amount of cloud slices. In this demo I’m using 12 separate Sprite3D instances. It takes a while to generate the noise at the beginning, I don’t think this noise generator anywhere near as fast as Flash’s internal one unfortunately. I spent a long ass time adjusting the Generator and settled on this result which I felt was looking pretty good, rather than just settling for something that was fast to generate.

Sprite3D displays like a billboard/plane in 3D space that is always pointed towards the camera. The problem with Sprite3D is that it’s displayed as a point in space, and if the point isn’t within the camera viewport, it doesn’t display at all. You can see this issue as you rotate the camera to the side. I tried a list minute fix to change it to planes but I couldn’t get the planes to display. It may have something to do with the scale of the scene, the slices are like 15,000 width. Not spending any time trying to figure it out so good luck with it if you wanna try!Continue Reading…

Sent out a Beta link to a buncha peeps yesterday, thinking through the feedback to see what I should try to address and what I’ll decide what is “intended to be like that!” haha! It’s a tricky thing for me because there are some things people want/expect to be explained clear as day, while I intend for the game to be a bit of an exploration. You’ll figure out more about it the more times you play. But the major issues I’ll need to address first will be things that make it easier to replay — shortening slower parts, making it easier to skip parts, etc.

I’ve been reworking the Donut drop patterns which have been super rough. Trying to create a flow to it.

These are the items that fall from the sky in the Donut segment

There are 3 types of items that fall…

Donuts: variety of 5 types, these are like points

Debris: these mess up your day, fall on your head and make you drop to the ground

Coffee: speeds you up, makes your jumps floaty, lasts briefly

With the unspoken objective of collecting as many donuts as possible, the player runs back and forth collecting donuts. Bouncing on the heads of the NPCs allows you to jump high into the sky and lets you collect many more donuts than you can get on the ground. You must do this while avoiding hazardous NPCs that knock you down or fight you. Also debris is falling as well so you need to avoid it. The coffee powerup is meant to be a temporary speed boost, I’m trying to design the pattern so that you can get a flow of coffee boosts if you navigate through the obstacles well.

Working on the donut drop pattern is a tedious mess because I’m doing it with a ghetto array and it takes a while to build the game and test changes. I would do this a completely different way if I was starting the project today but that’s another story… haha!

David’s waiting on me to do some more animation, I’m gonna setup some additional characters that will be added to the game sooner or later. And I need to take another pass at the fighting game…

Last time I posted, I was wrapping up some of the fight sequence animations…

Then I focused on finishing up a bunch of NPC animation for the characters running around in the game…

The perfectionist in me isn’t satisfied with some of the animation but its GE (Good Enough) so I managed to move on to other things.

The game will be localized in 4 languages: English, Chinese, Russian, Spanish. Many thanks to my homies with language skills that were willing to throw down. So far most of the Chinese is complete, Russian is almost halfway.Continue Reading…

I’ve been posting a Devlog for our current game project Donut Get! for a while over at the TigSource Forums. I just posted over there and I’m doing a re-post here.

—

Last time I posted I was animating the cop and got super frustrated when I couldn’t test the animation and the game wouldn’t compile. After that, I finished animating the cop and the game was brought to new life.

The following are a couple examples of how the artwork for the car portion of the game was created.

I used these sketches as reference when doing the vector linework for the game.

I imported the linework into Photoshop and added some color for the final look used in game. I used textures to bring some life into the flat colors of the artwork. Simple gradient overlay makes it look fancier than it is and gives a “night-time” effect.

For the past couple weeks I’ve been animating characters for the donut portion of the game and polishing gameplay.

Shown in this animated gif are Mr. Sprinkles and Officer Brown. Mr. Sprinkles is an NPC that will hang around and grab donuts as well.

I finally implemented new elements to the gameplay. Your objective is to eat falling donuts but you now have to dodge falling debris. Now that I started getting NPC animation in, I started filling in their different behaviors (like Mr. Sprinkles eating donuts).

The story is unfolding as gaps are filled in, I look forward to finishing the animation for the remaining NPCs.

David Rodriguez is just about done animating the fighting game segment. Tonight he sketched out some storyboards for a couple cinema scenes related to that segment. I’m very excited to have his animation in the game and playable!

The class uses the Away3D BasicTemplate class, which sets up the view and basic scene super quickly. I believe there’s also a FastTemplate class, but for some reason it doesn’t work with Sprite3Ds so watch out for that! And by default the BasicTemplate has a debug function built in, so you have to switch it off. The BasicTemplate is good for setting up something quick! But I’d rather setup something myself ideally.

It creates 200 Sprite3D objects, which use a white 4×4 square of BitmapData for its texture. Those are then scattered randomly in 3D space and on each frame it pushes them forward 20 units. I added in some keyboard controls so you can mess around with it (arrows and WASD).

I was looking into XML Tile Map editors a while ago and I found Tiled Map Editor. The site looked nice and was recently updated so I thought it looked like a good one to try. I recognized the demo maps displayed in the editor screenshots, they were from The Mana World. I contributed a few tiles to the project back in 2004, about midway through my journey through college.

During that time I was trying to figure out how I was going to be able to make games for a living. Although I was developing games like Thugjacker in my free time, I never believed there was a career in doing Flash games. I was preparing to become a 3D environmental artist, hoping to break into the game industry by designing a Half-Life 2 map. But I’ve always had the urge to explore different 2D art styles — I had a huge fascination with pixel art. During that time I would browse the Pixelation forum. The pixel art there was inspiring and I wanted to get in on it, but it was kind of hard with no direction. I just wanted to make some assets and learn the craft, not do all the characters and everything else. Shortly after that, I found a post recruiting people for The Mana World.

The Mana World is a free and open-source 2d MMORPG. It runs on the eAthena server, which is open-source software that emulates a Ragnarok Online server. I thought the game looked cool. It looked like Secret of Mana which was one of my favorite games growing up. It also reminded me of Ragnarok Online, which I didn’t play much but thought was super cool (I loved the art). So I jumped in.

Back when I first saw it, the game was super rough. Laggy. Buggy. But I loved being a part of it, the team was dedicated. It was exciting to log in everyday and see what changes were made while I was away. Most of the game development discussion was done in IRC chat rooms. There were many contributors. And good number of enthusiasts as well, which mostly played and gave feedback.

These are the tiles that I contributed to The Mana World.

I ended up dropping out of the project shortly after finishing these tiles. I had to devote more time to finishing school and my own projects. Looking back, it was my first experience working in a game development team that wasn’t just me and Ricky. I got some practice with working remotely with a team that was based in Europe. I got to feel the pressure of having to deliver game assets and the joy when everyone enjoyed what I contributed. It was also my first exposure to the concept of SVN — which saved me from feeling dumb when I first started using SVN at work.

I think it’s important to remember there’s always a game team out there that could use some help. People in school or just trying to break in the industry can look for these opportunities to gain some experience, and hopefully that leads to more confidence and some good portfolio pieces. From my experience on this project I knew that I could handle tiled pixel artwork. I wouldn’t revive this ability until 2007 on LUV Tank.