Encyclopedia Hortica Botanica | A farming game made with Godot and LPC assets
Hello
LPC assets are so cool, honestly I think its one of the best "set/collection" that can be found on OGA. They are mostly compatible with each other, can be used and extended and have a great variety of biomes and environement. I feel it would be nice to have a game using them and putting them in a way that can easily be extended and modded by the community and would encourage people to create more content.
Many games from the original game jam are not developed anymore and or have some annoying bugs. LPC deserve to have a cool open source showcase project.
Design objectives:
- I did not wanted to create the classical open source medieval RPG / MMORPG, It is a theme that was used above and beyond.
- There are already a few RPG out there using LPC assets, and I wanted to try something new.
- This might be controversial but many open source project sadly use their own engine. Encyclopedia Hortica Botanica, should NOT use its own custom made engine. I would like to focus on creating an open source game not making yet another game engine.
- The engine must a popular engine and with existing tutorials / ressources so people can join easily. I choose Godot because it has a very active community and is relatively easy / similar to unity engine and it can easily be extended / scripted if needed.
- I also did not wanted to create a pure clone / reproduction of an existing game. We can create our own LPC_universe and stories, lets not clone candy crush :P.
- Many of the LPC assets are lovely. We should make sure the visual quality is not left behind.
- Real pixel art without compromise. The game runs in a fantasy console with the native resolution of 640x360. Everything including the UI is rendered at this resolution.
So what is the game?
To not be yet another recruitement post asking for a team for 200 people and abandoning the project after 2 weeks, I already started working on a prototype for a few months during my free time.
Encyclopdia Hortica Botanica is a crop / growing / farming simulator. In a way it is similar to the open valley project https://opengameart.org/forumtopic/open-valley-ideaproject#comment-90286 and maybe we could join forces, although mine is not a clone per se (as stated in the design objective).
The dark twist:
You are a botanic student and you study plants, your goal is to grow stuff, experiment, create amazing, (and potentially dangerous) plants that might or might not invade and destroy your other crops. By upgrading your skills you can perform more advanced science and magic.
Preview of the skill tree:
The game also uses 2D light and shadow with normal maps to create a sensation of depth. The idea is to get the best visual quality possible to offer an amazing showcase to assets used in game.
Example of real time lights with trees in front of the light source being darker and the one in the back getting the light from the character. This is also be very useful in interior scenes.
So far this is what was done:
- Inventory and backpack to pick, drag&drop and organize items
- Dynamic lighting with normal maps, shadows and other light effects
- A few interactive objects
- Level loading and save function
- A prototype of the player house
A prototype of a crop field
All assets so far come from OGA. Some stuff was created by me and of course they will be released on OGA under an open source license.
What is coming next?
- Making dynamic lighting scale (some uses custom scripts to work).
- Ability to grow one type of seed in a crop
- Improve the world map and start adding interactions
Anything beyond is pure speculation so I will not make a long term road map :p.
Let me know what you think, if people are interested to contribute I can already put the git repository public. Idealy if someone is motivated and willing to help me It would be really nice, whatever its for developement or an artist.
Hey samuncle! Welcome to the LPC community! :)
If you do not plan to support a lot of clothes, you may be interested in some extensions of the LPC characters proposed in this topic. In particular, I am thinking to Evert's "Grab" animation.
You cut the skill tree in purpose? We want to see more! :p
I am curious, what information do you use to create the shadows for trees? I am thinking in adding this feature in my own lighting system.
I think you should make the repo public as soon as possible and put a README to explain how to set up the project and launch the game.
Good luck in your project! I will follow its progress!
This is awesome! As someone who clearly has a fascination with drawing plants, I'm delighted to see all these farming systems!
Your screenshot reminds me that I should really add a version of the food assets with shadows. They look kind of strange just sitting on the ground with no shadow!
I also really like the lighting and would love to see what more you do with it. I remember seeing this article about some of the tricks used in Graveyard Keeper to get pseudo-3D lighting effects with 2D graphics and a pixel art style: https://www.gamasutra.com/blogs/SvyatoslavCherkasov/20181023/329151/Grav...
I am also curious about your skill tree. I think it's kind of funny that "grafting," a technique probably developed in the fertile crescent >=500 BCE is on the same level as "genome sequencing," a technique developed in the end of the 20th century :p But that was in our world, not EHB's!
I'd echo pvigier's suggestion to post the code! All the better to get feedback and participation.
Let me know if you need assets, I'd be happy to collaborate!
There has been a few improvements :). Mainly there is now a prototype of the player house and there is also a time cycle (with minutes, hours, days). I also rewrote completely the script to manage interactive objects (items, doors, etc) to be more robust.
Now player data is persistent when moving from one level to the other.
To answer a few questions:
You cut the skill tree in purpose? We want to see more! :p
This is on purpose to cut down the amount of features. I would rather have something playable than to many ideas that go nowhere. If I_implement the skill tree shown I can then think about the future :)
I am curious, what information do you use to create the shadows for trees?
This is so far vanilla Godot with some custom shaders and scripts.
I remember seeing this article about some of the tricks used in Graveyard Keeper
The technique used in Encyclopedia Hortica Botanica is similar :).
I'd echo pvigier's suggestion to post the code! All the better to get feedback and participation.
I am preparing the code to be released. There is a few things to clean up, It would be helpful if another programmer can help me since doing all the design decision alone is hard.
it looks like a good project and interesting idea... I'll keep an eye on you to see what ideas you can come up with :p
Hi,
I have a new update :). I have now a full day / night cycle that works in the game and changes the colors / shadows / mood of the level. Initially I wanted to work on the day / night cycle much later since I do not consider it as an important feature but I figured that its better to do it now so I know the artwork can work under any light condition.
I also took the opportunity to redo the player's farm / house with something that looks more like a barn / farm / cottage.
I included a Gif so you can see the day / night cycle. The next step will be to create probably a general store to experiment with two things:
* Ability to sell / buy items
* To make a location accessible only during certain hours.
On the more technical aspect I added a speed up / slow down button for the in-game time. While this isn't the most exciting feature it helps a lot with debugging.
untitled.gif 545.5 Kb [3 download(s)]
Apologize for the lack of updates but I was busy experimenting with custom GUI for godot. I envision Hortica botanica as a game that can be extended and levels / maps can be added quickly.
In the options for every interactive objects I started to restrict options that make no sense. This is the old interface to setup a door:
As you can see you have all the options even if they make no sense. If restricted opening is not enabled, setting a time for opening / closing is completely useless.
In the new interface it looks like this:
I hope this will make it easier to get started and add content. Thus paving the way to release of the code of the game.
Regarding content there has been a new building. The general store where you will be able to buy / sell items from your inventory.
So after some clean up I'm ready to share with you the code of the game. This is the repository: https://github.com/samuncle/hortica-botanica
You will need godot to run the game.
A quick update:
There is now a very basic harvesting mechanics where you can pick blueberries from bushes.
The day / night cycle is also more dynamic since now windows, lanterns and lamp will glow softly at dusk.
Future developments:
I plan to do a full cycle with the seasons and blueberries growing in the right season. Once this is working it will be the base for adding a bit more content.
the only thing i can notice is that the character's shadow is missing XD
For now shadows are handled by the real time light system. I will probably bring a special way to have shadows for the player.
My priority is to get most of the base mechanic working so I can start adding more content.
I started to work on the game visual design. The small town will have a few business.
For now I made the tavern and soon the general store will follow.
I also improved the schedule system to allow opening based on the season and the day of the week.
Although buildings will be built using tiles from LPC assets, I want every shop to have a distinct look so the player can easily recognize where they are.
Looking good! Are you planning to post the unique tiles on here? Would really like to use them, that Foolish Cat sign looks great! Also, if you used the LPC pallete, or LPC assets to design them, it's required by the license. Keep up the good work!
-Sincerely
FiveBrosStopMosYT
Oh, don't worry about that. Everything will be open source, as stated in the beginning. So far, except for the blue berries I did not designed any new pixel art. I mainly combined existing LPC artwork together to make this.
You can already now check on Github the project and download the sources and run it yourself.
As for the license I do not know yet how I'll handle this. Because LPC assets have so many authors and sometimes I only take part of one tile to combine it with something new, I need to find a way to properly credit everyone.
Btw the cat is a variation of this one:_https://opengameart.org/content/cat-sprites
You can check all the assets I use in this collection: https://opengameart.org/content/encyclopedia-hortica-botanica-a-farming-...
Ok! If you're looking for how to best credit, then an option in the menu to roll credits, or a credit screen at the end of the game would probably be the most nonintrusive method. Also, even if use use just a little bit of a asset, you can just credit the whole thing and be fine. With CC liscences you can hide the attribution in some dark, forsaken corner, and, as long as your players can easily access it, you'd be fine.
-Sincerely
FiveBrosStopMosYT
By the way, I was thinking about this game, and I thought that it would be neat to have some sort of mine area, where you can get ores to make better tools. There's a whole collection of mining assets you can find here, here, and here. It would also be a great opportunity to implement some combat mechanics, maybe some slimes wandering about. You could even put some special plants that only grow underground hidden in the mines.
-Sincerely
FiveBrosStopMosYT
So, I tried to load up Hortica Botanica, but when I imported it into Godot, it opened in editing mode. How do I get it to play?
-Sincerely
FiveBrosStopMosYT
To launch the game you can simply click the play button from the Godot editor. As I said there is not much gameplay for now. I'm still working on the base mechanics (like being able to open doors, etc).
Good idea for mining, although it will not be my priority. However if people would like to help me it would certainly speed up development. I would like to start small and progressively add more locations and characters. So far I only plan a very small town (only 3 to 4 houses / business) and a farm. Later we could imagine caves, forests, train station, an old mine etc.
Regarding credits, yes I would definitely want to credit everyone. There is something quite overwhelming regarding LPC assets due to the sheer amount of people who contributed to create them. For now what I do is I put into an open game art collection all assets I'm using to later being able to get "easily" the list of all authors.
But it does raise question, often I will take some part of one image and some other part from another image to create something new. For instance the foolish cat logo is made from:
This font:_https://opengameart.org/content/pixel-fonts-by-pix3m
This cat:_https://opengameart.org/content/cat-sprites
A reworked version of this sign: https://opengameart.org/content/lpc-sign-post but taken from this bundle:_https://opengameart.org/content/lpc-signposts-graves-line-cloths-and-sca...
The problem I see as an artist is when I_started to make the tavern I had no idea there would be this sign and I_was not even sure of the design I_wanted. It took me several iteration of trial and error to get the final result I presented here and in the process I_might or might not remember what I took as inspiration to create it.
You can imagine now the problem when working on a bigger scale how to properly attribute everyone.
If I need to think exactly what are my source of inspiration / reference for every single tiles I'm making this will not be efficient, this is likely to change and create a lot of overwork. Of course if you create only one or two tiles or if I release the sign standalone this is a no brainer and it is very easy to credit people. But if you are looking to create your own game with most of the assets coming from LPC project this will become very complicated.
From an external perspective That is unfortunate because it makes it very hard to use LPC assets. IF I was better at pixel art I would just create my own or buy a pack on something like the unity store to avoid any issues which is sad.
I think LPC would greatly benefit to have a unified license (like a creative common LPC asset license) with a list of everyone who worked on the project and if you include this in your game you are good to go. This would require to contact everyone and ask them to change the license which would be hard but I think it would make LPC assets easier to contribute and work with.
Ok, I understand your problems with crediting, however, I don't think they're any rules against crediting someone's work that you're not sure made it into the final. In that case, if that person's assets helped in the design process you could simply add them to your credits and continue on.
-Sincerely
FiveBrosStopMosYT
Yeah, this is why I'm adding every assets I download to the collection. I would have no issues crediting everyone even if their art did not make it to the final product.
A quick update :D
We have now a general store where the player will be able to trade various things, like seeds, food, etc. I also added a very basic weather system. As with the rest the weather system is very basic. Possible weather are CLEAR, SNOW, RAIN and STORM
Clear: Is the default (sunny and no clouds)
Rain: The world become grayish and it rains
Storm: Only happen at night and is the same as rain but with thunder and lighting and only during summer season
Snow: Only happen during winter or in the first 3 days of spring instead of the rain
In this picture of the store you can see rain and the colors are now gray to simulate clouds in the sky
I was thinking of adding another type of weather (windy) but it might be too complicated and I_was not sure how to show wind to the player.
Looks great! Do I just redownload on GitHub to get the new version or have you not released it yet? :)
Oh, sorry, I forgot to push. The git repository should be updated. You will also see the canyon on the left of right of the town
Ok! :) Looking really good! Also, have you seen the crops in this pack? They're designed for a sci fi game, but could work as rare, magical, or bioengineered plants.
-Sincerely
FiveBrosStopMosYT
And if you need any sound effects for your game, you should check out Freesound.org. They have literally thousands of sounds under Creative Commons liscenses. I post on the site and can highly recomend it.
Hi, unfortunately I did not had time for an update nor to add new features. However I started to work on the forest that will be north east of the village. For this I_had to create new tiles for the canopy. I'm not sure if I'm happy with them (sadly there are AFAIK no canopy tiles for LPC assets. I might redo them in the future, but I will anyway release this version on OGA when I have more time (probably this week end).
On the minor side, I remade a few assets to make sure they use dithering for gradient and not smooth / non pixel gradient. I would like to keep the pixel art look for everything.
Stay tuned
What did you have in mind for a forest canopy? Seems inspiring.
I mean, I know what a forest canopy is IRL, but it seems like you're using it as an industry term for a specific style of game art depicting trees in a certain way. Can you share examples of canopy tiles from other games?
--Medicine Storm
I think they mean the tiles around the edges of the map, where the trees blend into a solid background. Basically forming a barrier on the edge of the map. Someone made squashed versions of the base trees to use in RPGMaker, and they included some tileable canopy sprites sort of like this. I don't remember where though, and a quick search didn't turn anything up.
Another approach could be to overlay lots of trees, as was done in Source of Tales: http://www.sourceoftales.org/talesworld/
I agree. I've found success using the large tree in your tree packs for a canopy, bluecarrot. I made tilestamps of the tree, and the upper half containing the leaves. Then using ten layers or so I can layer the trunks along the bottom, then just stack the leaves up to the desired height.
@samuncle I put a gif below so you could see how it works. Unless you want to stick with pure LPC, as the tree is in a slightly different style, I'd recommend this method, it's both easy and looks good. :)
57ma8i.gif 206.8 Kb [0 download(s)]
Oh, yes! Forgot about that one. That tree is by Redshrike. It actually tiles, so you don't need to make lots of copies in different layers. I think it was intended for this purpose.
This is an example of canopy: https://opengameart.org/content/16x16-forest-tiles but as written for 16x16 tiles and not for 32x32 LPC compatible tiles. Now yeah I could use the giant forest and what I did is similar I just added a solid color in the middle and made my own tiles. I like the solid color because it helps define the shape / path used by the player.
If someone is tempted to make it, I will immediately include it in my game :).
Ok, I see what you mean. So something like this? I just threw it together in Tiled, with some more work, (like eliminating shadows and better edges for the top,) it could work well enough for the game.
@bluecarrot: Ok, I didn't realize that. Thanks for the tip. :)
screenshot_10.png 150.1 Kb [0 download(s)]
Yeah, something along those lines, I_had in mind tiles similar to this, of course not a jungle but with conifers. To give a sense of dense forest.
@samuncle:
Ok, I see. I looked at the conifers pack, and there's nothing that's easily modular like the trees above. I'll think about it and see if I can come up with anything.
@bluecarrot16:
Do you know of anything modular that could work?
[Edit]
I looked back over bluecarrot's conifers pack, and found that the tileable saplings he had made a pretty good border for larger trees. After toying with the shape a bit, this is what I came up with:
screenshot_11.png 171.3 Kb [0 download(s)]
Wow that looks really cool. I love it :).
Ok, awesome! When I have more time I'll send you a gif with how I did it. :)
Another attempt, quick proof-of-concept. Could be made to use a solid color for the middle pieces with more tiles. Probably also needs a few more tiles to allow all corners.
CC-BY 3.0+/GPL v3+, credit Sharm
canopy.png 14.6 Kb [2 download(s)]
canopy-conifer-preview.png 111 Kb [0 download(s)]
@bluecarrot16:
Wow, lookin' good. are you some kind of pixelart wizard or something? LOL :)
@samuncle: Here's a gif for the coniferous canopy I built, as well as written instructions. If you want to use the design:
Step 1: Place down your interior tiles in the shape you e=want your canopy to be. Allot a few less blocks than the entire canopy will be, to allow for tree placement.
Step 2: Begining on layer four, place down your first layer of coniferous trees around your interior tiles.
Step 3: On layer five, repeat step four, placing the trees so they overlap the others.
Step 4: On layer six, repeat the process so that the trees form a solid wall with no holes. Another layer may be needed.
Step 5: Erase the trunks of the trees on the top of the canopy area, so that the trunks are no longer over the interior tiles.
Step 6: Place the sapling tiles around the trees facing in. Use layer seven or eight on top, but use layer three on bottom so that the border is behind the trees, just peeking out.
Step 7: Using the center part of the pine tree used for the walls, cover over any trunks you may have missed on the top, not the bottom.
Step 7: Using layer 2 on top and layer eight or nine on the bottom, mix in a variety of trees to make the canopy look more natural.
Step 8: Admire your haniwork! :)
Hope this helped! :) PS. I included the tile I used for the interior tiles below.
57t08o.gif 214.1 Kb [1 download(s)]
new_piskel_3.png 108 b [1 download(s)]
Hello, the project is not dead. I spend time to improve a few things. Mainly the light rendering which is now more automated (to avoid a lot of manual work). There is a very early attempt to add stamina to the game.
There is also a new building in the city, the hospital / medical center where the player can recover lost health.
I'm still looking for someone who could help me, if you are willing to help and have some Godot experience let me know.
Since now we have quite a few buildings (tavern, hospital, general store) I would like to add a bit of gameplay:
* Ability to go inside building based on schedule (this was possible but was disabled)
* Ability to restore your health if you go to the medical center
* Ability to drink at the tavern
* Ability to sleep to recover your stamina
* Sell items at the general store
Glad to see you weren't abducted by aliens after all! :) It's looking good, too bad I don't know how to code. :(
Is the new version available on Github yet?
-Sincerely
FiveBrosStopMosYT
I love the creativity you have in "building" homes/shops/etc....
I am not that creative at all XD