Showing posts with label GDS. Show all posts
Showing posts with label GDS. Show all posts

Sunday, June 9, 2013

Pollinator, Flower Defence: Post-Project Reflection



It's been too long since I talked about my game for the Abertay Game Development Society: Pollinator, Flower Defence. The game was in a demo-able state for the last month and a half, seeing as we brought a build to the GDS showcase at the end of April. However, it wasn't running properly outside of the editor - we were having huge problems with the animated sprites scaling to gigantic proportions.

I'm glad to say this has now been fixed (albeit with a slightly hacky fix) and we now have a web version of the game available for everyone to try out! The game is located on my dropbox for now, since it's still just a prototype. If we continue work on it, we may try hosting it somewhere more permanent.

The Premise

For those who haven't been following this project: Pollinator, Flower Defence is a tower defence game in which you play as a group of bees defending their hive from attacking ants and beetles. It twists the genre slightly since you can freely move your bees from flower to flower - however they cannot attack while being moved and do not generate pollen or seeds while being moved. Additionally, players can build two separate "parts" for each tower - the flower (blocks movement, provides place for bee) and the bee itself (attacks, can be moved between flowers, generates resources from flower).


Difficulties

Developing this game was not without it's problems. First was simply the lack of time to devote to the project. We had a very small team (one programmer, one designer, one artist) and we all had our other coursework to work on. Additionally, two of the team members were going through Dare applications as well. Because of this, many of our grand plans couldn't be implemented - but luckily we recognized this from the very beginning and planned for modular development where we started with a minimum playable game and added more features time permitting.

On the technical side of things, I had more trouble than I was expecting using the Orthello 2D framework. It does everything I needed it to do, but sometimes it doesn't do it in the most intuitive fashion. We also had some serious issues with it's animated sprites resizing themselves to giants, which ultimately was fixed using rather hacky Update() size changes - not my best work, but a quick and dirty fix that did the job.

Design wise, the project did suffer from the lack of additional features. The two resource design (pollen and seeds) would have been interesting if there were more things to spend said resources on. As it is, it's actually quite boring because basically you just want to spend all your resources as fast as possible and there's no interesting choices between building flowers vs. building bees since their resources are de-coupled. The seed/pollen mechanic may also have been more fun if we'd gotten in the pollination feature - bees would carry pollen between flowers when moved, and only then produce seeds (or increase rate of production, at least).

There are also a few informational parts of the game we just didn't have time for, such as a how to play screen or tutorial, prices for the bees/flowers, and a credits screen. These are fairly easy to make and may be added in the near future.

Future Plans

