This project/business is not a display of my skills with programming languages because I did not code any of the Java used. I believe that this business is a testament to my ability to problem solve, work with complex technologies, design a successful product and remain resilient over a long period of time in a stressful environment.
If those traits are valuable to you or your company, then read on!
Affinity Designs (2013-2020) was a small service-based company I ran that created unique social gaming experiences. It was a virtual world built in Minecraft that attracted 250,000 unique players from all over the globe during the 7 year period we were in business. It was a relatively popular free-to-play game where players could buy virtual items through our website with real money.
Our service was providing a fun Minecraft server. Minecraft allows their multiplayer server software to be modified, so a creative ecosystem of "modded minecraft servers" was born to cater to the growing demand for multiplayer Minecraft server experiences.
There is a huge community that plays Minecraft servers. We were one of the early movers in that space. We had tens of thousands of competitors, but like the video game market, there are different genres where certain companies focus most of their efforts. We focused on a couple of those niche spaces in order to capture parts of the market that were underserved by other companies.
Here is our product's website (ConspiracyCraft) which I've kept online in a minimal state as a record of its existence over the years.Website
We modified a Minecraft server using 3rd party software and our own custom software, then marketed it to a target demographic that was underserved in the space. Minecraft servers can be modified through the use of Java plugins and configuration.
The server was hosted by 3 specialized dedicated servers for running CPU intensive applications. Minecraft servers are primarily single-thread applications, so they require substantial processing power to run smoothly with hundreds of players on one instance.
We fostered a community around the server that loved playing the game and spending real money for virtual items. This was done by continuously improving and adapting the server based on our community's feedback. Keeping our players happy and engaged through updates, blog posts and bug fixes was critical to our success.
Designing and deploying a professional Minecraft server is similar to designing a game or web application. It requires great planning and execution to be a noteworthy experience for the players.
Our product started as one server, and it was a Factions server. Our Factions server was a competitive social game with an economy, teams, base building, raiding, boss fights and more. It was our most popular server which peaked at around 150 concurrent players on one instance in 2017. We decided to expand due to demands from our growing player-base, so we added another server called Survival. Survival was a modified type of Minecraft Survival that included an economy, party system, custom XP and leveling system and various other additions to make Minecraft Survival more fun and multiplayer friendly.
Players could visit our commerce website to buy virtual items such as in-game currency, armor, weapons, crate keys, ranks and other products that made the playing experience more enjoyable. The platform we used was called Buycraft (now Tebex).
I was responsible for ensuring the players were happy and the business was profitable. This sounds simple, but it involves a lot of problem solving.
The user experience in an online game encompasses many things, but meeting the player's needs and exceeding expectations was our competitive advantage. Our target demographic of players wanted a fair online game that was free-to-play, lag-free, highly social, creative, competitive and most of all, fun.
A volunteer team was needed to moderate the user generated content and players to ensure a pleasant and fair playing experience. At our biggest point, we had 30 volunteer staff team members and 2 part-time developers as part of our team. All of these positions were worked remotely. The team was separated into 3 different roles to create a sense of structure, seniority and trust. The best and most actively involved staff on the team moved up from "helpers", to "mods" to "admins" over a long period of consistency.
• Form effective team to moderate gameplay
• Delegate responsibilities for recruiting, promoting and demoting other staff members and oversee processes to ensure team quality
Every successful online game that has survived the past few years has managed to cultivate a well-connected and enjoyable community. I took communicating with our players/customers seriously and that was a huge competitive advantage our organization held over many big-name players in the game industry who only put the bottom-line over the player's experience. I believe that the communities we are a part of in life should be measured based on how much value you get from them, and how that community can help you grow as a person. It's not all about going after that next sale, it's about improving that person's life and making them feel like they are part of something bigger than themselves. This is what made our game community unique among many of the game communities out there.
• Communicate meaningfully with community to gain insight for improving user experience
• Inspire trust and personal growth in players/customers
• Develop and adapt software/gameplay according to the needs of the players/customers
Meeting our potential customers on the mediums that they hangout on was how we attracted new players and customers to our game. This meant advertising our server on YouTube and Minecraft Server List websites. In a highly competitive space such as this where thousands of game servers are competing for a limited amount of players, branding is extremely important to survive and compete. We strived to make an impression on players and leave them with an experience that felt new, unique and valuable.
• Brand and advertise the services effectively to bring in new potential customers, drive customer loyalty and increase sales
• Maximize our market-share of desired target demographic by leveraging unique competitive advantages
Software management is a huge part of running an online game. You can release an online game as-is, but it will never be perfect or completely finished. There's always work to do to improve the experience for everyone involved, and that was our stance throughout the years.
• Debug and fix software issues that impacted the player-experience negatively
• Keep software up-to-date and secure
• Hire and direct freelancers to develop custom plugins or modifications to meet player or business needs
• Deploy customized server jar file that can safely and quickly transact large amounts of data between the server software and the specialized dedicated server
• Ensure deployed servers have a 99.9% up-time
An application is only as strong as its weakest link, and the server running it in the background is just as important as the front-facing software players interact with. We ran Linux and used Java with MySQL to run our game-servers and store data.
• Create a safe and secure environment for running servers
• Ensure servers can store persistent data with MySQL
• Backup servers and their data daily
There is a lot of competition in online games for the limited amount of players. Releasing a game and updating it sometimes is not enough to keep players engaged in this environment. We regularly released large content updates and created anticipation for the updates before and after their release to maintain and grow an active playerbase.
• Write blog posts to inform and excite players
Minecraft is a game, and all Minecraft servers are essentially games inside of a game. I learned as much as I could about game design and what it takes to create flow in a playing experience. The flow state is a mental state that all games wish for their players to achieve when playing. It is a state of being completely mentally immersed in a playing experience to the point of feeling like you are the character in the world.
• Design gameplay that is simple, social, fun and immersive
I put my all into this business over the years and I am eternally grateful for the success that it had. The downside is that I expected it to last much longer than it did. We were capitalizing on a trend and after that trend became less popular, it became more expensive to keep players around, both financially and time-wise. As a result, less players were playing and spending money, while I was working harder than ever. It was still profitable and it made me a living, but it was not worth the effort anymore after reaching its peak and declining to where it fell a couple years later. This is why I decided to let it go, because I saw it as limiting my potential if I kept spending a large chunk of my time on the business instead of moving forward with my life.
A year before shutting it down, I decided to start learning how to code so I could have a marketable skill that could land me a normal job doing something I loved. It's been about two years now since then, and I'm becoming more confident in my abilities and value as a developer.