#expandingfamily #newcodes #newfamilymember #newfanily #escfamily everyone please welcome @jacksonspadepro and @emdawwg_ to the #escfamily https://www.instagram.com/p/B87eBViJXOI/?igshid=128jcc2560skx
Ladies and gentlemen please welcome @stephanie.vaquer to the #escfamily #newmember #newcodes #newquotes #newmembers https://www.instagram.com/p/B85g1dbpJ8W/?igshid=16qux65a6skw3
Remember guys every sale made 10% goes to #breastcancer #foundation let's get the sales sky rocketing and get the #powerofpositivity out to the world. Crop top jumpers 40% off code clearance Everything else 20% off code ESCFAMILY Website attached and lets get going. esc-clothing.square.site #newcodes #newbusiness #neweverymonth #positivevibes #positivity #discount https://www.instagram.com/p/B8UGh1vJl5M/?igshid=4t84x87g33me
I haven’t posted in a long time and with good reason. I’m away this year to grow and learn but that’s not the only way in which this year has been tough. Earlier in the year my rental car was broken into and the thief tossed my bag onto the ground. Thankfully, the police responded in time with thanks in addition to the great citizens who noticed something wrong, but unfortunately my laptop on which I build the game was pretty badly damaged and now the fan is not working. I can only work for short periods of time due to this to prevent overheating and frying my CPU. I even rarely go on the internet anymore. I’m like a hermit.
Anyways, let’s talk a titch about the game.
It’s been a long, long time since I talked about just WHAT IS GOING ON and posted about my logic in building the game. I’ll try to get as much logic as possible down but honestly I’m really tired and don’t know if I have the mental capacity to write it down. But I’ll certainly try.
So, I’m coming along on the story. Honestly, this game has gone through so many changes in name and story these days it seems the only thing consistent is the fact that I plan on naming the series BladeSong.
This story takes place in a land called Faisches (yes, we moved out of Teocra and… Kenda?), a country based on France. I don’t want to say anything more on that, but I’m working hard on flattening out the plot and the environment and it’s all really coming out nicely. I wrote a pantheon and the game is going to be pretty damn expansive and immersive. I hope.
The system itself is going pretty amazingly well. I’ll toss in some pictures here:
The first picture you’ll see is a dark-skinned character randomly generated into the character creation system. Is this significant? YES! Before now, the range of skin colours I was using in the randomizer was, unfortunately, kinda racist and would not allow anything beyond light-skinned to nearly pink. I was always looking to fix this but couldn’t find the right code to mix colours until now.
The second picture you’ll see is a whole whack of things. You got me being attacked by a Vanguard, who will guard cities from… well, you. You have an Ursa to the side lumbering around, that bear-thing with the tail. The giant lynx is called a Srileo.
You should also notice the person near me. That is a randomly-generated civilian. All of her clothes are randomly generated specifically for her gender, as is her hair and skin colour.
The creatures at the bottom are (checks notes) Timonars, and they are designed as lower-level monsters.
Notice the birds! There are two types of birds right now, the Proigiex (the little pigeon-things, which in gameplay waddle around at random) and the Pratian Garzaks, a species of Garzak bird (we had another species of Garzak birds as enemies in the original Game X). Both fly away when you approach them. They ask what the distance is to the player and to all monsters in the room and if any of those variables are less than 30, a sprite of a flying bird is sent up in a random direction (e.g. x+=0.5 or x-=0.5) and when the sprite reaches the top of the screen the object itself deletes itself.
You may also notice weird things, like the blue circle beneath all monsters and the black square on the left of the screen. The blue dots are markers for bug-testing the monster identification list, which I mention below that I will discuss in detail later, and the black square is actually four base monsters (as in, the parent from which all other monsters are built on). These should all be gone by the next time I post an update!
Things you cannot see here are the combat mechanisms and the monster ID list. Both are HUGELY important and I put a HUGE amount of work into them so I think it’s best if I wait until I am less exhausted to post about them.
Bows work really, really well, except for the fact that they don’t tilt when they aim (yet) and honestly, swords work even better. Playing around with these and kicking monster butt is quite fun!
Anyways, there you go. A quick little update on the game with pictures. There are more features to be seen like going through doorways into rooms and a brand-new text box system I wrote myself that I will post about later. And maybe, who knows? I can showcase some of the new armours?
Anyways, I'm pooped and I'm out. Tell me what you think of the pretty pictures and the crazy new work I've put into the game. Suggestions? Anything you want to hear about? I'll be (pretty) happy to oblige!
Been a while since I last posted and there's good reason for that, so let me tell you what I've been up to and why it took me so long to post.
So, way back when a few months ago, I took to the process of building swords.
Simple enough, right?
I suppose it was. As I may have posted before, what I did was put the swords into a partial orbit around the player which cuts off at a certain point. The result was beautiful, fast, and strong.
So how do you do an orbit?
Orbits are done using a function called lengthdir, and one has to be used for the x-component of the orbiting point and the y-component.
Remember, everything is just a point with a sprite on top of it, so we need to orbit the specific point.
lengthdir works by adding the function to a point on the map (like the x of the object your point is to orbit), and then within the function defining the radius and then the angle at which the point is, such as:
(note: the same radius must be used for the y-component if one is using a circular and not elliptical orbit)
The angle circle begins towards the right and goes counter-clockwise, so a radius at 90 degrees is pointing straight up.
The speed of the orbit is determined by putting the following in the step event:
angle+=5
That means that every tick of the game, the angle will move by 5 points counter-clockwise.
In my game, I use 'strength' to determine the speed of the sword. As you level up, your strength increases.
I also added a gravity effect to the blade by adding a small amount of weight (really just a variable added to the angle) which increases with each step. The result is the blade falls faster as more time builds.
Now, here's where I got REALLY lost.
Enter the bow. Like, bow and arrow. Simple enough, right?
I wanted to add as much variability to bows as I could. By this I mean I wanted the bow to be as damn easy as possible to enter into the game, making things easier for the artist(s) (the only one being me). All that needs to be done is the bow needs to be drawn and the engine will string it at its two endpoints.
Now the string is really a line defined by three points (it's really two which share a common point being the centre point of the bow, but we can ignore that, right?) Once a point is put in the line is the distance between the two points.
If the bow itself was constantly pointing forward even as it was raised above the player's head, that would be easy enough to string.
Easy is not my strong suit.
Instead, the bow has to rotate, no? That would look more professional and realistic, no?
Little did I know that that would be a huge pain in the ass.
The shaft rotates using image_angle, which, as is implied by the name of the variable, is the angle of the image. Increase that and you're golden.
But there is no image_angle for defined points! You can't just do some kind of line_angle function!
So I sit and think for a while. Image angling. Sounds familiar. I need to put the points... at an angle...
The angle of a circle.
Orbit.
Use lengthdir.
Easier thought than done, I soon found out. I couldn't simply rotate these points.
For months upon months I tried to, though. What I imagined was that the centre of the bowstring was a centre point, and the top and bottom are fixed points that rotate based on the rotation of the bow. It kind of makes no sense, though, and I have trouble explaining it. Here's my attempt at a diagram:
Here you see the top point marked in purple. I thought that it was supposed to be at a fixed point and that circle around it is the rotation it does as the bow rotates.
I knew that it was wrong. I could see that it was wrong! The evidence was right in front of me as the game simulated my thought process for me, creating all kinds of non-Euclidean-style Eldritch abominations of rotating lines. It was hideous and not at all what I was looking for.
However, I couldn't get the thought process right. I had no clue what I was supposed to do, even though the answer was lurking in the back of my mind. There was nothing to do so I put the game on hiatus...
FOR ABOUT THREE MONTHS.
It wasn't until I found myself telling a friend about the game that I realized I had forgotten about it, abandoning it due to the perplexing problem. So I returned to it, determined again to beat the issue to a red-tinged pixelated pulp.
The only thing now was to create a separate simulation.
I ran a small simulation of a rectangle orbiting another rectangle. Simple enough, worked perfectly. One rectangle orbited another.
My next step was to create a line that was about 3 pixels in length and would always point towards the inside.
What I found surprised me.
I had been thinking for so long of the bowstring as lines that I didn't realized they were not that at all. All a bowstring is is a RADIUS, not a line.
When I first ran the simulation, it was funky, until I fixed my thinking and began to think of the top of the line as a point along the radius. Sure enough, it worked and I was ready to fix my abomination.
Returning to the game I found myself with a mess of incomprehensible code that reading would require me to travel back in time 3 months. There was nothing to do about my tangled spaghetti mess of rubbish code, so I SCRAPPED EVERYTHING I HAD AND STARTED OVER.
Firstly, I created the centre of the bowstring.
Each time I made that damned bowstring, the centre always went funky once the image angle started changing. I had theorized for months now that the requirement to fix this was to put the centre point into a small orbit, beginning at the centre of the bow image, the radius being half the width of the bow. Once fixing the angle so that it rotated clockwise (you just multiply the angle by -1), I found that the centre worked perfectly (I found this by first only drawing a singular point: Wulff Hunter, meet the draw_point function). After this, it was time to work on the rest of the bowstring.
All that was required was me adding an orbit with radius of length of half the bow (as I could only string half the bow at a time, to allow a centre point that can move back as the bow is drawn). To string the other half, I used the same codes for the upper half of the bow, only adding 180 degrees to the angle so it was mirrored. And voila! I had stringed my bow to perfection! 3 months of lazing around solved in 2 nights! (That's usually the way things work around here.)
The leap to the drawing back of a bow was easy. All I needed to do was add a variable to the radius of the centre point, so as the bow is drawn back more, the radius increases, pulling the centre point back but still keeping it in orbit. This did not affect the other points (remember, I mentioned they moved in relation to the centre?) because I made sure to copy the original central points without the drawback variable, and the top and bottom of the bowstring move in relation to this.
As a finishing touch, the amount the radius can be drawn back to is determined by the strength of the character (see the beginning half of this friggin' novella).
Make any sense? If it doesn't, it doesn't matter. Just take in faith that I solved the mystery, I won, and I am awesome.
Wulff Hunter out! (Out to practice some archery, that is!)