Ultimately, this was a great initial project for the team. While we do hope to come back to the game and improve it (I really love a lot of the mechanics and interesting enemies Roy had designed that didn't make it in), I'm not really sure we'll have time for this. I have so many awesome projects in the pipeline now that this may be the last we see of Pollinator. This game will always have a special place in my heart because its first incarnation was the first video game I ever created. But I think it may be time to close this chapter and look forward to new and exciting things.

If any updates do make it in, I'll definitely write about them here! For now, farewell my buzzy bees. It was great fun!

You can play Pollinator, Flower Defence here: https://dl.dropboxusercontent.com/u/11838203/Pollinator/Portfolio_Web.html

Thursday, April 4, 2013

Pollinator, Flower Defense - Hex Grid and Pollen Generation


I haven't posted anything here since my last update on my Pollinator project, and it's already that time again! I guess things have been pretty crazy around here, what with interviews, university group project work, and the beginnings of coursework. But I at least managed some time to work on our GDS game, and I'm pleased to report on the results.


Hex Grid Generation

Until now, we've been using a drawn on hex grid. That was fine, to an extent, but it meant we had no way to know if an object was on a hex and to snap it to the center of that hex. That clearly had to change, so I went about coding a hex grid generation algorithm. That in itself wasn't so bad - the more interesting issue was getting these hexes to generate in the editor rather than at run time, so that our designer could edit the level layout.

Luckily for me, Unity makes this really easy. I simply added a button to the editor menu to generate the hex grid.

In the future, I need to add a function that will drop any flowers placed on to the hex they are on, and the same for dropping bees onto flowers.

Pollen Generation

Last week I started the Pollen system by adding a UI display, but didn't get farther than that. This week, I added bee generation of pollen, which is displayed in said UI. Bees also stop producing pollen while being dragged, as intended.

Level Design

This week, our designer began work in earnest on our level layouts and spawn orders. Here's a look at one of the layouts:


Friday, March 29, 2013

Pollinator, Flower Defense - Enemy Spawning and Bee Movement


It's time for my weekly update on my Game Development Society game, Pollinator! I missed last week's update due to having nothing to report - Building Breakout took up all my time that week. Luckily I had some more time this week, and was able to complete two major features in the game.

Enemy Spawning

The first new feature I created was the enemy spawner. This object is responsible for creating the enemies which will then move toward the hive and perform any of their other behaviours. It's very simple for the designer to specify what enemies he wants: just type them in as a string, separated by semicolon. So to create a string of three ants, all at level 1, with a 2 second time between them, you'd simply specify:

"worker_ant,1,2;worker_ant,1,2;worker_ant,1,2"

I may add something in the future to allow a command to be repeated x number of times - this would make it easier to specifies large waves of the same enemy at the same level and interval. But for now, this system should work fine for our needs.

Bee Movement

Previously, the bee "towers" could be moved without restraint. This was definitely not what we wanted for the final game - the bees should only be allowed to be placed on flowers, and they should not attack while moving.

This week, I added this functionality in. Using the Orthello 2D framework, it was actually really easy to add callback functions that are triggered based on dragging events. I'm definitely happy I decided to try this 2D framework because it's been a huge help all along the way.

Now, when you move a bee, it immediately stops attacking and won't start again until it has been dropped. If it is dropped on a flower, it snaps to that flower's center location. If it is dropped outside a flower, it snaps back to it's previous location. We would like to add some fancy features in the future where the hex the bee is being dragged over lights up red or green depending on whether it's a valid location, but it works fine as it is now and is still fairly intuitive.

We do have a small bug in that a bee will sometimes get "stuck" after being dropped on a flower. I need to investigate this further, as it weirdly seems to have something to do with which bee it is specifically.

Demo

This week, I have a web based demo! It requires Unity web player, which is a free download.

Check it out here!

EDIT: Apparently the demo isn't currently working. Bother. I'll look into it in a bit.

Friday, March 15, 2013

Pollinator, Flower Defense - It's Almost a Game!

My team has been working hard on our game "Pollinator, Flower Defense" for the Abertay Game Development Society, and it's paying off. It almost feels like a real game, now.

Concept art of the play field
 Here's a list of the features added this week:
  • Multiple ants
  • Multiple bees
  • Health bars for ants, bees, and the hive.
  • Bee attacks injure ants
  • Ants die when their HP reaches 0
  • Ants that reach the hive die, but damage the hive.
  • Bees are draggable, and can be moved around the field of play
This is all well and good, but there are still a lot of things that need work. For example, bee movement has no constraints right now, and they still attack while being dragged.

The worker ant, easiest of enemies
In the next week, I'm hoping to get the following set up:
  • Some kind of level loader which spawns ants at set intervals
  • Different kinds of ants (damage, speed, and health can already be customized)
  • Constraints on bee movement as designed by game designer
  • Integrating new art assets
After that, we still have some other basic features to implement:
  • Pollen and Seed generation
  • Planting flowers
  • Creating new bees
  • Animations
The basic starting bee unit
Finally, I'm hoping we'll be able to reach some of our stretch goals:
  • Nectar occasionally generated from flowers
  • Nectar used for tech upgrades
  • Multiple levels
  • Multiple enemy types (beyond just base stat changes - for example, grasshoppers that jump over flowers)
  • Multiple bee types (again, beyond just base stat changes)
I think it's going very well, and we'll definitely have at least some kind of base game completed by the end of the semester.

The soldier ant, slightly stronger and able to damage bees that come near
From now on, I plan to have a working prototype posted online at all times, updated each week for our weekly GDS demo. I'll post here each week after our GDS meetings and give my readers an update on our progress and overview of the new demo's features.


This week it's a download, but I'll use Unity web player in the future.

Enjoy!

Friday, March 1, 2013

Pollinator, Flower Defense - Detailed Enemy Design





We've been working like busy bees on the Pollinator project for the Abertay Game Development Society. While we still don't have a fully playable prototype, we've made a lot of progress on enemy, bee, and flower designs. In addition, our wonderful artist Piia has produced some gorgeous concept art, as well as as some initial enemy art.

In case you missed the game description, Pollinator, Flower Defense is a tower defense game in which you play as bees defending their hives. Previously we had planned for the main enemies to be wasps, but we've since changed that to ants. This makes more sense for a lot of reasons - first, it differentiates the heroes and enemies more. Second, it makes more sense for ants to be blocked by flowers, since they are land creatures.

In the last week, our designer has been generating all sorts of interesting enemy designs.

  • Worker Ant - Straight-To-Target: Plows on towards the hive, mostly for scouting rather than actual offense.
  • Soldier Ant - Creature Attacker: Attacks friendly creatures that move against the creep wave.
  • Winged Ants - Flyers: Weak flyers that bypass flowers.
  • Stag Beetles - Tank: Slow to move but packs a punch and can take a beating. Hive destroyers.
  • Rhino Beetles - Flying Tank: Very slow to move but packs a punch and can take a beating. Can fly over flowers. Extremely dangerous. Hive destroyers.
  • Millipedes - Iron Defenders: Protects other creeps with long carapace body. Creatures attacking creeps under the millipede or the millipede itself will do less damage.
  • Hairy Caterpillar - Spiky Defenders: Protects other creeps with long spiked body. Creatures attacking creeps under the caterpillar or the caterpillar itself will be damaged.
  • Cricket - Speed Boost: Increases the speed of nearby creeps with its violin music.
  • Kamikaze Ants/Pea Aphids - Suicide:  Rushes through defenses and explodes at targets.
  • Grasshopper - HexSkipper: Hops quickly between hexes instead of regular creep movement. Skips one hex then pauses before the next leap. Can leap over flowers except Wallflowers.
  • Water-Skimmer - Non-Slowed: The pads on the feet of these insects prevent them from being slowed by honey or sap.
  • Dung Beetle - High Defense Wave Leader/Protector: Moves at the head of the line of creeps, taking attacks with its large ball of waste. Melee attackers will be slowed when striking the dung ball. Speeds up when ball is destroyed, though has low health.
He's also been working on bee, flower, and tech designs - but those will be the subject of a later post.

I'm quite excited at how well development is going. I'll be posting a video of a playable prototype as soon as we have one ready, hopefully in the next week.

Wednesday, February 13, 2013

Pollinator, Flower Defense - Design and Prototyping

This week I've been working on prototyping some designs for my team's GDS game, Pollinator - Flower Defense. It's a tower defense game where you play as bees defending their hive. The target platform is mobile (of all types, but most immediately Android phones).

While I haven't completed a prototype yet, I do have a concept diagram I can show you (warning: programmer art incoming).

The green area at the bottom will contain UI info later.
I'm not sure why the background came out so pixelated. Needles to say, the final version will look much better.

Here you can see the play field, which in this design is a hex grid. Each level starts with flowers strewn around the field. The user assigns bees to flowers, and the bees use the flowers as an attack base and also "work" the flower, producing resources.

Resources include the following:
  • Pollen. Produced often, used to buy more bees.
  • Nectar. Produced rarely, used for "tech" style upgrades between levels.
  • Seeds. Produced rarely, used to plant new flowers.
There are still a lot of variables up in the air, design wise. For example, we don't know exactly how the enemies will move, whether they attack bees or simply fly past toward the hive, and whether they can fly over flowers or are blocked by them. We are hoping prototyping will help us determine the answers to these questions. Ultimately I don't have to worry about these decisions too much, since we have a dedicated designer on the project.

It's also awesome having a real artist on the team. She has come up with several concept sketches for the bees and wasps so far, and they are looking awesome.



Next week, we are hoping to have at least on playable prototype done. Additionally, we're looking to have a few enemy and bee designs from the designer so the artist can start producing game art or at least more targeted concept art. It's amazing to see it coming together, and I'm really excited! It's also good to know that everything I learn through this project will help me when it comes time to make my team's Dare game.


Thursday, January 31, 2013

Pollinator, Flower Defense - The Beginning


I've decided to join the Game Development Society at Abertay this semester. The idea of the society is to allow teams of members to produce a game over the course of the semester. This semester, the society is recommending it's members produce mobile games. I'm in a team of two, myself and my partner who is a designer and artist. We've decided to make a tower defense game based around my old game, Pollinator.

The player plays as a queen bee protecting her hive. As queen, the player can send bees to gather pollen from flowers, or send worker bees to guard duty. Enemy wasps fly in, attacking bees and eventually the hive. Pollen is used to purchase and upgrade bees, while nectar (gathered slowly along with pollen) can be used for upgrades between levels, such as new bee or flower types. After a flower has been worked for some time by a worker bee, it will produce a seed, which can be planted anywhere on the map to grow a new flower.

It's all very much in the planning stage at this point, but I'm excited and I think it will be a lot of fun to create.