10 Years of working on The World of Secfenia

Moderator: Community Team

Post Reply
User avatar
Posts: 7232
Joined: Fri Jun 12, 2009 7:52 pm

10 Years of working on The World of Secfenia

Post by Zachrin » Mon Jun 03, 2019 5:41 pm

Working a Decade on The World of Secfenia

In 2009, I had been using the old Secfenia RPG website more as a personal site for my family and other interests. I had successfully ran the former RPG from 1994 to about 2002. Over the time, we had shifted from paper/email to a forum based system. The basic skills for the RPG was simple. Some basic HTML and some writing. It was a passion project that lasted a good bit of time. 7 years later, the domain held some of the HTML pages, but none of the forum. 2009 was a time I was yearning for another game to enjoy and have others enjoy as well. I had so many fond memories of the last time Secfenia existed that I thought maybe doing a new version set in the future of the original one with a dark ages in between would work.

There was a few things that were quite different back then. In 2009, phones were not really thought of as gaming devices. In a matter of fact, your gaming avenues were quite different. Android was new to the world and most had never heard of it. During the planning phase of Secfenia, Android was on it's 3rd major release (version 1.5). The "new" features added to it was things like auto-rotation, animal screen transitions, user pictures shown for favorites in contacts, etc. So, developing a game for a phone or tablet was simply not something that was thought of by most people. What did I want? I wanted a game where people could log in and be served dynamic pages based upon their character, their character's actions, and others. This required a different solution than just the static pages that were part of the mainstream web programming I had done.

That is when I found PHP. There was a lot of interesting possibilities at the time for it. There was a lot of different projects using it as well. There was a community I could reach out to and ask questions. So, The World of Secfenia coding language had been decided. Next, was getting some of the backbone components of it into the system enough to make a game that people could register with. I started with a PHP Bookmarking system to see how it would work. The methods it used for logging in as well as how it stored it in the Database. To say the program was simple is an understatement. It was 3 files. You logged in and you bookmarked things. That's it. No logout button. No removing bookmarks. It was a simple test to get things started.

However, that wouldn't be enough to make a game that would be fun to play. So, to the drawing board over the basic concepts of what I wanted from the game. First, I wanted the classic stats to be there. I wanted there to be levels. I wanted towns that players could live in. I wanted towns to have a higher level of government as well. Slowly, each component came into being. The first alpha versions of Secfenia were all text. There was not a single image. My focus was simple. The code would be what mattered in getting players excited. After all, I had played many games where the coders made games for money only. New feature after new feature would help line their pockets. It was a good model of business for many of them. Secfenia wasn't about that though. My goal was simple. Make a game that works and that people can give feedback to improve.

In June 2009, I installed the first version of the forums. It was the same as what we use today, but a lot has changed since then. It was the same software we used back in the previous incarnation, but a lot of changes had happened since. It took a bit of getting used to and making some adapatations for the new game. In the original version of Secfenia, there was no interaction between the game and the forums. You literally had to sign up for both to play in both.

As August started to near, I started attempting to find out who among some of my friends would be interested in joining. There was no advertising. Everyone in the original days were either friends that I had role-played with in the past or their friends. We opened up with a small group of people who were interested in seeing what the game could be. I was the first mayor and we worked on adding things regularly partly based on feedback directly from the players at the time as well as things that I wanted to see added. I remember one of the first suggestions given to me was to add a "View My Profile" link to the system. The system did not have a lot of images. Those would come over time. The first beta didn't even have a revolt option. That was added in while players were in the game. Over time, a lot of different suggestions from players would be added.

I also realized that this project was going to take a lot of time. While I have always attempted to be visible to players and listen to feedback regarding the code, I also knew that eventually with all that was going on with the forums that I wouldn't be able to do both player management, code management, and also continue to work on the backend side as well. My project was ambitious. I knew that. Was it ever going to make me rich? Doubt it. It was a passion project not a business. If it had been a business, some things would have been different. The first would have been staff. Secfenia has always ran with a small group at the top managing things. Most projects have multiple coders, marketing teams, Database Engineers, Artists (for images), Server Administrators, etc. The only person paid during the entire time of Secfenia was me. I filled most of these roles some better than others. I can't draw to save my life and marketing has never been my specialty. However, that didn't stop me from trying to do both. The early images in the game were... a bit rough by today's standards.

