My first thought today was "man... i just want to drop all my work and watch anime alllllllll day!" and well i could even say i've earned that, but i know myself better than that, this is just one of those time periods where anime is everything i want to do. But i won't give in!
Still i really wanna watch something adventurous like Magi again....
Well instead i finished Vividred Operation, a loli mechanical girl (magical girl but more science) anime, it's story was pretty boring, but what it lacked in story it made up for with (quite literally) everything else! the characters were great, the animation was good, the fanservice was just the right amount (i.e. enough to notice it if you want to, but scarce enough to be able to easily ignore it if you don't want to see it) everything was perfect except for the story, but to be honest i think it's pretty nice to get a mediocre story every once in a while that doesn't require any thinking capacity to wrap my head around, i just watched it for the cuteness and the awesome character interactions between one another. They didn't try to justify anything, for example in the first episode they turned an old scientist into a stuffed animal for no good reason, but that actually added to the series (they turned the old man into a cute stuffed animal, so he could add to the cuteness of the series, and he was the only male main character, and you know... Having a male main character that isn't some kind of freak just for once was really great! I get enough of freaks in real life, including myself.)
But this made me think a bit about the atmosphere, certainly Yrja's Torment will be dark, but i wanted the atmosphere in Riye's Game (codename) to have a lighter theme, stepping a little bit outside of the dark fantasy and to tell the truth one thing that bugs me is that i want to include comedy in it, but i hate to admit that i don't know the first thing about good comedy, so i'd be going outside the rule of "write what you know". So if there will be comedy in it it'll probably be very minor (i.e. only puns and jokes wherever appropriate)
But i haven't decided anything beyond that, sure the third game where you'll get to play as an undead will be a dark themed game too, i mean the starting scenario will be not extremely different from Yrja's Torment, but it wont be as dark because the protagonist isn't a child rather a teenager or young adult, thinking a range of 16-20 or so.
However in the final game... that is (codename) Unchained. I want to have all of this, i want the player to be able to laugh, cry and be mad. So i thought about that, and i'm thinking the atmosphere will probably reflect the races living there, for example the human continent would probably be split a rough 50/50 between sad and happy quests or locations, etc, kalhiri would probably be mostly happy stuff, and sure enough same with alfinil, the tainted/corrupt areas of necembel is a place where everyone is evil pretty much, but most are not depressed, so it'll be a strange mix of comedy and seriousness over there...
I couldn't reach any real conclusion But i know that i need to be very very careful about this, since it'll probably feel a bit weird to the player if he goes straight from a happy type quest to a sad kind of quest, if the atmosphere just takes a sudden shift, it always needs to be a sort of gradual thing... It's an aesthetic i'll have to think about when the time comes, but i still can't help but consider it right now.
Now after all that i started to think about LVUER (my artist) i haven't heard from him for several days, last he said he was really really busy for some various family reasons. Also in his last mail he said "no worries" but that was 4 days ago, so i'm getting genuinely worried. So i sent him a mail, asking if everything is ok.
With that behind me (for now) i've got to finish up this not-so-stupid leveling system! D:
Why am i doing that this early on though? it won't be fully used until i'll start working on "Unchained" even. I've been wondering this, but i have a very legitimate reason, by the time i reach "Riye's Game" i will need to have a leveling system in place, as that is going to be an RPG with dungeon crawling. It won't use the full system though (there will be a lot of skills and stats that i don't need in there bceause they would do nothing but complicate the game, for example i won't have any magic in the game that the player can use so magic resistances will be unnecessary (i.e. i'll just scale monster magic damage to accommodate for that)). But the thing is that if i'd develop the system for that game rather than the full game, i'd have to redesign it from scratch for project Unchained rather than just toning it down for Riye's Game. I'm saving myself a lot of future work and headaches by doing this, and also doing this so early on (reason 2) means that i can fluidly start working on Riye's Game when i've finished Yrja's Torment without designing a whole leveling system first. It means that it's development will be a lot faster than otherwise.
And this debugging/testing tool i'm designing for the leveling system will surely come in handy for Riye's Game when i tone down the system and balance it out again for that game.
Now as i said yesterday i need to look into classes in python... and their documentation is fucking useless to a beginner like me <_<
After looking through several tutorials just to try to understand what exactly classes are to begin with, all of which failing (including microsoft's one...) i finally found something comprehensible to someone who "doesn't already know exactly what it is"! it's this one! Praise the sun!!!
I knew looking into them was the right thing to do. Using them is pretty vital to leveled items, npcs and the like, and i'll definitely need to have a class for the player's stats too. But this makes me stop to think a bit... Shouldn't i have all of the leveling system all cramped into one class which i could then link/import to every object in the game world? (It would certainly be easier than defining the leveling system every time i add a leveled npc to the game) Also i talked a while back about wanting to have some procedurally generated content, i think that classes are probably the key to that (i.e. i can put the formula for the procedural generation inside of a class so the class can spit out a seemingly random say... background, or a sword with a weird color scheme, etc)
Oh yeah one thing i forgot to add yesterday is that i thought up a way to balance the difference between STR, AGI and DEX based weapons, it's quite damn easy, i'll just do it like Overlord did it, STR weapons will have a much higher damage output than anything else, but be generally slow (so it has a speed penalty meaning it'll be harder for the player to get a double attack with it) then the Dex based stuff will be medium damage, it's the "safe" stuff because with dex you get hit and crit chances, but it's still relatively slow like STR weapons (unless you leveled agility too) meaning that while you're always going to Hit and have frequent Crits, you'll still usually only land one or two attacks every round. Then with AGI weapons (or just unarmed) the speed multiplier might get a bonus, so say you're using knuckle dusters as a weapon, or a staff, while it does little damage (being blunt and lightweight) it usually lands at least 2 hits every round.
Basically it'll be
AGI = DPS (Damage per Second)
DEX = Balanced
STR = DPH (Damage per Hit)
So all the weapon types will be pretty much equally useful, but agi weapons will land more attacks making them deal more damage than other weapons over time (good against strong opponents/bosses) then STR will be slow, but when it hits it's going to hit like a mule, but it's usually only going to be one attack per round so while it's super effective against weaker monsters (killing them in one or two rounds maybe) against bigger opponents it's going to mean you'll possibly take a longer amount of time to defeat them. Then dexterity will balance between the other two (jack-of-all, master of none)
Now where was i... oh right, code... code... code... code... =_= I've seen fellow programmers say that they love programming but don't want to "code" i.e. they want it to be a more visual kind of experience, like say... painting!
I know what they mean now. This is more troublesome than it should be even if python makes it as simple as text-based coding could possibly (ever) be. Anyone and his retarded child could learn to use python if they really wanted to.
Now that i have a much better (but still rough) idea of how classes work... will i use them? will i not? if i will how will i use them? what about... =__= grrr. I will right now accuse myself of thinking too much and doing too little. But i have to plan this out a bit before i start working on it... But i already have software capable of doing that! articy! And it's flow chart system which is usually based around going in a direct line (left to right) is perfect for this task too.
Ok so i've got 2 routes here
Racials -> Attributes
Skills -> Sub-Levels -> Power Level
What's missing is the stats, the stat's can't be used to connect the two routes because the stats rely on both attributes and some skills, and some skills rely on stats...
...
Ok i worked out a system that seems plausible, but damn it's a bit complicated (no wonder it was taking me a while to conjure that up with the power of imagination alone and no visual references...)
Now... i need to see if i can't simplify this somehow...
This was as simple as i could make it get :/ (Off Screen: Racial Values)
that is NOT simple at all D: but well... at least i can code that.
At this moment i realized something... there's no turning back at this point. If i'd put everything on hold for now planning to pick this up later, i could never pick it up again, the complexity has sort of exceeded the boundaries where everyone can just look at it and understand it, i need to actually remember a lot of things (for example how was i supposed to remember that 2 or 3 stats rely on a skill? or that 2 or 3 skills rely on a stat as opposed to the attributes?)
I couldn't stop doing what i'm doing right now and then pick it up again 3 months from now, it'd probably take me about as long to pick it up again as it took me to get to this point (a couple of days) and just remembering what i had done is a lot more boring than it would be to say... start over.
Anyways i now need to make a rough prototype for the leveling system, then i'll have to refine it. now that i have a visual representation of what order i should do this in it'll be (relatively) easy.
I've slacked more than usual today, not to say i haven't earned it though... But i guess when it comes to "starting" on something, like translating my leveling system to code for example, it's always so hard to just start. Another issue i'm kind of dealing with is that python doesn't have any built in debugger to tell me "where" my error is if i make a mistake. Or at least it's very limited (as a workaround i can use the exception system though, but i don't want to have any exceptions at all in this code. It simply should not need them and if it does i didn't write it well enough.)
But oh well, i bettered get started already.... (I actually kind of started yesterday but hit a snag when some skills depended on stats and vice versa... it complicated things a lot, i could change that... but i don't think i should.)
...
I know other games have done this nad when the time comes i should consider making 1 class for "player" i think the elder scrolls series do this (i.e. in the console you can type "player.command ..." to make a command that affects the player directly/only and this is quite typical class functionality... i think.)
Thats an idea to save for later though, i'll have to write it down in my notes... but this means i've started. So far so good (making that flow chart... oh man... it helps so much!)
So then, i got started and i'm already doing better than i had expected!
First i created attributes (all set to 0) <- this is temporary until i work out implementing the racials...
Then i created a list with strings for all the attribute names.
Then i created a while loop for the user to select a race (from 1-6)
Then i created a for loop for listing all of the attributes (that's why i created a string-list with names)
Next i need to create either a class or a bunch of if's that determine what the attributes... I'll start easy and just do ifs... i did that with ifs and elifs, took 2 minutes... but 12 lines... that's 2 lines for each available race :/ I can shorten this to at least 1 per race, if not just 2 or 3 lines... hmm... later...
I guess this was only scary cus it's been ages since i did any real programming (Ren'Py scripting hardly counts as real programming)
...
I'm rolling now, but one thing i wonder is how to update the stats if other stats, modifiers or skills change, i could define a function for it but... surely there's a simpler way....
Not really, but the best way i think is if i define a function that calculates the total/final of all stats & skills and have that function double as a "refresh" button... yeah that sounds logical enough.
...
Ok so after looking around a bit i figure that maybe variables isn't the best way to handle this...
One idea would be to use lists like i did with attributes for the specialization skills, then a dictionary for the major skills.
But.
It all seems to be headed towards classes, now is as good a time as any to learn how to use classes i guess but... It really irks me to use something i don't really know that well, I've never used classes before beyond just extremely basic implementations.
With that i think I've gotten too tired to continue working today. I'm taking the rest of it off, but i'll most likely finish this tomorrow and start working on implementing it into a Ren'Py based debugger style system. Then when that's done.. i wonder whats next on the list, i guess i'll surf over the wikia and make sure there's nothing in there that isn't in articy yet (for example monsters) and create or refine the templates i have in articy, then after that it'll finally come down to creating more content, continuing Yrja's Torment or updating the wikia.
I think creating more content should come first, i need to create and place (in the universe) the locations Yrja is going to travel through before i actually write them down in her story.
But i could continue it up to a certain point since she isn't going anywhere for a long while..
We'll see when the time comes.
Update: Oh i just noticed... I've been working on this for a full month now :O time sure flies doesn't it?
No comments:
Post a Comment