There's about 8-9 horses though some come in pairs etc...
Recent community posts
Thanks for your kind comments, yes, the camera is a little awkward, I'm using the cinemachine camera, set to always return to the position behind the player. When I have the chance I intend to write a better camera controller, which will not only stay where you put it, but hopefully will be movable.
Like last year I intend to keep a small Devlog showing my progress throughout the Jam!
I spent the first two days of the Jam at Dundee Pride, so spent some time planning what I wanted to create.
Today I actually started working on my game, primarily the art for the main player.
My main character is a horse who has left their herd on the plains of Africa (hence the reference in the post title). I started blocking the character shape out then went about adding textures. The final model now looks like this:
After finishing the character, I set about making some for animations and writing a script to control which idle animation would play, and when.
My plans for tomorrow are to to work on a character controller and integrate some movement animations for walking, trotting and cantering.
Today I spent some time working on the movement for the horse. I also started working on the environment, implementing grass, with different heights as well as starting work on a tree model.
Plans for tomorrow are to implement animations/code allowing the horse to eat grass to replenish stamina. Stamina will relate to your speed. More stamina, you can run faster. Grass will regrow over time.
Today I worked on finishing my tree models, and implementing it, as well as working on getting horses able to eat grass. Grass decreases when eaten and regrows a stage every 4 minutes (5 stages for full)
I also worked on some herd logic. I'm not an AI coder however using unity's NavMesh feature I could just plug in a point close to the herd leader (in this case our player) and the other animals will follow the player around, creating the aura of a communal group.
Tomorrow I plan on finishing the herd logic, so that other animals can join the herd without having to be manually added. Possibly looking into a conversation system to add some basic storyline to the game.
Today I added a conversation system so as to add more story to the game, allowing for more depth. Although entirely linear, the convo system should allow players to interact with other animals and eventually invite them into their herd.
Today I finished the conversation system by allowing for multiple responses, shown below. this allows for more intricate backstories and for a player to feel like they are making their own contribution to the story.
I also added a new conversation horse called Twix who you can befriend into your herd. They were looked past when in their previous herd and can become a part of your new herd, all you need to do is listen to them. A Safe space is a place where everyone feels as though they are welcome.
Tomorrow I plan on adding some more conversations, some good, some bad but to fill the environment with more stories to encounter.
Today I decided to take a break from the conversations and work on some more gameplay features, such as the threat system. Threats such as lion prides will randomly occur as 'scent events'. you will detect these events when you are in range of them and a ui indicator will appear, these UI elements are still TBD however the threat system as a whole works.
The magenta area is the maximum area a threat will occupy, this is configurable per threat. The yellow area is the current threat area, which will expand to fill the magenta radius, then will decrease until the threat has disappeared. When within a threat area, a threat value is calculated for each horse in the herd, depending on how close individual horses are to the epicentre. If this value is greater than 75% (i may change this for balancing) then the horse will bolt away from the threat area, will leave your herd and despawn. The horse no longer considers your herd a 'safe space'.
I also added an icon to the UI to show the player how many horses they have in their herd, which is easier than counting individual, possibly moving horses.
This image is a static screenshot of Twix, and is masked in a circle (hard to see in this image). The full image is also used for the game's Icon
Tomorrow I plan on adding the UI elements for the threat system, designing more threats and possibly expanding the environment more with decorative elements such as rocks and a day/night cycle
Today I added a UI for threats comprising of a thought bubble and a threat percentage bar which shows when threats are greater than 0.
I also added a day/night cycle, some rocks to the environment and a game title, which I'm keeping quiet on for now.
Tomorrow I plan on adding more threats/conversations and actually adding content to the game. The game is theoretically playable now however there's no more than 20 seconds of content so that needs to be a priority.
Today I added a tutorial system using the thought bubble I added yesterday. It's a simple system that waits for things to happen then tells you how to respond, e.g. when you finish the initial conversation you are shown how to move, and when your stamina is lower than 90%, how to eat.
I also added more threat locations spanning the whole of the map as well as 4 actual threats.
Tomorrow I plan on adding some more horse conversations around the map. Due to the number of threats and their ability to pop up at any point, it will be up to the player to determine whether it's safe enough to seek out another herd member or to retreat to safety and protect their current herd.
I took a day off today as I had several things that needed doing, plus I wanted a day off so that when I returned, I could contiue with a clearer head.
Today I started adding some horse conversations. One of the conversations I wanted to have between the player and two other horses so added the ability for more than one horse to join the herd rather than just the one you're interacting with.
Above is the 4 current horses available to interact with.
Continuing today and towards the end of the jam I'll be adding more conversations as well as preparing the submission for the jam.
Today I added the final conversations as well as uploading and submitting the game for the jam.
I'm done guys :D
I'm going to have both ESC (Keyboard) and B (Controller) close all inventories as sometimes I got confused as to what closed inventories.
I'm not familiar with "E" being used for interact...
Some of the UI still needs tweaking, I'll work on this when I have the chance.
I'm rather pleased with how much I got done in the 2 weeks, even though I had to pull some functionality to get it polished
I'll have a look into why the humans have disappeared. Feeding time is meant to happen every day cycle...
There will be a kind of "fail" mechanic when and if your energy and health reaches zero... I'm still deciding on how t implement this further.
I'm aware of the item-info-popup appearing and am still trying to work out why its happening... Well I know why its happening I'm just trying to work out the steps that cause it to happen...
All of the penguins will have a back story brought forward at some point. Although this is currently unwritten, Sir Addlesworth III's story is going to be an interesting one!
I'm gonna try and fix the fish pickups after the jam. The buckets don't count as you have to pick the fish up from feeding time.
The game has a concept of overencumbrence, I'm gonna put a better way of displaying when you're carrying too much.
I'm not a sound person so audio is also postponed until a future update.
Day Sixteen (Final Jam Day)
Today was polishing!
I finished off some game graphics such as one for feeding time:
As well as some other graphics relating to quests.
The penguin animations are finally in and several other bugs fixed and tweaks, tweaked as well
Time to relax before uploading the final jam build later tonight
Today I worked on feeding time. This mechanic spawns fish at set times during the day.
The fish can be collected as items as well as well as (if the player hasn't finished the quest) for "The Wonders of Feeding Time" quest, which is bestowed automatically at the start of the game.
This took me almost all day to get right. Currently there is only a text graphic to indicate that feeding time has started however I will create a proper graphic tomorrow.
I also added some graphics for the controller buttons to the button mapping screen under the main menu options screen.
Today I finished implementing the last of the intractable objects for the quests. I also added all of the outstanding quest text as well. No screens to prevent spoilers...
I also added a Controller mapping screen which shows what keys are mapped to what actions (Controller button icons are TBD)
I also created a Pause menu in-game with options to save game and quit game. They both have a popup which is either a confirmation of save or a notification that you should save before quitting.
The game doesn't actually pause however as there are no moving items (if and yet) then this isn't an issue. If in the future I have moving items, I'll add a proper pause effect.
So I'm at the stage where the only new features will be small ones such as adding a Pause menu (with save option) as well as adding an in-game controller mapping screen.
I started by fixing a bug that has evaded me since the start of the jam. Since I prefer to play on controller I had neglected to test the keyboard mapping for the game. Pressing "Tab" rather than the controllers "LB" and "RB" didn't switch the players inventory out in the inventory screen. The container transfer screen was unaffected however you wouldn't be able to see Denden's inventory.
I also changed how saving of quest object visibility works. previously the script which made the object visible would handle saving however that caused duplicate entries in the save table due to needing multiple copies of this script on an object. I changed it so there is now a simple script, 1 per object which handles saving the visibility and nothing else. The visibility script is then free to change the visibility as it sees fit and the new script will save the state.
Testing that was a nightmare...
Don't know how much i'll get done for the rest of the day as my USB Stick decided to almost die on me and i need to back it up. Also Life is Strange: Before the Storm is out today and I really wanna play it :P
Today I woke up hungover and full of cold as I went out to enjoy University fresher's the night before.
I didn't get as much done as I would have liked but all Quests bar 1 side-quest have been completed.
I received the final penguin model (still un-rigged and free from animations)
Today I started working on the environment...
After that I added the hatching box where the penguin couples keep their eggs
After that I started actually implementing several of the quests. I have added the first 7 quests however have only hooked up the first 4 as there are findable objects (including penguins) that need to be placed as well as adding the bobbing fish indicator, quest reward items and finally dialogue for the penguins you speak to.
I have updated the build with the current progress however will only make the quest line "The penguins of Cherringsworth Zoo" available in order to keep secret the future of Swemark and Denden's adventures until voting opens for #RainbowJam17.
Finally, the game has a name... i present:
Today I started work on the main menu. There isn't much graphically however the functionality of starting and resuming games is working.
The start game button brings you to a save slot selector. There will always be at least one option to start a new game (unless 5 slots are filled with games).
I also worked on graphics for some of the final game items however am still working on the exact stats they will have so will keep them back for now.
I added a new item type, which is a continuous item, alongside consumable and reusable. Continuous is a continuously executing reusable item. after the cooldown has passed, the item will apply its effects again, over and over again.
I was looking at the new categorisations for uploads on the edit page and I absolutely love the idea!
The question I had was, if you mark a download as a mod, how does the download happen? can you specify a download location as certain mods need to be placed in certain folders?
If you can do that I may consider using that feature to provide what could effectively be an expansion to my game which is locked unless you have access to the file (e.g. by purchasing it)
EDIT: I just tried it by uploading a game, marked as executable, as well as another file, marked as Mod. the mod file did not appear to be downloaded (by the itch app),
Today was spent on the Dialogue system and getting the quests moved along more.
I started by writing a dialogue system which shows text, can give items and bestow quests. I hooked this into my existing Quest Findable system along with adding incremental objectives to quest findables meaning you can have quests which say "talk to 3x penguins", and interacting with them can not only bring up a dialogue but can advance the quest.
After that I spent time adding colours to certain parts of the item text. This highlights certain things such as whether it's consumable or reusable, what stats it affects and the cooldown.
I also added a bound option which keeps an item stuck to a player which cannot be moved between containers.
I spent the bulk of the evening adding in a fish object which not only can be picked up for the item it is, or contains but can advance a quest. This fish will be spawned at feeding times and will both give you a fish as well as advancing the Incremental Side quest "The Wonders of Feeding Time".
I spent most of this morning travelling to Uni. Cut to later in the day where I met up with my friend who is doing the art, Mich.
Whilst they were working on the penguin model a bit more I spent most of the time working on a Saving and Loading system. Currently the system can save each individual penguin, all containers, visibility of quest objectives as well as the quest states for your playthrough.
The benefit of this means that you can play the game at your own pace and can save and return to the game at a later date.
I finished off late in the night by adding quest indicators to the items which are used in quests.
The indicator only shows when the player has a quest associated with that item. It also respects saving and loading rules and doesn't show for quests that have been completed during a previous playthrough.
Today I didn't get as much done as I would have liked as I'm preparing to move back for uni.
I started by adding the data types needed for item usage such as the type (consumable, reusable) and what it affects such as Energy and Warmth. I added this information to the item description shown on screen and improved the formatting a lot.
I added the cooldown text in after as I forgot to add it before screenshotting.
I then added the cooldown indicator to the inventory visualisation. It responds to a value on the stack of items however I am yet to add Item interactions so this will be fully implemented later.
So after packing for uni I have found some time to work more today. I implemented Item usage along with the cooldown icons. Items can now actually affect penguin energy and warmth now. It doesn't detect if you are at full energy or warmth (so don't overuse items - this is intended) but will clamp meaning you can't get over the maximum or minimum energy/warmth.
Today I've added a notification system to the game. Currently notifications only appear when
- A Quest is Bestowed
- A Quest is Completed
- Quest rewards are given to the player
I plan to add more if and when required in order to notify the player of events happening they may not be able to see at the time they happen.
Later on during today I started work on some of the GUI elements such as a fish counter and basic player stats:
The fish counter tells you how much fish the penguin you are controlling has. This is important as fish will eventually regenerate your energy.
Energy will deplete at a constant rate, but will decrease more when moving, and even more when swimming. Eating fish will restore energy however the exact values are still TBD.
Warmth will not deplete until your energy is < 50% or you enter the pool. The only way to restore warmth is to return to your hatching box. When protecting the egg, the penguin remains in the hatching box and therefore will never lose warmth, but can lose energy.
Didn't get much done today as I had other commitments, however I managed to add functionality to the Challenge system (Now Called Quest system) to allow for an object such as the fish above to be used in multiple quests. For example, "Find the Large Salmon", "Take slices from the Large Salmon" (Which gives an item reward of salmon slices)
I also decided that for the collect x fish quest (which is the only quest that will make it to the final game as-is) will be related to the concept of feeding time. This hasn't been implemented however I have the full plan in my head for now.
Fish spawn randomly across the environment at feeding times during the day/night cycle. You must go and pick up as much fish as you can before all of the other penguins take the fish for themselves. (Fish collected by other penguins is lost and cannot be claimed in any capacity)
I should be able to use the existing "Find-able" system by adding a check to the quest's type (Incremental/Immediate) and increment or immediately completing where appropriate.
Today I started the Challenge System. The challenge system has two objective types, I've implemented one for now. the Two types are
- Incremental Objectives (Think "Collect 100 fish")
- Immediate Objectives (Think find object) <- I've implemented This One!
The logic for both is done on the challenge side, I just haven't implemented any of the challenge incremention when you progress.
For Immediate Objectives, the only type that will be available is finding a location or an object. I'll create a marker which will indicate that the object is required for a challenge later (maybe a spinning fish above the object or location) but for now at least it's fairly easy due to the test-world being so small. The image below is a placeholder I got from OpenGameArt, I doubt i'll have a find a fish quest but it's good to get started...
Mich, who is graciously doing art for the project has passed some in-progress models. The first can be seen below as I had already imported the model before working on improving the intractable popup message. The message now has a title (which will be the object name 99% of the time) plus a message, which is no longer how to interact with the object but provides extra info about the object such as how many items are in a container or whether an item is required for a quest
A more fleshed out model was given to me just before updating this Dev Log. Here's the more up to date model. The penguins are also holding flippers which was completely unintentional but hella cute. Also, the penguins names are ready be be revealed as "Swemark" and "Denden"
I started today by working on the whole controller mapping for the game. this was so that when i came to implementing features I would already have the mappings decided upon. I posted this in the discord chat for feedback and here's the final mapping. DPAD no longer in use :P
I also worked on a read-only version of the inventory which would allow the player to see what the penguin they were controlling was holding. This was extended by having the icons (when clicked (or with A)) open an information popup which gives the full information about that item, such as name, description and rarity.
There are 2 extra items added for testing rarity colours.
- Fish = Common = White
- Downwards Caret 1 = Uncommon = magenta
- Downwards Caret 2 = Rare = yellow
- Prismarine Test Items (Both) = Unique = cyan
Overall the inventory item is pretty much complete now, you can add and remove items, view the items and move items between containers.
Day two started with me adding the egg to the penguins. All penguins have an egg however if they are not in charge of their couple's egg it's hidden. Players cannot move if they have control of the egg until the other penguin has taken it from them. When the player switches to another penguin. If that penguin has an egg, they will take it from them once they have returned to their starting position. This is done using the Unity NavMesh system for simplicity (This may be fun to extend to swimming logic...)
I also updated the inventory to handle multiple items. I redesigned the inventory screen instead of having bulk move and single move buttons, every time you click (or press A) on an item, it will transfer one of that item to the other inventory either a container or to the player's inventory.
Swemark and Denden's Great Eggventure
This Dev Log is focused on the coding side of the game, you can see update videos on my twitter @Queekusme
The basic idea for the game is you are in control of one of two penguins, you are raising an egg and have some challenges to complete...
Progress on day one was getting the basic characters working. you can move the penguins around using WASD and/or using an XBOX controller. The player can also switch between the two penguins (actually any penguin however it's currently set up to loop between just the two, for now) by pressing either Tab or the player can cycle through penguins with LB and RB if using a controller.
I wanted to get controller support working as quickly as possible as at the moment I'm preferring to play games with a controller. Ironically I sold my Xbox in favour of PC Gaming...
The final functionality for Day One was implementing a basic inventory which could hold fish.