In the early days, my character was a bit more intertwined with the politics and what not partly because I had to be there to develop the systems. As time continued, I retreated away from that and focused more on code aspects and monitoring the suggestion box for new ideas to help compliment the ever swirling ideas in my own head. Looking back, there are systems that I wished had developed many years ago. However, hindsight is often 20/20 on these type of things. I've learned a lot of different lessons over the years working on Secfenia. I took on suggestions to revamp the entire layout two different times by two different people. Their visions helped shape the visual layout that we have now. The challenge developing a game 10 years ago was also a matter of bandwidth. The average connection speed alone has increased by at least a factor of 10 or more. Some of the bandwidth challenges that existed back then are mostly gone minus the mobile market and that is slowly decaying as well. It was always a challenge trying to add images, but not impacting the overall load speeds. But several people along the way helped with that as well as finding new tools for compression. Today, we also use a content delivery network that caches some of the images for our players at locations closer to them reducing the time it takes to load.

During the first few years of the game, we kept adding new things and I posted a lot of the announcements. We added things like the Games room for our players in the forum as well. I also interacted with a few other game owners that I had met and we shared feedback about running a game as well. Part of it is the challenge of coding what people want, what should be added, as well as managing some of the more social aspect of the game (i.e. forums/taverns). The forums were never quite as much of the headache as the taverns could be. Part of that is the whole instant gratification of the tavern aspect where you just write what's on your mind versus the forum where people tend to review over what they say. A number of the other owners decided to become more strict with their taverns or eliminate it altogether. Eventually, I coded in more things to help with management of this problem area instead of completely closing it permanently. While it meant more moderation reading, it also gave players who didn't abuse it more real time function. The tavern that we use is a project that has since become abandoned. While it was never my intention to end up helping to support another project, I found that over time I would contribute to that project as well as it became abandoned. When things majorly broke with the new release of PHPBB and how it handled variables, there was a number of us who worked on possible solutions to the issue.

The tavern is based on old technology and has served us for 10 years. Part of the system was originally written to use Adobe Flash. Back 10 years ago, Adobe Flash was really huge partly due to the ability to compress things and interact with them. A number of other tavern systems that are active in games are based on Flash. This led to another issue with the tavern. The sound which was handlded by the adobe flash software stopped working for some people on some browsers. We would later come to learn that Chrome was working on trying to eliminate Adobe's use due to the number of insecurities that plagued it and had to be patched. Adobe has since announced that Flash was being retired as well with a data in 2020 as the anticipated time period. With some time and work, a solution was found to convert part of the tavern to use new code introduced with HTML5. The tavern we run today is modified in many ways for our game. It is, however, running on borrowed time. There could come a point where the technology behind it no longer works. I've looked at a few possible solutions to this, but none has been the right one yet. Many years ago, someone offered a tavern system that they wrote to use, but it did not work with our code at all and was partially written in flash as well.

Part of the challenge of running a website is having a good system administrator. When things are running great, no one will notice them. They manage (or assign out) the Mail system administration which makes sure that players can get email reminders/notifications. This was great for a while until one day the hosting provider that I had attempted to introduce new code on the back end. This led to the server getting a memory overflow and corrupting the main drive on it. Many hosting people like myself were now frustrated. The game was crashed. All could have been ended. My week was ruined and I was genuinely worried that I might not be able to recover from this. I took the last backups that I had and started to rebuild it as best as I could while bringing things back. Everything from the old server had corruption points. Images and code was lost. In a matter of fact, the basis for Colonies (another game I had planned) was completely loss eliminating the project from likelihood of being released anytime soon. Since then, we have daily backups onto 3 different hard drives to ensure we lose as little as possible if things go south again.

One of the interesting part is watching how the systems have gotten much more complex over the years. Reset has increased exponentially and other scripts were added to support the system including an hourly and midday reset. Suggestions were only one component of code changes. If you add a lot of stuff from the original code, you are also bound to run into bugs and errors. Originally, I had an in house system that I made for bug reports. While it did perform the job, it lacked certain features that I wanted it to have. Factor in that I didn't want to end up having to take work away from the core of the project to focus on the bug system, I ended up using other software for this. That's also part of the challenge of it. Knowing when to outsource work to another project (like phpbb, Mantis, etc) or doing in house development. Given that the coders on the project is one, it makes even the research of it more time consuming.

