Mysidia Adoptables Support Forum

Mysidia Adoptables Support Forum (http://www.mysidiaadoptables.com/forum/index.php)
-   Adoptables Buzz (http://www.mysidiaadoptables.com/forum/forumdisplay.php?f=35)
-   -   Novul (http://www.mysidiaadoptables.com/forum/showthread.php?t=4550)

Kyttias 03-31-2015 12:01 PM

Thanks, cailynmae! :happyc: I definitely feel I'm getting closer to launch.

I'm now officially considering myself a 'sole proprietorship' - smaller than a small business, my assets are my own and I have no employees. As a sole proprietorship, all income from my site (through ads and, inevitably paid currency) will be taxable as simply personal income. No extra forms needed. In my state, I don't even have to file since I have no employees and I'm not selling anything taxable under Indiana state law - digital goods are not tangible items.

Should I somehow earn more than $400 (after expenses) I'll file as something beyond a sole proprietorship. Luckily, my girlfriend's mom's job is to help people with their taxes so I'll have no trouble properly filing my expenses and shouldn't be at any risk of being audited (not that they'll care until my yearly end profits exceed a certain amount, anyway).

I've upgraded my PayPal account (it's free) to a business marked as a sole proprietorship and will look into how to securely receive and automate payments for digital goods (in-game currency). But to do that I need a live website.

Then there's Google AdSense. I also need a live website for that.

I'm currently self-hosting my site on my local network - not the internet at large - during my development period. But I'm considering hosting through BlueHost. It's just under $4/mo for the first year and $5/mo after that. The first year also comes with a free domain. The next largest plan is $10/mo, and I can upgrade at any time.

However, I don't want to be paying any earlier than necessary. Just because I've looked into it, it doesn't mean I'm near ready to set up any of the above.

I really love the Mysidia framework and I'm happy to continue to build off of it (and continue to offer free support to the community now and then). But I'm starting to reach the point where I need to advance the features in place. I'm not fond of, well, any of the existing features the framework offers as they are. Some of them just need a 'look and feel' upgrade while others need additional features and these take time. There are also entirely new features I need before launch.

Before I launch I want to try to rebuild both Breeding and Trading to my liking. I haven't looked at the Personal Message system but I despise the current WYSIWYG editor. Hopefully replacing just the text area will prove easy in comparison to rebuilding the former two items.

Features I've deemed unnecessary for my initial alpha (friend-only) testing phase include a player-driven Auction House, implemented Quests and a fleshed out Exploration system, Achievements, and the Rues (real-cash) currency. In between hard things I also need to make sure my user profiles tabs are working, make considerations about user avatars, get off my butt and make the forum match my site, implement chests with items inside, my gacha machine, spruce up the user registration, get user factions ready to go for competitive events, etc etc.

So, am I ready? No.

But...

In the past year, I've - learned a ton about the template system and built myself a theme I'm happy with, implemented genetics, made nice modals for the stores and inventory, changed how pets are displayed and made profiles for them, and created entirely new features such as shop loyalty, tabs for the inventory, and a stamp game.

I think, at the current rate, I can be ready. It's just a matter of time. :usedusedused:

Kyttias 04-02-2015 12:05 PM

breeding
There will be no cost to breed.

Novu are dream creatures and their young are born from dream dust. Even two Novu of the same apparent gender can create new life together! Courtship trinkets should be obtained and brought to the ceremony to be exchanged. The two Novu must then simply perform a ritual dance with one another. Together, they'll begin to shimmer and dream dust will fall from their fur. Once the dance is complete, all the need to do is bring their combined dust to a Pool of Ancestry to bring it to life.
genetics
Genetics in Novul will make use of what's known in real world genetics as "Punett Squares". In genetics, a "trait" is made up of "alleles". They are usually two of the same letters, either capital or lowercase or mixed. If one capital exists, the gene is expressed; same for two capitals--A is "dominant". However, if they're both lowercase, the gene is not expressed--a is "recessive". In other words, AA and Aa would both show the gene and aa would not. A child takes one allele from each parent, and which one it takes is random; so an AAxAA would only produce AA, but an Aa x Aa could produce an AA, Aa, or aa.

For Novul, there will be 4 tiers of genetics. Tier 1 will be one trait/two alleles (Aa), Tier 2 will be two "traits"/four alleles (AaBb), Tier 3 (AaBbCc), and Tier 4 (AaBbCcDd). First, the gene is chosen with simple probabilities. Tier 1 is the most common, with Tier 4 the most rare; breeding a lower tier with a higher tier will get you more low-tier babies. Simple patterns and patternless will (likely) be Tier 1, with more complicated patterns climbing up the tiers. Once the gene is selected, we move onto determining its opacity.

There are several levels of opacity--full, high, half, low, and "none" (extremely low). The levels of opacity are determined by whether or not you have a dominant allele in each trait. Having a dominant allele in every trait gets you full opacity, having no dominant allele in any trait gets you "none" opacity. Whether you have one capital or two capital in each trait is irrelevant; all that matters is the number of unique traits with dominant alleles. For example, Tier 1 has full (1) or none (0); and Tier 4 has full (4), high (3), half (2), low (1), and none (0).

Users won't get to see the exact 'DNA' of their Novu to know if it has recessive or dominant genes (at least not for free), and all they really need to know is that these things determine the chance and degree of their Novu's genetics passing on. There is a chance for all things, it simply gets more common in certain situations.
coding progress
Today is the day I actually begin rewriting the code to implement said proposed genetics and gender-free breeding. Courtship trinkets will follow. @_@;;

CallumCharlton 04-02-2015 06:02 PM

Wow that sounds ridiculously realistic with alleles haha... I wish you luck in creating this, it sound really difficult!

Hwona 04-06-2015 07:55 AM

Wow! You're doing so well! I'm definitely going to stalk development for this. XD I'm behind.

Kyttias 04-06-2015 10:00 PM

Alright, I'm not finished with my breeding changes, but I do have this to show:
http://orig03.deviantart.net/54a3/f/...as-d8oqn4q.gif

I'm not 'finished' in that there are still many, as you can see, 'broken' image layers. Tail style, if they have wings, and if they have a specific specific trait (in this case, horns). ALSO, in the final version I obviously won't be letting users have THAT many babies, lol. I bumped up the number for testing purposes.

In this particular case I'd also like to mention that Stripes is the rarer of the two genes for testing purposes. Not sure on the final rarities for my patterns. Pattern genes will show at varying opacities, but what your children end up with is determined by the genetic code of the parents. I'll try to go into more detail in the next post. x'D In this case, not a lot of variety for opacities in the example, sorry. (There was a 1/4 chance of the Filigree babies getting 50% opacity, and it ended up none of them did. One of the Stripes did get 25%, however!)

Err, for 'exacts' you won't immediately understand:
[Shera]: AaBBCc (Stripes) + [BoopBoop]: Aabb (Filigree)
Filigree: 1/4th chance of 50% Opacity, 3/4th chance of 100% Opacity
Stripes: 3/8th chance of 100% Opacity, 1/2 chance of 50% Opacity, 1/8th chance of 25% Opacity

And that's not going into wings, tails, and for this species, horns... that aren't visible currently because I haven't uploaded their art yet.

Abronsyth 04-11-2015 06:41 AM

Wow, Kyttias, what you're doing with breeding is absolutely incredible! Looks amazing already!

Love the babies, by the way, very cute 8)

