Jump to content


Popular Content

Showing content with the highest reputation since 12/23/19 in all areas

  1. 10 points
    So you have dreams of starting your own Pet Site, but have no experience with programming whatsoever, this thread is going to walk through a lot of things that you need to know, and what you need to look for from your developer (and in your code base), to ensure that you are paying for things that really matter. Please Note: This is not an exhaustive list, this is meant to be a jumping off point to help improve your overall familiarity with the process of developing code. Executive Summary As a site owner, it is your responsibility to know at least at a cursory glance how it works. Code is complicated but so is owning a site. There are a lot of resources out there which can help you, don't treat coding like a black box because at the end of the day you will be the one out money should the developer decide to cut corners. Please Note: As an owner, nothing is "above your pay grade", you are defining the pay grade, so you need to be aware of the inner workings! Best Practices: No live code updates - Yes, cPanel has a code editor built in, or your developer may have an FTP client installed on their computer that they can use to connect to your site, but you should not let them develop through these tools. They are meant for small changes, not developing whole features. Why is this bad? Your users can see things that they shouldn't have visibility to, and it may make the site seem less stable because they are on one page and they see an error message, or worse, raw code emitted (i.e. SQL statement), now you are giving them too much information! Nightly Offsite Backups (or more frequently) - servers die, databases get hacked, accidents happen! Having backups of all of your assets are paramount to recovery. If you happen to keep the backup in the same data centre, or even worse, the same server, you could be asking for trouble. If your server dies (it happens from time to time), the backups that you have stored on the same server will have died with the rest of the code. So this is kind of useless. It's great if there is a quick rollback that is necessary unfortunately in situations like that this is typically not the case. Source Control Everything - So first of all, you are probably wondering what Source Control is, it's a tool that developers are able to use in order to keep track of changes that they do to the codebase, in order to make it easier to work with other developers, as well as be able to revert the code to a point in time when it was actually working (or at least look at it at that point in time). Think of it as "CTRL-Z" on steroids. This one here somewhat goes hand-in-hand with point 1, about no live editing of files because your production environment should be made from either a "release" branch/tag, or your "master" branch in your repository. GitLab: https://gitlab.com/ GitHub: https://github.com BitBucket: https://bitbucket.org/product/ Test all code in a Development Sandbox - New code poses the possibility of new bugs (or old bugs rearing their ugly heads again). Because of this, there should be another environment that can be pushed to first prior to production in an attempt to find any bugs early, especially if they are game breaking ones. All changes to the database should be done via code (SQL scripts or migration scripts) - Now that you are following some of the other best practices, we need a way to ensure that the structure in the development environment matches the production database environment. By scripting it (and running the script when deploy time comes), you are able to fairly confidently say "yes, this will work in production". Yes, you have phpMyAdmin, it's a great tool, just like the other things built into cPanel, but if someone makes a schema change in production that isn't reflected in development, then anything you build from that point on (if they rely on it) could potentially be broken because you manually changed something in production. Application Frameworks: So you have a developer that wants to use a framework, should you let them? Probably! First thing's first, what actually is a framework? The regular definition is: A structure for supporting or enclosing something else, especially a skeletal support used as the basis for something being constructed. Which fits in really well with what application frameworks do. They scaffold out a lot of the best practices and abstract away lots of the things that you really don't need to have a developer make for you. This in turn leaves you with less code they need to write which should mean more money to spend on the things that matter, and better yet, less security flaws! More frameworks handle things (as best they can) such as Cross-Site Scripting/Cross Site Request Forgery (CSRF) and SQL Injection. These are just two of the big security things that you need to be concerned about. Most frameworks have tutorials out there which range in quality. As a site owner, it is your responsibility to at least know what you are buying a little bit. So I would encourage you to take a bit of time and watch some YouTube videos about it so you can at least familiarize yourself with the nomenclature. Please Note: Just because your developer said that they wanted to use a framework, this does not mean that you do not have to worry about security. Take the following example, you display a "bank" page which to the human eye all you can see is a "withdraw" and a "deposit" text box with a button. But behind the scenes, hidden in the HTML (hidden input field), the programmer decided to also include the user's bank account ID, and use that for any of the actions. Well, in cases like this, your site has a security hole, and the framework has no way of knowing that isn't actually what you want to happen. Lots of the frameworks out there are open source. This means that people around the world can look and work on improving the framework! This means that the framework will have new features added, and security releases made. Because of this, it is super important to keep your version of the libraries as up-to-date as possible. Depending on the language you are using there are a bunch of different frameworks that can be chosen from. We will maintain this list as best as we can, but we will also show you how you can find out the version that you are on, as well as what version the framework is currently on. PHP Laravel: URL: https://laravel.com/ Latest Version: 6.x - https://github.com/laravel/framework/releases Determining your Version: Within the codebase, there should be a file called "composer.json", in there under "require", there should be a line that says, "laravel/framework". On the right of that, you will see the version you are currently on. CodeIgniter: URL: https://codeigniter.com/ Latest Version: 3 (4 - a massive rewrite is in the works, so maybe hold off until this is done?) Version 3: https://github.com/bcit-ci/CodeIgniter/releases Version 4: https://github.com/codeigniter4/CodeIgniter4/releases Determining your Version: https://www.kodingmadesimple.com/2016/08/find-codeigniter-version.html CakePHP: URL: https://cakephp.org/ Latest Version: 4.0 - https://github.com/cakephp/cakephp/releases Determining your Version: Within the codebase, there should be a file called "composer.json", in there under "require", there should be a line that says, "cakephp/cakephp". On the right of that, you will see the version you are currently on. Yii: URL: https://www.yiiframework.com/ Latest Version: 2.0 - https://github.com/yiisoft/yii2/releases Determining your Version: Within the codebase, there should be a file called "composer.json", in there under "require", there should be a line that says, "yiisoft/yii2". On the right of that, you will see the version you are currently on. Symfony: URL: https://symfony.com/ Latest Version: 5.0 - https://github.com/symfony/symfony/releases Determining your Version: Within the codebase, there should be a file called "composer.json", in there under "require", there should be multiple lines that which start with, "symfony/". On the right of that, you will see the version they are currently on. Because of the nature of this project, they may be on different versions which is fine, however the "major" release should be the same across the board. Python Django: URL: https://www.djangoproject.com/ Latest Version: 3.0 - https://github.com/django/django/releases Determining your Version: Within the codebase, there should be a file called "requirements.txt", in there, should be a line that says, "Django". On the right of that, you will see the version you are currently on. Ruby Rails: URL: https://rubyonrails.org/ Latest Version: 6.0 - https://github.com/rails/rails/releases Determining your Version: Within the codebase, there should be a file called "Gemfile", in there, there should be a line that says, "gem 'rails'". On the right of that, you will see the version you are currently on. If the framework that your developer wants to use isn't listed here, that isn't necessarily a problem, try to get the details about the framework that they are wanting to use, and go from there! It's a great place to start a conversation to make sure you truly are getting what you paid for. The things listed above (especially the latest version) also helps to show how active the project is. If the developer wants to use a framework that hasn't been updated in 3 years, chances are the maintainers of the project have abandoned it, so you probably should too! I used a framework but I still got SQL Injected! Similar to my other example above with the bank, just because you are using a framework does not mean you will not be hit by SQL injection! My gut instinct when I hear this is "the programmer is using it wrong". Most frameworks provide wrappers around the database objects, and then behind the scenes use database parameters to actually query the data. What are database parameters? They are a way of passing the data you want to query (normally user's input) in alongside the actual query, preventing evil-doers from doing things that were not intended (i.e. dropping tables). In the past, developers would just build a string and do something like "mysql_real_escape_string" on the data to ensure the safety, it is still possible in modern frameworks to have access to the raw database object and run queries you write yourself. It's these circumstances that tell me the developer is using it wrong, hence my original statement, the developer is using it wrong, and should be stopped. Please Note: Frameworks are just code, so they do have the potential for bugs which can introduce security issues as well. Take Laravel for example this past summer they found that one small piece of the code was vulnerable to SQL Injection! My Programmer doesn't want to use _____ A framework - Ask why not, prompt them to give answers and don't just settle for "I'm more comfortable in my own code", or "It'll be faster if I code it from scratch" - frameworks this day in age are pretty darn fast, unless you are using it wrong, http://www.phpbenchmarks.com/en/comparator/framework, they likely won't be your bottleneck in the application, it's the rest of the stuff that goes on. Don't throw away the security of your application just because it's easier for a random developer to do their own thing (that no one else will be able to figure out easily). Source Control - Ask why not, there are so many tutorials out there nowadays it's pretty easy to learn. If you are ok with not using it, make sure you discuss your safety net, i.e. when you will pay for things (paid on delivery with code clearly available). Source control is only as useful as the developers using it. They should be committing to it regularly, not just when the code is complete. This will help to give you a good sense of the work that went into the project as well! Payments My personal mantra is, never pay for something that only resides on a development machine. Just like art that is being created, you wouldn't be happy with receiving and paying for a watermarked image. Why are you doing that for code? In your agreement with your programmer, at the bare minimum, state "the code must be stored in this repository". Please Note: You should be the owner of the repository, not the developer. I have seen so many projects go haywire and owners get screwed out of their money because the code hasn't been delivered. It resides on a developer's machine or their personal servers. The repository is just like getting access to the raw PSDs for art (which you should be getting as well when you commission art in case you need to edit things later on).
  2. 2 points
    First off, I just want to say... if you're looking for a get rich quick scheme, the pet site industry is probably not the best place to look. Over the years, I've heard of owners who have to pitch in their own money, who only break even each month and pray that they can pay their hosting bill, and the rare owner who can live off their game's income. I'm definitely not saying it's impossible to get rich and with a great idea, you probably could. But it's not an easy way to make money. Here's a bit of background on the journey of Eqcetera. I bought Eqcetera from a friend back in 2012 and released it to the public after updating the art and layout and adding a couple features. Back then, I was still in school full-time and almost graduating. Although I kept ownership of the game from December 2012 to about August 2013, the stress was too much for me, and I ended up selling the game to the then current admins. Fast forward to December 2015 and those same admins gave me back the game. Note that the reputation of the staff had gone down severely because of unkept promises. They had promised a second version since around the first part of 2013 but never fulfilled on it, leaving that promise to me. It took from the first part of 2016 to July 20, 2019 to release a completely new version. And here we are! Eqcetera has been open almost 6 months. I did one test run of some ads but no further marketing. We've been growing steadily and are working on increasing new player retention before putting a bigger budget into marketing. There are 2-4 development updates per month which means we're also making progress on new features. I just released a quarterly report for Eqcetera.com to its players, and I thought it'd be cool to share it with all the aspiring game owners out there. Month Revenue Expenses Profit October 2019 $1,413.60 $2,936.61 -$1,523.01 November 2019 $1,362.38 $3,153.18 -$1,790.80 December 2019 $1,840.66 $3,058.55 -$1,217.89 Detailed report: Google sheet Not many games are very open with their revenue and expenses. The revenue is not very much, but I thought the expenses would be of more interest to you guys. You can see from an open game what is taking up money. Please note that I do all the programming for the game and I've set my personal rate at $50/hr. Other programmers might have different rates or you might release features slower or faster. Every game is different. As you can see, I'm a big data nerd with many spreadsheets besides the one linked here. I can tell you what each player spends on average, email open rates, player retention, etc. I've also started to get more involved in the marketing side with automated emails, e-commerce reports, etc. If you're a game owner and have any questions about any of this stuff, I'd be happy to help! I want us all to succeed in this market. Hopefully this helps you guys who are building games and planning your launches!
  3. 2 points
    About Celestial Equine Celestial Equine is a browser-based fantasy equine SIM for all ages! Basic game-play is completely free, but upgraded features are available in our Cash Shop. Players can create their own fantasy horses, compete in competitions, battle, explore various shops, and more! With so many interesting features, players can choose to focus on a single game-play aspect, or attempt to master multiple areas of the game! 2019 Changes 2019 was a year of big changes for Celestial Equine! While managing bugs was our main focus, we also took a deeper look into the player experience. Celestial Equine originally launched with 18 worlds, which were unlocked through game-play. While we loved the 18 worlds, this amount of division created a redundant game that lacked depth. We made the difficult decision to remove the 18 worlds and implement an easy to use central exploration map. This change instantly resolved questions around the flow of the game and cut back on new member confusion. In addition to our navigation changes, we also introduced an exciting backstory fix our issues with depth! The world of Celestia deserved a beautiful story, which spurred our Celestial Lore concept. Celestial Lore is a monthly story released as a chapter building off of the previous month's story progression. Celestial Lore follows the lives of the Royal Family, which will lead to a natural release of Celestial Herds! Celestial Herds are expected to launch on the live version of the game by the end of March, so stay tuned for that update! Misc Changes In addition to the large changes listed above, we made the following smaller changes to our game features: Added Personalities to Horse Profiles Revised Welcome Page for easier user navigation Revised breeding bugs/missing gene images Released the Battle Arena Revised Competition, Beauty Contest, and Battle prizes Revised breeding eligibility requirements Features Coming in 2020 & More 2020 will be a very exciting year for Celestial Equine! Aside from the released detailed below, we plan to exit live development mode. This will be a huge milestone for the game and we cannot wait to see where CE goes! In addition to exiting live development, we are also excited to tease a few pending features. There's much more on our final task list, but these three are our favorites! Herd-lands Celestial Herd-lands will be housed within the 3 Kingdoms shown on the Exploration Map. Players will have the ability to claim herd-lands as their characters and immerse themselves in a totally unique, automated role-play environment. From automated actions to random events, herd-lands will be the heartbeat of Celestial Equine! Healing Pool Mini game which allows players to heal their horses. Will be a new landmark on the Exploration Map. Companion Forest Allowed players to "lure" companions by offering food or other trinkets. Thanks for reading, and I hope to see a few familiar faces at www.celestialequine.com!
  4. 1 point
    New preview of the battle system:
  5. 1 point
    Happy new year everyone! Every year the Celestial runestone will be available in the Enchanted Forest shop the first week of January. - So very rare in deed! We have added a "new" pet to this collection: the Celestial Caritara! Thank you, Loki! :)
  6. 1 point
    What is Northern Call? Northern Call is a wolf sim site much like flightrising or Lioden. The site is currently being revamped completely and will be opening sometime this year. What makes Northern Call unique? All the wolves on the site are hand-colored. When a player signs up they are able to provide any 3 colors using a color picker for their Alpha. A lo of time and care go into designing all the wolves on the site, be it from a player's first wolves to all the explore wolves. What can you do on the site? When the site opens you'll be able to hunt, explore, enter your wolves into the weekly breeding raffle, go on quests for items, shop in the marketplace and interact with other players in the forums and private messaging system. We will also have site wide events during the course of the year. We're always open to more suggestions for thing to add to the site. Is there a development page I can follow? Yes, we have a DA page as well as discord server. The DA page is https://www.deviantart.com/northerncall and the Discord server is https://discordapp.com/invite/D56qfFm Is there anyway I can support of the site? Yes, we've recently opened a Patreon to help take some of the costs of the site. All money earned on the Patreon goes directly into the site. https://www.patreon.com/NorthernCall
  7. 1 point
  8. 1 point
    This looks amazing! RPGs are not usually my thing but the layout, the concept (even the fight style) - I enjoy it. The home page makes me think of Subnautica (only due to it being in water) and I like the feeling that gives me. Cannot wait for open alpha!
  9. 1 point
    SEEKING Back/front end coder for Kalerrden. Will be creating website from the ground up. DETAILS AND CONTACT INFO HERE: (tinyurl to google docs page) https://www.tinyurl.com/kaljob I have been ghosted/lost money to 3 coders in the past 3 years on this project, wasting time and losing money, so please be serious and understanding when discussing work. I am all for giving people chances, but I ask for clear lines of communication and work to be completed in a timely manner. Payment is fully negotiable; please tell me your rates! I am not well versed in going rates for coding so please disregard my previous monetary rates I had up here. Thanks!
  10. 1 point
    I no longer work with IcePets as of fairly recently, but I want to publicly say this: The team working with IcePets is a group of some of the most dedicated, well-functioning, and knowledgeable people I have ever worked with on a project. There are people on this team who have been running the day-to-day operations of the IcePets website for multiple years and know how the game and community ticks. They are equally known by the community and they know how to keep the site going. Whoever purchases IcePets obviously gains the ability to do what they want with the hiring and firing portion of the site, but as someone who worked with this team for over 4 years: if you fire them, you are doing yourself and the game a major disservice. It might also be a boon to mention that if you purchase this game, you can rest easy knowing you have an absolutely fantastic team of people who will back you up, as long as you are willing to listen and dedicate yourself to improving the site moving forward. I obviously have no horse in this race any longer, but I will stand on my soapbox and yell awesome things about the current team to anyone who will listen, and figured it was a piece of information a potential buyer might like to know.
  11. 1 point
    Happy Thursday! Enjoy these new otter pup minipets, craftable by all players crafting level 3 and above.
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Terms of Use, and Privacy Policy.