As systems have advanced, they can also handle more and more. We don't set out to be top of the line visual gaming. But we do work to add in some of the technologies over the years to improve play. We've added javascript, AJAX, and other technologies to allow our players a better experience in the game. What will the future technologies be? The future is a bit of the limit. We started developing a mobile version which has since been released that matches closer to what players expect. We've been researching into the possibility of an app for Android/iOS. Part of what is a balance is keeping the old system working while slowly adopting new technologies. There are currently over a million lines of code that keeps the game running and is maintained just by myself. This sometimes leads into frustrations by myself and others. There are times I wish that code could have been added quicker. There are a lot of different files where I have to make edits for sometimes one little thing. Often something that is a two second click has taken hours and hours to code and test. The more complicated the code is, the harder it is to test as well.

One of the things that is also a challenge is finding people willing to help and keep helping. We have seen many people excited to help, but they sizzle out over a short time. I don't blame them for it. It's a free project and we all have lives to live. I know many people who don't even want to help at something they are paid for. It's frustrating at times, but that is part of the live of someone in charge of a project like this.

Then why do I keep doing this? Is it all bad? Absolutely not. I often enjoy the challenge of writing in new items and tweaking things to help our players be happy. I have met some amazing people during this process. I have fostered an environment where others could interact and enjoy the environment as well. We may not have a huge population, but we have had a lot of very loyal players. There are many games who never reach 10 years of being played nor being in existence. I look back at some of the old admins that used to run games and almost all of them have left the gaming management aspect entirely or moved back to projects where they no longer interact at all. The people and the challenges are what has driven me. How long will The World of Secfenia last? No one can really say, but I know that as long as people enjoy the game and that the game covers it's costs, I will continue on this passion project. Thanks to everyone who has made it a great 10 years and hope this has been an insight of what it has been like running the World of Secfenia.
This world is but just a canvas for our imagination - Henry David Thoreau

User avatar
Posts: 61
Joined: Wed Jan 16, 2019 2:51 pm

Re: 10 Years of working on The World of Secfenia

Post by marleen » Wed Jun 12, 2019 6:46 pm

As a coder myself, I can be baffling to me to stop and realize that this game was written before PHP Frameworks were a thing yet. ( even session management would have been written from scratch y'all!) But that's how old this game is and it's wonderful to see something that is still thriving and chugging along in an era where attention spans are smaller than ever. But I found out some things that I didn't know before and had never even thought to plan if I undertook a similar project, such as CDNs. It's awful that so much code and resources were lost in the Corruption of the website host, and their utter lack of obligation to help recover what was lost. I also didn't know that they are a bunch of developers and not just one - it always warms my heart that other people would be interested, especially people who have rare skill sets like DBA.

There is another game that has been mentioned here and there and is always on the fringes of people's minds and on the forum. Sometimes it is said that this game is a copy of that one, but I feel that you have taken and idea and made it another new idea that is much better. So many years later it is interesting to see that the other game is primarily focused in doing the things that they want to do (3d models), and is quite money-driven money-driven. It is unexpectedly brutal in many aspects but mostly that most people have given up hope that they will be heard by staff or helped by others in game.

The helping others, the integration with other people, this is a hard thing to find in modern games and even harder to find in a way that is actually meaningful. Secfenia is 1 in a small handful where interacting with others is a crucial part of gameplay.

Somewhere out there on the internet there is a post about one of Zachrin's former partners in the project and how he felt that the game was going in a different direction than what he liked and a bit of unnecessary drama about splitting off from that project. These sort of things happen but I wanted to call into perspective how difficult it can be for both roles of visionary and supporting helper and how it can be hard to reconcile direction sometimes. It is hard to find a medium place of both listening to others and what is wanted, and letting the things that are not wanted so much or that you do not like that much to slip away any matter that pleases everyone. Because you can't please everyone, you can only do your best to be open-minded and try to listen and be humble.

There are a couple people that I feel are role models in my life and coding career, and they all demonstrate these qualities, including Zachrin.

Stay humble my friend you are doing well

Thank you to everyone who has helped Secfenia, the coders and artists long before I knew of this place, all of the moderators who handle the drudge of day-to-day affairs that can easily be overwhelming, people who help with the ticket system, players who help other players in many, many different ways, and everybody else in between. I like this game and most of all I like everyone in it

Random aside : Are Zachrin and Amayrllis an item? We may never know. But if she is his mother or auntie or sister I get a chuckle!

Post Reply