Tumgik
radian2pi-blog · 7 years
Text
Song Bird Sanctuary DevLog #4
Tumblr media
Working on the first area, and the combat tutorial. In the demo/prequel, I only had 3 boss fights, so I never had to worry about how to handle level ups and player progression. This is stuff that I will be planning out and implementing in the first combat area. Everything else that I did I consider spoilers :) Play the free demo/prequel:  https://radian2pi.itch.io/song-bird-slumber
0 notes
radian2pi-blog · 7 years
Text
Song Bird Sanctuary DevLog #3
Its been a while! I am the only person working on this game, so when writing and art needs to get done, programing comes to a halt. With that said, I have the entire story outlined, so I know all of the locations and boss battles and events that will happen. I also have the character designs done for party members.
Tumblr media
Gameplay wise, party members will not be the same as your character. You do not want to manage 5 decks. Instead, they will be cards. Party member cards will be “free“. They will not cost an action to use, and will give you a card draw. This means that they can be added to any deck without affecting its composition, assuming you use them whenever you draw them. I think I made a mistake by not making the devlog earlier in development, since most things left to do are “game content“, but I will keep posting anytime I make a new technical thing.
0 notes
radian2pi-blog · 7 years
Photo
Tumblr media Tumblr media
I needed to get the geography placed right and towns named, so i did it in ink. Then i did that tacky thing where you stain it in tea and burn the edges to make it look old. This is real game dev i swear!
1 note · View note
radian2pi-blog · 7 years
Text
Song Bird Sanctuary DevLog #2
Tumblr media
Saving the game is now implemented! Pro tip for new unity devs: It might seem hard/annoying to save a bunch of data in PlayerPrefs, because you can only store ints/floats/strings. But if  you use a json library (like LitJson), you can easily convert objects to and from a json string. You can then store an entire save slot as one string in PlayerPrefs.
1 note · View note
radian2pi-blog · 7 years
Text
Song Bird Sanctuary Devlog #1
Tumblr media
As I was cleaning up some of the code I used for the short demo, I realized I needed to make a system to handle random encounters before I can move forward making levels. I do not like the “classic“ instant random encounters of old RPGs. The worst part of old Final Fantasy games, is when you take 3 steps and enter another random encounter and its startling scene transition. To get around this, I went with earthbound’s solution to this problem. In the over world, path finding agents get spawned outside of the camera’s view. If you enter their agro radius, they will chase you down and start a random encounter. That system is shown above, but with a temporary “shadow“ player as it’s sprite.
Tumblr media
Now for the random encounter event itself. If I make a list of possible random encounters, and choose from that, its possible to have the same random encounter 20 times in a row. Unlikely, but possible. To avoid this possibility, I will use a bag, just like Tetris. I create a list of possible encounters, then shuffle it using the Fisher–Yates shuffle algorithm. This is the bag. I pull one encounter out of the bag at a time. When the bag is empty, I just repeat the process of filling it and shuffling it. If there is only one copy of an encounter in the bag, It can only happen a maximum of twice in a row. Once as the last encounter in the bag, and then again at the start of the next bag. Modern Tetris games use this, with one of each block type in the bag.
Tumblr media
I also tried to use Unity’s build in shader effects, like bloom. If I keep this effect, I will use it sparingly.
1 note · View note
radian2pi-blog · 7 years
Text
My plans moving forward
Tumblr media
In the course of 3 months, I made a stand alone demo, Song Bird Slumber: https://radian2pi.itch.io/song-bird-slumber
Its sort of a proof of concept, and a teaser to the story and world of the full game, Song Bird Sanctuary. So I have the skeleton all finished, that means I can just make content until the main game is done, right? Well, not quite. I finished the demo in 3 months because I gave myself a strict deadline. Some of the systems code I wrote towards the end is really clunky, and I can streamline it to make adding content easier. Also, the art for the cards and UI were made with a completely different aesthetic, that I ditched. They look kind of boring, and I know I can make them look better. I also would like to add in some sort of lighting and/or shading effects, so the game looks less like a “retro pixel“ game. Basically, what I am saying, is I don't expect next weeks progress update to have much visually.
0 notes
radian2pi-blog · 7 years
Photo
Tumblr media Tumblr media
Dialogue is being handled via Yarn. Yarn is a tool that lets you easily write stuff (like twine) and exports the data into a .json file. You can then use Yarn Spinner, a Unity library that can parse the files.Yarn Spinner gives you alot of flexibility with how you want to handle dialogue lines and choices. Night in the Woods used this for all of its dialogue. Its great and I recommend looking into it. https://github.com/InfiniteAmmoInc/Yarn
0 notes
radian2pi-blog · 7 years
Photo
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
So, how did I get this swirling trippy background? Math of course! Before we can get to applying it, we need to quickly review complex numbers. You may have herd that the square root of -1 is i. i is not a real number, and thus you can never simplify a+bi into a real number. We call numbers in the form a+bi, complex numbers. Also, for simplicity, we will use this form: a+bi == (a,b) = Z. This means that complex numbers look like 2D coordinates, and have clearly defined addition and multiplication functions Z*Y = (a+bi)* (c+di) A cool thing about complex numbers, is they are a FIELD. What does that mean? Oversimplified, it means you can define versions of functions that work for real numbers. for example e^(a+bi) , log(a+bi) , cos(a+bi) are well defined and valid functions. OK, so we have 2D coordinate like numbers, and functions that are smooth and nice. Now, if we use custom shaders, and change where the fragment shader samples a texture by using these functions, we can distort the image! Above I have examples of that, starting with the “unaltered“ image (z), and what happens if you apply a function like I described. If you understand this, that's basically it. Just make sure that after you apply the function, it will “modulus“ it back into range. this will make it look like the texture tiles when the function returns a value outside the texture. If you don't understand this, that's ok. you now know what concepts you need to look up if you want to make something like this for your game.
1 note · View note
radian2pi-blog · 7 years
Text
Purpose of this blog
About 3-4 months ago, I made a prototype for the card combat that is in Song Bird Squad. It felt solid, like I could flesh it out into a full game. I then spent the next 3 months making the demo you can now play here: https://radian2pi.itch.io/song-bird-slumber During that time, I never posted about it anywhere online, which was a mistake. So I intend to post here either weekly or biweekly. To “make up“ for not telling anyone about the project, I am going to make a few post explaining how things were done in the demo.
0 notes
radian2pi-blog · 7 years
Photo
Tumblr media
I have been working on a game, Song Bird Sanctuary, A deck building JRPG. Draw cards on your turn, and watch your plan come to life.
Free demo: https://radian2pi.itch.io/song-bird-slumber
0 notes