Kyttias 04-17-2015 06:38 PM

So what's next?
I still have a long way to go to do all the things I want to do! Inspired by Wallie, I've already redirected the error page after you've already fed a pet for a day to a profile for the pet - it contains all the same information about a pet the management page will, but with no links to manage a pet. If the pet is your own, there will be a link to go to the pet's management page so you can do things such as rename it, etc.

http://orig04.deviantart.net/aa12/f/...as-d8q28zv.gif
(I still haven't saved art for some layers of the pets yet, ahaha, so there are broken image layers...)

As just as example of some of the work I want to do moving forward, on just this one section of the site, here is my to-do list, rated by how difficult I think it'll be for myself to accomplish:

★☆☆☆ Easy:
  • Limit today's visitors to really just be today's, while also clearing any database entries older than a month. (I'm keeping this data for up to a month so I can run contests based on site participation.)
  • Check if the visitor is the owner and don't reward any Aurum (site currency) if they are the owner. (Experience will still be gained.)
  • Beside the birthday, also include an age in years, months, and days.
  • Change the layout during intially playing with a Novu. (I'd like the image to be to the right of the text, rather than below it.)
★★☆☆ Somewhat Easy:
  • Allow items to sometimes drop from pets. (There is a mod for this, so all I really need to do is look into installing it. However, it may not entirely suit my needs. For example, only Nightmare pets will drop a certain item, and any pet can become a Nightmare pet... and some items will only be obtainable from visiting your own pets, or only by visiting other's pets... so some customizing of the mod is to be done.)
  • Currently the profile pages I've created for Novu after they've been played with for the day cannot be seen if they are 'frozen'. I'd like to fix this - of course they'll still be prevented from gaining experience. I'm not, however, certain what all I'll have to do to achieve this yet.
★★★☆ Somewhat Difficult:
  • I want to create a text field so users are able to create a roleplay profile for their pets and include some custom information about them. I want to allow some basic HTML. (Later, I'll use what I learned here to spruce up the user's profile page text field as well!)
  • I want to allow users to 'like' pets, just like people can 'like' posts on social media. But then, I also need to create a page for users to view all the pets they've ever liked. And, also, give them the ability to recant a 'like' in case they change their mind or clicked by accident.
★★★★ Difficult:
  • Create a separate page that will hold a pet's heritage, that is, a family tree map. It will include their parents, aunts and uncles, grandparents, and of course their own children. Later this information will be cross-referenced to prevent some immediate inbreeding.
  • If a user owns items of a type (item types will be a new column in the database) that a pet likes (such as, maybe this pet likes candy), then when the user visits that pet's profile, offer to let the user choose an item of that type that they own, warning them that it will be removed from their inventory, and let them give the item to the pet they are visiting. It will grant additional experience to the pet, Aurum to the user, and possibly additional effects. I also need to consider making it so a user can only do this once per pet per day. The pet won't necessarily need to be their own - letting you directly help other user's pets. If another user's pet is 'frozen' then they don't want it gaining experience -- so I'll also prevent frozen pets from receiving items in this way, that way visitors aren't raising your pets for you if you want them to stay young forever.
Breeding Update
Thought I'd bring up that the breeding page looks like this, thanks to some jQuery:
http://orig06.deviantart.net/ce2d/f/...as-d8q2etl.gif
*It's intentional now that pets can breed with one another regardless of their gender, so it's possible to select two of the same pet. I go out of my way to show that if you try to have the parents both be the same pet, it won't let you. (It won't in the end, anyway, for now it just visually won't let you.)
Also!
Thank you for your continued support, everyone!!!!!!!

I love helping out the community, but I can't always help everyone with everything. There are many, many things I'm doing for my own site that I will probably never, ever release as mods for you guys, and I feel kind of bad about it. Still, I give back what I can while maintaining a competitive edge. I aim to teach by helping with small simple tasks (of no more than two stars of difficulty, going by the examples above), rather than just giving large handouts.

I've never directly been asked how I do some things, but I'm sure it'll come up in time. Don't be afraid to ask, but, also be prepared to get 'Ahh, I really don't want to tell you that...' as an answer. I do my best to point people in the right direction, with words, but no code, however. You're always welcome to imitate, but at some point, you'll have to do the hard parts yourself just like I have had to.

Missy Master 04-17-2015 07:26 PM

Your site is absolutely breathtaking what you have already planned out there!! Wow!!!

I totally understand not wanting to give out everything you do, you work very hard and you clearly are always helping so much here for all of us :)

I see you even have the pet images come up in the breeding list! Okay THAT I am coveting hahah .. that's pretty nifty!! ANy idea for release date planned?

Kyttias 04-18-2015 01:44 AM

I need to start setting myself some deadlines... in addition to code, I need to do art. :ti:

I can probably manage one level of one species per day, art-wise. So-- the lines, shading, patterns and genes for just the 'baby' of a species one day, just the 'juvenile' of that species the next day, just the 'adult' of that species on the next, etc...

I'm not sure how many species I want to launch with, either.
  • Four to choose from as starter pets. These pets will be considered 'Common'.
  • One promo code pet that will only be available once per person for the first year of the site, regardless of whether they donate or not. This pet will be considered 'Uncommon'.
  • One pet that is only available on the site's anniversary every year, one per person. This pet will be considered 'Rare'.
  • One pet that is only obtainable from visiting the site for 30 days (on your 30th day you access the site, you will obtain this pet automatically). This pet will be considered 'Uncommon'.
  • Pets that are available every year during certain holiday weeks only. All you have to do is participate in a relatively easy to do activity and you'll be nearly guaranteed to get this pet. These pets will be considered 'Uncommon'.

But my plans don't stop there:
  • I'd like to beta-test one or two Hybrid pets that can only be obtained through breeding. These pets will be considered 'Uncommon' but also notably 'Hybrid'. I'm not sure how I want to handle Hybrid pets breeding yet. Should they even be allowed to have babies at all...? I'm thinking either no, or the offspring will always be the species of the non-Hybrid parent 95% of the time. And if both are Hybrid, they cannot breed at all.
  • Speaking of only obtained through breeding, those who donate a significant amount of money will get a pet only they will ever have. It's babies won't look like it, but will also be considered somewhat rare. I may also do these 'Subspecies' for other limited event pets. These pets will be considered 'Epic', though on the same breeding tier as 'Ultra Rare' and their offspring will be considered 'Rare'.
  • And once a battle system is released, some pets will only be initially obtainable when they are defeated in battle. There's only a small chance they'll want to come stay with you, and you will only ever be able to get one of each kind this way, even if you give the one you got away. These pets will be considered, however, 'Uncommon', usually. Sometimes 'Rare'.
  • Some pets that will be obtainable through a pay shop will be given out in early releases for free to the top players in event contests. Inevitably they will breed enough of them that they will become common for everyone else. For those that didn't place in an event contest, they should be able to purchase them via PayPal after a month has passed (or simply buy one from someone who is breeding, depends on how poor a user is and if they feel that's worthwhile), and will only be for sale for one month. [I also intend on releasing genetics, patterns, and designers.] These monthly event pets will be considered 'Rare'.
  • Speaking of PayPal - luxury pets. Far more expensive than the ones that were given pre-release to contest winners, a luxury pet will be available for an entire year, then replaced with a new pet. Luxury pets will be considered 'Ultra Rare' for their first year of release, then reduced to 'Rare' starting the year after.
  • Kickstarter pets will be very similar to the luxury pets, but will have, as mentioned previously, offspring that only subspecies and not clones of their parents -- in addition, pets from a Kickstarter will not have their rarity ever reduced. This effectively means Kickstarter pets are on the same tier as the 'Ultra Rare' luxury pets for breeding purposes and you will always have a 50-50 chance of getting either the subspecies of the Kickstarter pet or a clone of the luxury pet. Very profitable for breeders who have money to spend and great for users who don't because it'll give them a chance to one day obtain these pets.

Basically:
Common -- Free pets, Wild pets
Uncommon -- Pets always available with Aurum, Easy to obtain holiday/event pets, Special wild pets, Hybrids, Rare Subspecies Offspring
Rare -- Hard holiday/event pets, Monthly PayPal-only pets, Old Luxury pets, Hard to obtain wild pets, UltraRare/Kickstarter Subspecies Offspring
UltraRare -- Current year's Luxury PayPal-only pets, Kickstarter pets


I don't know the exact percentages yet, but during breeding, the more common species will always show up more often. If two parents are on the same breeding tier, the babies will be 50-50 and take after either parent.

Anyway! I digress...

I still don't know when I'm going to launch. I've both coding and art to do, aha. I'll get back to you when I've made a scheduled blocked out for myself. If I can stick to it, then, maybe I'll have an estimated release date.

Kyttias 04-23-2015 12:45 PM

I've decided that this is the maximum amount of time I'm giving myself for these particular items (I procrastinate and goof off a lot while "working"):
Maybe I can get this done before the end of May:
  • General Fixes ★★ (4 hours)
    • ★☆☆☆ Bug: Prevent 'favpet' from being traded or abandoned, and put in place an error message to display if this is attempted.
    • ★☆☆☆ Allow user profiles to make use of limited HTML in the 'bio' field.

  • Pet Profiles ★★★★★★★★★★★★★★★★★★★★★★ (32 hours)
    • ★☆☆☆ Limit today's visitors to really just being today's visitors, while also clearing the database of any entries older than one month. (I'm keeping this data for up to a month so I can run contests based on site participation.)
    • ★☆☆☆ Check if the visitor is the owner and don't reward any Aurum (site currency) if they are the owner. (Experience will still be gained.)
    • ★☆☆☆ Beside the pet's birthday, include age in years, months, and days.
    • ★☆☆☆ Change the layout during initially playing with a Novu. (I'd like the image to be to the right of the text, rather than below it.)
    • ★★☆☆ Allow items to sometimes drop from pets. (There is a mod for this, so all I really need to do is look into installing it. However, it may not entirely suit my needs. For example, only Nightmare pets will drop a certain item, and any pet can become a Nightmare pet... and some items will only be obtainable from visiting your own pets, or only by visiting other's pets... so some customizing of the mod is to be done.)
    • ★★☆☆ Currently the profile pages I've created for Novu after they've been played with for the day cannot be seen if they are 'frozen'. I'd like to fix this - of course they'll still be prevented from gaining experience. I'm not, however, certain what all I'll have to do to achieve this yet.
    • ★★★☆ I want to create a text field so users are able to create a roleplay profile for their pets and include some custom information about them. I want to allow some basic HTML. (Later, I'll use what I learned here to spruce up the user's profile page text field as well!)
    • ★★★☆ I want to allow users to 'like' pets, just like people can 'like' posts on social media. But then, I also need to create a page for users to view all the pets they've ever liked. And, also, give them the ability to recant a 'like' in case they change their mind or clicked by accident.
    • ★★★★ Create a separate page that will hold a pet's heritage, that is, a family tree map. It will include their parents, aunts and uncles, grandparents, and of course their own children. Later this information will be cross-referenced to prevent some immediate inbreeding.
    • ★★★★ If a user owns items of a type (item types will be a new column in the database) that a pet likes (such as, maybe this pet likes candy), then when the user visits that pet's profile, offer to let the user choose an item of that type that they own, warning them that it will be removed from their inventory, and let them give the item to the pet they are visiting. It will grant additional experience to the pet, Aurum to the user, and possibly additional effects. I also need to consider making it so a user can only do this once per pet per day. The pet won't necessarily need to be their own - letting you directly help other user's pets. If another user's pet is 'frozen' then they don't want it gaining experience -- so I'll also prevent frozen pets from receiving items in this way, that way visitors aren't raising your pets for you if you want them to stay young forever.

  • Forum ★★★★★★★ (10 hours)
    • ★☆☆☆ Install MyBB forum and get dual-log in working.
    • ★★☆☆ Disable access to and/or integrate new forum components.
    • ★★★★ Design matching theme for forum.

  • COPPA ★★★★★★★★★★ (15 hours)
    • ★☆☆☆ Database: Create an 'adopts_coppa' table and have it contain the 'uid', 'username', 'birthday', 'parentemail, 'securityQ', and 'securityA' for all users under the age of 13.
    • ★☆☆☆ Write up COPPA Procedure and Privacy Policy.
    • ★★☆☆ Create nice date picker for Registration form with jQuery.
    • ★★☆☆ If users are under the age of 13, append the Registration form so that the parent can be notified of their rights, what I'm storing, what I'm doing to protect their children, and asking for their consent to create security information.
    • ★★★★ Allow parents to send inquiries on a Contact Us page by entering their e-mail address and child's username and enter an answer to the security question they created while leaving a message that will be PM'd to me.

  • Additional Registration ★★★★★★★★★★★★ (7 hours)
    • ★☆☆☆ Database: Create 'adopts_achievements' and use it to keep track of whether or not a user has obtained a starter pet and joined a faction.
    • ★★★☆ Create starter pet generator form in jQuery. There will be several species to choose from. All colors will be available (except for melanism, albinism, and monoism). I should be informing the users that eye color will impact the pattern color - but there are also items that can alter a pet's eye color by allowing them to wear contacts.
    • ★☆☆☆ After creation, the user's starter pet will be set as the active pet.
    • ★☆☆☆ Prevent starter pets from being traded or abandoned.
    • ★★☆☆ If a starter pet has not been obtained, do not let a user adopt pets, purchase pets, enter any promo codes, or accept any trades.
    • ★★★☆ Create a personality test based on the MBTI test to sort the user into a faction. Inform the users that being on a different faction from their friends will not in any way hinder communication. Users may be able to change at a later time.
    • ★☆☆☆ On the index page, alert the user to finish creating a starter pet and/or to choose a faction if they have not done so already.
I would be comfortable to open beta for my friends at that point.

This list isn't, however, complete and does not include the following major features. For the sake of not knowing how long they will take, these are very vague estimations (and probably overshooting, because, again, procrastination):
  • Ban Warning System ★★★(5 hours)
  • Item Chests System ★★★(5 hours)
  • Achievement System ★★★(5 hours)
  • Trade System Revamp ★★★★★★★★★★ (20 hours)
  • PM System Redesign ★★★★★★★★★★ (20 hours)
  • News Article System ★★★★★★★★ (15 hours)
  • Event Calendar ★★★★★★★★★★ (20 hours)
  • Bestiary ★★★★★★★★★★★★ (25 hours)
  • Quest System ★★★★ (8 hours)
  • Mission System ★★★★★★★★★★ (20 hours)
  • Player Auction House ★★★★★★★★★★★★★★★ (30 hours)
  • Explore System ★★★★★★★★★★★★★★★★★★★★ (40 hours)
  • Finish Pound Revamp ★★★★★(10 hours)
  • Gachapon ★★★★★★★★★★ (20 hours)
  • Community Bonuses ★★★★ (8 hours)
About 320 hours estimated coding work left to do. And that list doesn't take into account bug fixes, minor adjustments, more goofing off and procrastinating, and most importantly, the art.

I'm looking at about 600 hours of art, too (25 species with three stages each -- and even if I don't make that many pets right off the bat, that time will be spent towards making equip items and designs). If I do 5 hours a night, I can get the art done in about 4 months.

Oh hey, did I mention that explore system? I need background art. I can't even begin to estimate a timeframe for that. I'd say about 200 hours, at least, for the first area only. I'd like to have three to five areas that large open within the first year and a half after launch.

NPCs won't be so bad. Maybe 120 hours, tops.

So, 1240 hours of work to go. At five hours a night, that's 248 days. Or... just over eight months. But l want weekends off, so... I'll be done by April 3rd of next year, if I actually do five hours every night for the next year. Am I going to do that? Ah... no, actually. Haha. I'm not crazy. Luckily I'm overshooting a lot of numbers and it's likely I'll pull 12 hour nights now and than and do nothing at all some days. That's life.

Imagine if I were paid minimum wage of $7.50 for that 1240 hours. That's just over nine thousand dollars of work.

Kyttias 04-23-2015 04:52 PM

Whew, I've had a lot of really lengthy, wordy posts lately. How about some art, while I catch my breath?
This is a Buirel ("byoo-rel"):

Buirel are telepathic cave-dwellers who use the crystals on their body to amplify their "voice". They willing give crystals of theirs away to their closest friends so that they can communicate with them no matter the distance. However, if all of their crystals were stolen, they would be forever rendered mute to those around them!

The species-specific trait for Buirel are additional crystals, more pronounced toes, and fluffy antennae. This is a Buirel with it's species-specific traits, a luxury tail, and wings:

And here's a preview of the full color range (for all pets), minus any additional features other than the body itself. (With one exception, of course - the white one is meant to be albino and it's body will not be so dark on this species!)


Missy Master 04-24-2015 10:57 AM

ajksjhdfhsdgdgssd CUUUUUUTE! Love them !!!!

Abronsyth 04-24-2015 04:24 PM

Buirel is so adorable! You have me so excited for your site XD

AndromedaKerova 04-24-2015 08:18 PM

Oh my! Its a gemstone rabbit/sheep thingy! I LOVE it! I'm really eager for your site to get released. Its going to be awesome.

Kyttias 04-26-2015 06:09 PM

:wiii: Thanks guys! It's quite a process designing things. I'm trying to make something more appealing to boys while still having the 'cute' vibe. Still working out some bugs, so this is far from final:
http://orig02.deviantart.net/27cb/f/...as-d8qwfuk.gif

I'm also working on sprucing up the PM System:
http://orig03.deviantart.net/6066/f/...as-d8r6mq0.gif

However, I wanted it so the link to read mail was the message's title, and I'd like it to be in bold if unread. I spoke with HoF earlier tonight and, unfortunately, with the current system this isn't possible. He's going to look it over and get back to me (which saves me the time of effort). Luckily, I'm confident I could figure it out another way to pull the data, if he gets too distracted or forgets. (But I'm happy for the free time to go play WoW instead.)

If HoF does get around to doing this quick fix for me, I'll return the favor to the community and share a spiffed up layout of the PM system and point out where you guys can spruce some of the default system messages that get sent. (For example, rather than telling someone to go view their friend requests or check their trade offers, to actually link to those things.)

cailynmae 04-27-2015 10:00 AM

Aww, it's an adorable elephant-dragon thing! It seems like one of the weird creatures that might pop up in my dreams. How interesting and cute!

AndromedaKerova 04-30-2015 03:33 AM

That creature does indeed look like some kind of elephant/dragon.
To me it looks like it could have been a real creature some time long in the past. Like a prehistoric elephant ancestor.

Kyttias 05-31-2015 06:04 AM

I've been terribly busy lately but I managed to get something awesome done tonight. In summary:

- Modified the htaccess file and created a directory that doesn't redirect to the index.

- Files in this directory -can- access the mysidia framework if I want them to. Or, they can also not, if I need them to.

- I needed them to NOT access the framework while generating images with GD, because for some reason, the class initializing process was screwing it up. All I really needed access to was the database so I wrote up a new connection. Not efficient, no, but works great in this case.

- So, generated some images with GD. I stacked fifteen or so layers of images while preserving the alpha/opacity/transparency. I can also resize them on the fly. The image files I'm layering correspond with information stored in the database about the pets color, species, gender, and other genetics, etc. I only send two queries to this file, the aid and a size. The header for this php file is made to ~think~ its an image, and that's part of the reason why the framework files were mucking with it, I think?

- I messed with the htaccess file some more to make the php file name go from being novu/render.php?aid=10&size=200 to ~looking~ like its an image file at /novu10_200px.png and if you rightclick to save the file, this is exactly what it saves as. If you view the image in a standalone tab it works just fine, which means you can link it to anyone freely. Changing the parameters for the aid and the size means easy display of any pet with complete freedom.

- Now all the pet images on my site act like fully functional real images. I'm friggin' excited about this!

I don't feel like writing up an exact tutorial because this'll give my site a bit of an edge on sites even as big as Lioden. So, naturally, if you want this sort of thing, hope you have a couple hundred dollars to convince me, aha...

But I will link this awesome Mod Rewrite generator for the htaccess file - it definitely saved me time modifying that file!

edit: I can now generate colors by tinting a grayscale image by sliding RGB values around using PHP. This greatly reduces the number of image files I'm required to both manually save and then reference. I can also finally have tinted lines, something I didn't want to bog myself down with before. And, since I don't think I re-announced it, here's my official color palette as of recently - with color names:
http://orig07.deviantart.net/b54b/f/...as-d8vss4e.png
And these are just some of the possibilities I have done so far!
http://orig03.deviantart.net/d806/f/...as-d8vog5a.gif

Kyttias 06-03-2015 10:32 PM

Today I've been working on prototyping how I want 'play' to be like!
http://orig14.deviantart.net/dd86/f/...as-d8vxg29.gif
Or here for a live preview.

I hope I can at least get some noises and heart/other reaction bubbles up by the end of the week. I'd also like to looking make more complex touch reactions such as 'petting' via a swipe-like gesture and 'scratching' via a fast back and forth motion. I'd like all of this to be as compatible as possible with touch devices, of course!

My vague plan of action is to have five actions the pet 'wants' to do. You'll get a bonus point for each one you do at the correct time. Do them all in the correct order and you'll get all five bonus points! This means more currency for you and more happiness and experience (to level up with) for your pet.

This set of five actions will be unique for each and every individual pet and it will never change. Get to know each of your pets well and you'll always know just how to make them the happiest! It may take several days worth of tries to figure out just what your pet likes, but they'll appreciate the effort.

Kyttias 07-12-2015 07:20 PM

Here to day with a 'minor' yet groundbreaking update for me. I officially figured out why AJAX calls from Javascript don't get along with the Mysidia framework. Because PHP and Javascript are two very different languages, communication between them must be precise. The PHP file an AJAX call is directed to must only render the exact data you're looking for - usually with echo - and it can be HTML or an object (or array) rendered as plain text, which will be converted into a format Javascript can use. It must not render anything else!

In the Mysidia framework, everything is routed through the index using mod_rewrite in the .htaccess file - for good reason, of course, we don't want people accessing files they aren't supposed to! But this meant that whenever I made an AJAX call to a PHP file, the HTML of the entire index page, that is, the entire page template, also rendered out, not just what I had echoed! My solution was this: Create a new folder inside the Mysidia directory, and remove the mod_rewrite rule from it with a new .htaccess file stored inside it. I named this folder "ajax" and I'll store all my AJAX-related PHP files inside of it. The .htaccess file I made inside it only has one line:

Code:

RewriteEngine Off
Problem solved.

Okay, so, why AJAX? Why go through all that trouble? Well... magic. Magic is why.

With AJAX, you can avoid the additional page load caused by regular form submission. This is more significant than it sounds. As a prototype example, below is what is known as a "live" search - you don't have to press Enter or click any search button - and results will automatically be recommended to you. (To spare the server database some load, the query is only sent off through AJAX after there's more than 3 characters in the search box AND 500ms have passed since the last key pressed came up.) This is using real data from my 'adopts_items' table:
http://orig15.deviantart.net/c212/f/...as-d910zwo.gif

Alright, probably impractical to search for items this way, right? But what if you forgot a user's name and wanted to send off a PM? Just start typing, and AJAX will find you close matches. Why bother reloading the page with a form submission just to check if a username is typed correctly? Or worse, typing the whole message only to get an error that the user you're trying to send it to doesn't even exist because you typed it in wrong? And now your entire message is gone! Snap. AJAX to the rescue, see? That'd be a better example, but I just don't have users in my database to show that off effectively, lol~

But, speaking of searching for items, I decided to go ahead and rewrite the existing item search that came with Mysidia with an AJAX solution. In addition to removing the need for a page reload that a traditional form submission would require, I also made it so an empty search still returned results (sorted by 'category'). For an extra dose of improvement, I implemented a Javascript plugin called "Stupid Table" that allows results to be sorted client-side, both alphabetically (item name) and numerically (price).

First, I'll show the default item search on a fresh install. Keep watching and I'll reveal mine:
http://orig01.deviantart.net/8048/f/...as-d910zx9.gif

There are some differences between mine and the original item search. I don't include options to search by store or to limit the price, for example. (But this comes down to personal preference and how I want my site.) I also have a column in my database for an item's "rarity" - which is shown by the color of the text used for the item's name. Rarity will usually denote the strength of an item, how much it costs, or how difficult it is to obtain.

Anyway, that's all for now!

If anyone has AJAX-related questions I can probably answer them now, aha... I'm willing to share the files for the first example I gave if you want to have a look, too.

On a final note, since my Novu are so custom, I've had to create my own pet search for them, as well:
http://orig10.deviantart.net/0a06/f/...as-d912trn.gif

Kyttias 07-16-2015 12:44 AM

My forums are about 90% done now. There's more tweaking to be done here and there, but it's good enough for launch. Yes, it's using MyBB still - though it may not look like it! I've removed all traces of references or links to MyBB's profiles, userCP, and private message system as well as countless other MyBB features I just don't need. I'm really glad I managed to get the integrated simultaneous login working, and infinitely glad I managed to replace links to user's profiles with their Mysidia equivalents.
Here's the latest:
http://orig03.deviantart.net/32cd/f/...as-d91hp85.gif

I'll be using a separate plugin for managing user avatars between both sites, I just haven't decided how that's going down yet.

As for replacing profile links, for those curious, it's in forum/inc/functions.php around line 5747. Replace:
PHP Code:

return "<a href=\"{$mybb->settings['bburl']}/".get_profile_link($uid)."\"{$target}{$onclick}>{$username}</a>"

With:
PHP Code:

return "<a href=\"{$mybb->settings['homeurl']}profile/view/{$username}\"{$target}{$onclick}>{$username}</a>"

You'll also need to go into the template files through the forum's adminCP (/forum/admin/). "Templates & Style" from the top navigation, then "Templates" from the left navigation. Inside "Default templates" expand "Post Bit Templates" and open "postbit_avatar" and replace what's there with:
PHP Code:

<div class="author_avatar"><a href="{$mybb->settings['homeurl']}profile/view/{$post['username']}"><img src="{$useravatar['image']}alt="" {$useravatar['width_height']} /></a></div

There's a LOT of questions about modifying MyBB I won't know how to answer. Rather than coming to me with questions, I really advise getting on the MyBB forums and asking questions. Or just Googling. Most of my questions were solved that way.

Kyttias 07-23-2015 10:51 PM

Newest Plans: Mechanics
Upon signing up, you're sorted into one of four factions based on four simple questions. Think of it as an extremely watered down version of the Myer's-Brigg's Personality Test:
  1. Do you seek to have many friends or just a few deep friendships?
  2. Would you rather focus on what is real or what is possible?
  3. Do you prefer to treat everyone the same or situationally?
  4. Are you the sort to plan ahead or go with the flow?

I'll allow players to retake this quiz once every four months for a small fee. Being in a faction does not prevent you from interacting with anyone from other factions. Factions do have their own private section on the forums, but otherwise, these factions exist for competitive reasons.

All the factions are working hard to collect Dream Dust. At the end of each week totals will be tallied to determine which faction collected the most Dream Dust and the entire winning faction will be rewarded accordingly during the following week. Last place may also receive a small boost to give them a competitive edge in the next week as an incentive to try harder.

There will also be individual Dream Dust rankings. The top X amount of players with the most Dream Dust collected may receive special rewards during holidays! These could be rare new patterns, holiday-themed attire, or even first access to a new species (perhaps even ones that might otherwise be bought with Rues Tokens only).

Dream Dust collected will be turned in at the end of each week and your collected amount will return to zero.

Dream Dust will be obtained from interacting with any Novu on the site:

LVL 00 to 24 = May drop between 25 and 600 Dream Dust!
LVL 25 to 50 = May drop between 25 and 1250 Dream Dust!
LVL 51 to 75 = May drop between 25 and 1875 Dream Dust!
LVL 76 to 99 = May drop between 25 and 2475 Dream Dust!

While technically more effective to help only higher levelled Novu, it still really depends on your luck! Younger Novu may gift you other significant things and shouldn't be overlooked.

All Novu also have a 50% chance of giving you between 25 and 500 Aurum.

Rewards for the faction with the most Dream Dust may, in the future, include:
  • Shop Discounts
  • A Rues Token (Cash Currency)
  • A 10% Boost in Pet Happiness

Pet Happiness will be covered in detail in a future post. In short, pet happiness will be increased by feeding, playing with, and offering toys to a Novu. Their happiness levels will effect how well they do when sent out on missions - happier pets will be more successful and may bring home bonus rewards. However, missions also have a chance to fail, and that will decrease your Novu's happiness levels. Being absent from the site for too long will also decrease your Novu's happiness. However, even strangers and not logged in members will be able to play with your pet.

You can still "freeze" pets to prevent them from gaining experience, but this will also prevent them from gaining happiness from anyone but their owners, as well.

Unhappy pets will struggle with missions and won't desire to breed. Certain items may no longer effect them, either. Below 50% Happiness they will be more susceptible to accidentally get certain negative status effects that may fatigue them. Some negative status effects may be "fun" if you like the idea of owning a Nightmare pet, but you're far more likely to deal with more detrimental ailments - being unable to breed until cured, unable to gain any happiness until cured, will never succeed at any missions until cured, etc - and the cures may be pricy. Don't worry too much, however, as negative status effects will usually only be obtained, at a rate of about 20%, when sending your pet on a mission when it's already below a certain low happiness threshold. Stay active and play with your pets and they'll stay too happy to be effected by negative ailments!

Please note that one should not attempt to continue to send pets afflicted with negative status effects out on missions knowing that they will fail. Not including Nightmare pets themselves, any other status ailment may cause the pet to permanently run away. Abusing your pet by making it go out on missions for you while it is sick is a very good reason to cause them to potentially not return if they fail a mission. The chance they will leave if you continue to send them on missions that they fail will increase by 10% for each status ailment.

Bexasaurus 08-21-2015 12:07 PM

I look forward to seeing Novul completed and ready to launch.
Looking through all of the posts in this thread it's amazing!
I was wondering where did you obtain your coding knowledge? Just reading the updates have made me hungry to pick up where I left off from learning php (and javascript I believe) which wasn't that far at all really.

Also props to you since it seems that your doing this solo, or at least I'm assuming.

Kyttias 08-21-2015 03:08 PM

I'm working very solo, though I get help from my girlfriend/roommate (she's actually IN school for computer science, though she mostly knows Java, at least we're capable of helping one another). It's understandable no one wants to help too much when there's no immediate payoff. I wish I had more friends to bounce ideas off of, but, at the same time I don't want to suck any friends into getting too involved... for potential legal problems, who knows.

I'm completely self taught (though I took a basic 'game design' class once). The internet is my first resource, though I do have a growing bookshelf.

Javascript/jQuery (or will require it):
- Javascript: Step by Step
- JavaScript and JQuery: Interactive Front-End Web Development
- jQuery Pocket Reference
- jQuery Game Development Essentials
- The Web Game Developer’s Cookbook
- HTML5 Game Development “For Dummies”

PHP:
- Beginning PHP and MySQL: From Novice to Professional
- PHP Objects, Patterns and Practice (there are newer editions)
- Object-Oriented PHP: Concepts, Techniques, and Code

(Keep in mind that there are often great deals on Amazon for used books. Some of these I picked up for less than $5!)

I've also completed a few free courses for fun on Codecademy to brush up on a few things. I often have fun making random little dummy projects (with javascript/jquery) in jsbin. And, of course, I prefer to develop locally with WAMP rather than host a site yet and have to worry about free hosting rules or inactivity policies (because why pay for development space?).

At this point I'm in a bit of a creative rut with my site. I fear I'm nearing being done with my coding but I dread moving on to the art. I worry about it being good enough, etc. (I fear having to scrap everything and redo it in a year because I change mind or I've improved.) Regardless, I lurk the forums. :veeee:

Bexasaurus 08-21-2015 04:42 PM

That's really nice of her :happycbig:
Yeah, assuming you're talking about making profit from the site. I on the other hand would honestly not ask to be paid for my art and the main reason for that is because I don't need the extra pocket of cash (disregarding the fact that I'm still practicing and honing my skills). Kind of irrelevant to talk about me as an artist when really there's more to having the funds to hire people.

As for potential legal problems could you give examples as to what may occur for it be considered as such? I'm just wondering for future reference since it sounds quite important...anything with the word legal sounds important, haha.

Wow, you're absolutely fantastic because I can't read a book about coding without having multiple breaks or I'll end up asleep (even if I'm really inspired/excited to learn, I honestly do love coding though). Self-taught to...I'm impressed. Thanks for the links, I'll probably buy a few if not all of them whenever I have the time to since I'll be a junior in highschool. Apparently it's considered one of the difficult years in highschool, but I don't know...

Just wondering is codeacademy good for learning php and javascript or would you recommend looking at other guides/tutorials/books as before mentioned. Basically which one would be better, or learning from both is good?

That's great, at least you got that out of the way. As for the art I think it looks good, but I'm going to presume that you'll be competing with other pet sites as well because there's always competition around. :eye: When in doubt, wait it out. Basically wait until you're happy enough to move forward and decide on a concrete decision about this since it sounds like you've been stock piling a lot of awesome art along the way.

It's OK though to start over even if it seems like it's a waste because sometimes you gotta do what you gotta do. :ti: I agree that the art is definitely an important piece of a pet site since it's one of the main factors that garner/appeal players.

Just to clarify though that I absolutely do love your art of the Novu, NPC, etc. to be frank I would join in less than a heartbeat. <3 They're so adorable!

Hall of Famer 08-21-2015 09:48 PM

I very like the books recommended by Kyttias, especially the three PHP books. When I got started several years ago, I was reading Matt Zandstra's PHP objects, patterns and practice. A much older edition, at the time when the code was PHP 5.2. The newer version should include many new features all the way up till PHP 5.5, it should be good to learn for aspiring programmers. Also note Mysidia has its own API that may confuse coders who are very used to vanilla PHP. In that case, feel free contacting me if you need help.

Kyttias 08-21-2015 10:19 PM

^ Emphasis on the second to last sentence from HoF. One of us still needs to step up and write a comprehensive guide (but a newer, much different version of Mysidia has been in development for a while). This post I made covers some interesting stuff, coding-wise, in regards to this framework.

As for learning - yeah, codecademy is great start. Of the books I recommended, THIS ONE is definitely one I'd recommend the most for Javascript, especially for someone who is a more visual learner. Also from the same list before, the pocket manual for jQuery. It's like having the official website in your palm. It's very well formatted and kind of fun just to skim through to learn. These two books I recommend a ton. :happyc:

PHP is a little harder to pick up on. There are a lot of little differences between it and Javascript at the core, but it's usually nothing a google search or two won't fix. StackOverflow is a godsend.

parayna 09-05-2015 04:45 PM

Are there any things any one recommends for when learning how to code with PHP and Javascript? (By recommendations, I mean things to do to learn best) I am going to attempt to track down some coding books very soon at the local library/the big one a bus ride away if they can't order them in for me and it's all very well reading the books and stuff but are there anythings that you guys did whilst learning that helped you retain the knowledge better? XD I understand that everyone learns differently but tips are always appreciated XD

And thanks for the book list! I will be using that as a starting point! XD

Kyttias 09-05-2015 06:02 PM

I actually bought myself a notebook (and it's a great time of year to do so, the overstock from the back to school supplies should be dirt cheap) and went at it like it was a high school textbook and took notes. I'll usually strip out any unimportant sentences, and write down things that might be. Eventually I figured out what was and what important and start writing down just example code. I retain things better when I write them down myself and find things faster on a cheat sheet I hand wrote.

Comment. Your. Code. When writing down examples from books don't assume you'll understand it later. Write down what it does in plain english - "pseudo-code".

I wrote down tons of psuedo-code (in the back of the notebook, going the opposite way from my actual notes) with just ideas of things I wanted to try to implement. Functions, mostly. It may seem silly to write down code on paper, especially when you don't have access to a computer to test things out or even know for sure what the formatting needs to be, but coding in any language is understanding the flow of things. No matter the language, basic concepts don't really change all that much.

And the #1 tip with mixing PHP and Javascript is that jQuery is the way to go and there is more than one way to do shorthand for ajax transactions, and to experiment a lot. The annoying thing is, ajax isn't just for PHP - it's also for pulling content from text, html, xml and json. It's actually very hard to find examples that properly cover both sides for PHP! Books on pure PHP or pure JS/jQuery... neither spend enough time covering ajax! I wish I could recommend a particular book, but I'm afraid nothing from collection springs to mind as immediately helpful - I've learned a lot from Google. (Maybe I should write my own book. =P)

parayna 09-06-2015 08:03 AM

Aha, maybe you should write your own book! XD I'd probably buy it!

Thanks for the help, it'll definitely help me a lot! ^_^

And Novul looks amazing so far D: I can't wait for it to come out o.o

Kyttias 12-20-2015 09:14 PM

PM System
 
I've finally finished my updates to the PM System. Unfortunately, these were massively deep edits, so I cannot possibly remember all my little tweaks to assist people in overhauling their own.

Finished: PM System
You'll notice I did away with drafts as a feature, because, well... Why do we really need that? And I was SUPER tired of CKEditor, so I decided to switch over to WYSIHTML5 for Bootstrap 3. I can give you a hint for that change over, at least:

In view/messagesview.php, in the newpm() function, find:
PHP Code:

$pmForm->add(new Comment($editor->editor("mtext""Enter your message here."))); 

Replace and/or comment it out with this instead:
PHP Code:

$pmForm->add(new Comment("<textarea name='mtext' class='msgarea' placeholder='Enter your message here.'></textarea>")); 

But, uh, again... I'm not here to help with that. All the documentation for WYSIHTML5 for Bootstrap 3 can be found at the link provided. There are dependencies you need (jQuery, Bootstrap, Bootstrap's jQuery plugin, it, it's css file, and optionally Font Awesome). And then you just need too add a line of code to the end of your template and, bam, textareas with a particular class name are awesome-tastic (I used the class 'msgarea' above). Despite the effort of changing over I feel a lot better about how lightweight it is.

I've thoroughly checked it for security holes like script injection and it seems just as secure! *thumbs up*

There was only one issue I had, where whitespace was being deleted around formatted areas. I fixed the problem inside classes/class_privatemessage.php, by modifying the format() function:

PHP Code:

public function format($text){
        
$text html_entity_decode($text);
        
$text stripslashes($text);
        
$text str_replace("&nbsp;"," ",$text);
        
$text str_replace("'","'",$text); // added this so some forms wouldn't break
        
$text str_replace("i>","em>",$text); //changed this over, too - em is standard now
        
return $text;
    } 

※ I also found the Report feature for PMs is broken. If you'd like yours fixed, I made this thread about it.

※ The Reply button, as it exists by default, lacks some functionality. If you want your Reply page to not only remember the user's name but the topic and message, check out this thread because I managed to get some help achieving that.

Abronsyth 12-20-2015 09:36 PM

Novul seems to be coming along beautifully! Looks like you were very successful in the PM system overhaul!

tahbikat 12-20-2015 10:12 PM

I concur with Abronsyth, looking very nice Kyttias!

Hall of Famer 12-20-2015 11:11 PM

Well it does look very nice, I see you were using JQuery-AJAX. Congratulations. ^^

Kyttias 12-20-2015 11:35 PM

No Ajax for that, actually. I just popped in an instant header change on the server side where the confirmation page would have been. The page reloads so fast you can't tell it happened.

Kyttias 12-22-2015 04:16 AM

So... I uploaded my site to a live server and everything's carried over just fine after a few tweaks... except... the GD image manipulation I'm using to merge pet image layers is SUPER SLOW. Like, I'm going to need to find an alternative way of generating pet images, that's how SLOW it is. D;

I think I'll be looking into HTML5 Canvas next...

Abronsyth 12-22-2015 11:54 AM

I'm glad the transfer went well! I wonder why the image manipulation is going so slowly? I wish you good luck figuring it out, regardless!

Kyttias 12-27-2015 05:36 PM

I've decided that I'll just save images for each individual pet once they've been generated at creation. Most saved pet images are weighing between 40kb~120kb. If each user has ~50 pets, I'm looking at 5 to 8 GB of diskspace needed once I reach 2000 users. This is not ideal, but I really don't have any other viable options at the moment.

However, during the beta period, I plan on having a hard cap of 200 users, which will at least bide me time to find a place to host my site. Once I hit a certain level of popularity, though, I'm going to be screwed unless I find some place with a hefty diskspace allowance and unlimited inodes.

In other news, I've got an artist I trust to help me out. For now, it's just with item art. In the future she'll also be helping with pet decorations, designer skins, and patterns.
http://orig14.deviantart.net/5e23/f/...as-d9loyk8.png

We'll launch with 18 colors, plus three more hidden alterations - albinism, melanism, and a mottled monochrome that will happen extremely rarely if genetics line up just right and the Novu gets both albinism and melanism.

I'm definitely on schedule to invite some of you to help test starting in the spring~! :usedusedused:

Abronsyth 12-27-2015 09:00 PM

Oooh those bottles are so shiny and nice! Lovely artwork, glad you found someone to help out!

Bexasaurus 12-30-2015 02:14 AM

I really am excited for Novul!


All times are GMT -5. The time now is 05:19 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.