Piga's Santa Drop Down By Piga Software December 24, 2010 January 6, 2011 December 24, 2011 December 24, 2016 - Introduction - During the development of the first version of Piga's Pumpkin Carving in October 2008, I discovered that sometimes it is a good idea to invest some of my time in a smaller key program then my usual projects. In this way I can enjoy not having to deal with more complex engine coding, and also get a program done quickly to increase the list of Piga programs. Earlier this year I created the finished incarnation of my old game concept Piga's Thanksgiving Dinner Hunt and released it on American Thanksgiving 2010. Around this time I also started a World War I set game for Remembrance Day (Veteran's Day in the United States), but did not manage to complete it until November 2011. Based on these efforts, I decided that for the next few holidays I would write a small game for each. Well, this is my one for Christmas. It is based on a Flash game I played many years ago and so that is partly why we used cartooney vector-style artwork. I started work on this game on December 4, but was largely distracted by other events for the rest of the month until December 21 when I got Malcolm Wilson Multimedia to start making over the graphics. The next few days I added in last minute features, added more sounds, plus the new MWM graphics and my mother's voice recordings for the children, and finally released the game Christmas Eve 2010 (which is also Malcolm's birthday). * Version 1.2.0 Note * This is a bug fix release of the original, based on some of the responses I got on the Gambas Forum. I have fixed a few style problems, like the top bar titling saying "Piga's Santa Drop", I have swapped the sacks to be correctly labelled based on where the sleigh unloads stuff and most importantly added an in-program help form to help teach new players the game controls and rules, amoung other changes. I have released this in time for Eastern Christmas of the Orthodox and Coptic traditions, rather than the original which was released on the Christmas date familiar in the West from Catholic and Protestant traditions. I am aware of this date because my grandfather on my mother's side is a Ukrainian from Eastern Poland. It should be noted that Santa Claus does not feature in Eastern Christmas, but at least this way I have a release date that is not entirely random. In many ways I have three Christmases because of my New Zealand born father and the time-zone effect of the Southern Hemisphere being a day ahead. Lucky me... * Version 1.5.0 Note * This is the updated version for Christmas 2011, and features a cleaner modualized code base to make it more readable and easier to edit and, yeah, here is what the players want to know: there are new modes! First off, the default option is now fetch mode which means that Santa has to go and grab the coal and gifts from the sacks after the sleigh team drops it down. The original mode is preserved as an option, with a magic sound now playing to explain how the items get put where Santa can drop them without fetching them. The other extra mode is a timer mode, which allows the player to time their games and compare how fast, while still valuing accuracy, they are to others or their past plays. In case the player is called away temporarily, a pause mode is accessible by pressing, well, pause. Saves are also now saved, as is our new standard, in a ".piga" directory in the player's home directory. * Version 2.0.0 Note * And now after many, many years I come back to this. As I said in the opener, if you spend your time working on larger projects you often do not get a lot of titles to list that are completed. This is part of what has inspired me to come back to this, but also because of all that I have learned since I first wrote it; most of which was learned from various programming courses I have taken on edX, as well as my continual self education. This version is basically a complete rewrite of the game, but following the same rules. Given how complete this is I will not list all the various changes here (see the CHANGELOG in the project archive), but in brief: the motion is smoother, everything is fully animated (including a full walk cycle for the children), and the code is infinitely cleaner and everything runs faster. This is the game which in many ways should always have been, and hopefully will produce a greater expectation that those larger projects I allude to will turn out to be good. In the meantime however, enjoy the now revamped Piga's Santa Drop Down, and merry Christmas! - Gameplay - The game begins with Santa Claus standing on top of a red brick building looking down onto the street bellow. He sees a vast swarm of children going hither and dither across the pathway. He has two sacks of both gifts and coal on either side of him, and has his elves ready on his sleigh to drive over and drop in additional gifts and coal when necessary. He is ready to get some work done. He loads himself up with gifts and coal and gets ready to drop what is needed to the naughty or the nice. The player has to move Santa left and right with the arrow keys and drop coal down to the naughty (disgruntled looking) children by pressing the spacebar, and drop down gifts to the nice (happy looking) children by pressing either control key. When he is out of a commodity, he will shrug and when he is out of both you will have to call the elves to restock his sacks by pressing the up key. Once restocked you have to go and grab them from the edge of the sacks with the down key. His goal is to give the most coal and gifts as possible to the right people. For every proper hit you gain a point, while for every improper hit, like say you miss and give a gift to the wicked or coal to the good, you will lose a point. If the gift or coal is caught by no child then it is just wasted and you neither gain nor lose (hence Santa's disinterested shrug). Since the second row is harder to hit, scoring there will grant you a bonus point. Timing is key here as you have to factor in the child's movement, plus the others', as well as falling time before you drop. You have five times you can call the sleigh, so you must try and make every hit count to get a high score. - Compatible Systems - Piga's Santa Drop Down is built in the Gambas programming language, and thus will run on any system that the Gambas run-time will work on. This includes most POSIX systems, such as most versions of GNU/Linux including Fedora, Mandriva, SuSe, Debian and Ubuntu, as well as other Unix-like systems like FreeBSD. Sadly, at this time the Gambas run-time has not yet had a native port to Microsoft Windows or Mac OS X, although a near fully compatible Cygwin version is just on the horizon. Being made in Gambas, and free software, it can be edited, modified and extended on any of the compatible systems stated using the Gambas integrated development environment (IDE). Also, if anyone should wish to port the Gambas run-time to Windows we would be in your debt and if you wish to port any of our programs, including this one, through any means to other platforms we would give you our full support. - Installation - As is stated above, this program can only be run on certain POSIX compliant systems like GNU/Linux and FreeBSD. There are four different ways to install it onto your system however. Before you try any of this though, you should check and see if you have the Gambas run-time properly installed; it is available from most software repositories such as the system ones for Debian, Fedora, Mandriva and Ubuntu and can be built for others. Afterwards, the first option is to just run the executable "Christmas.gambas" and it should work fine through the run-time. The second option is to download the Gambas project and source code yourself and run it through the development environment; this requires that you get the Gambas IDE package. Thirdly, you can also use the GNU Autotools installer which creates the program with a GCC make-file. Finally, if you are running an RPM-enabled GNU/Linux distribution such as Fedora, Mandriva or SuSe you may download a select RPM installer from our icculus.org server. This should allow you easy installation and even get dependencies like the run-time if you do not already have it. One day we also hope to offer up DEB installers for Debian and Ubuntu systems when we have the resources to maintain a Deb-based system to build them on. In the mean-time, if you want an installed copy on those systems you may download the source code and load it up in the development environment and build a DEB yourself and use it. - Other Notes - At the beginning, a box will ask you your name - which is to allow it to put your name into the high score table after you have completed a game, and from here you can also go and see the presently saved high scores. Clicking on the copyright label will take you to a form that shows some copyright information, as well as credits. The graphics used within the program are captured PNG files of the original vector SVG graphics. The original SVGs are included in the source code archive. The menu background music is a version of the carol "Deck The Halls", and the game music an incarnation of "We Wish You A Merry Christmas". "Oh Christmas Tree" is played at the High Score table at the end of the game. These were composed by Kevin MacLeod and are released under the Creative Commons Attribution 3.0 Unported license, which allows for you to share or remix the work as long as you attribute the original author. It is not a share-alike/copyleft license, so it may be redistributed under a different license as well if you wish. - Credits - Game Concept, Programming and Editing: Graham L. Wilson Sprite Graphics and Voice Recording: Malcolm Wilson Multimedia Children's Voice Acting Recordings: Laura Warman Soundtrack: Kevin MacLeod (http://www.incompetech.com/m/c/royalty-free/) Sound Effects and Santa's Voice: SoundBible (http://www.soundbible.com/) Sound Effects: A1 Free Sound Effects (http://www.a1freesoundeffects.com/) Rummaging Sound: pdsounds (http://www.pdsounds.org/) Decoration Graphics: OpenClipart (http://www.openclipart.org/) Testers (1.0.0): sholzy, tommyline and Quincunxian (http://www.gambas.guru) Special thanks to BenoƮt Minisini and the other Gambas developers. Happy holidays! Graham L. Wilson, Technical Director, Piga Software http://icculus.org/piga/ http://piga.miraheze.org