Developer Blog #1 - March 15th, 2016

by | Forum Discussion

Greetings everyone,

Today we are happy to present our first ever Developer Blog! Our entire team has been hard at work getting everything ready for Alpha, and with the source code in hand our development team is firing on all cylinders. That being said, we want to make sure our community is well in-tune with our development process. We will be releasing updates every Tuesday of the week as it is our goal to keep the community engaged with our development team.

We start off today’s developer blog with our lead game developers, Austin and Chris. These guys have accomplished quite a lot in the short time they have had access to the source code, and our team is extremely excited for what they will be able to accomplish in the coming days and weeks.

Austin

The first week with the source code has been exciting, and I’ve really enjoyed understanding how this enormous system works as a whole.

So far, things have been relatively straightforward – the size of the project was initially a challenge, but one that we easily overcame after spending a few days with the contents and getting each part to run.

I specialize in Java and work closely with the JVM side of the game, while Chris has his expertise on the game engine and all of the native processes that the JVM communicates with (and vice versa). Chris and I have worked closely together throughout the entire process, as debugging frequently involves messages that are routed between the JVM and the native engine. This made the debug process challenging at first, but one that was quickly overcome as a team and it’s enabled us to work at a very quick pace through most of the challenges we encountered (after all, we have to manage A LOT of output logs!).

We have successfully gotten the client and server to work at this point, and are currently hammering out the kinks with the remote server build. Overall things are going well here with the codebase, and we are charging full steam ahead for Alpha! We are very close and hope to have more details soon!

Chris

Opening Darkfall Online:

At first glance the project was daunting, a huge collection of various inputs. The plan was to get it open in my current IDE and check on the status of the build process.

Once the environment was setup the compilation was turn key. With all external dependencies enclosed in the project we had binaries in no time flat.

The excitement was brewing and the learning curve was there, but the work needed to run the application and meet the application requirements were underway.

Once we had the standalone working, we immediately set out to connect to a backend service. This meant it was time to utilize the process to start the servers. Working with the data provision system and making the appropriate configuration changes we were able to successfully launch the servers.

Configuring all of the pieces was a big step forward that brought the client software into character creation.

darkfalldev1.png

darkfalldev2.png

darkfalldev3.png

Once a character was successfully created and the user was logged in to play we knew we had finally made it to the next phase. But first, who can resist a chaos chest?

darkfalldev4.png

darkfalldev5.png

Sadly it wasn’t a very good chaos chest roll.

darkfalldev6.png

Oh look, Skill gains are working properly without any configuration changes!

darkfalldev7.png

It is now time to configure the backend properly for remote live connections from the rest of the team.

This is where we are at currently, mastering the configuration process to bring up the entire world and the servers required to support it on our remote server.

With the Game Design team we got hold of DestLocke who took time out of his busy schedule at GDC (Game Developers Conference) to write up a quick response for this week’s developer blog.

DestLocke

On the design side of things, for the very initial phase of design, I started by compiling a list of every relevant aspect of the game, and then had all design team members assign a priority to each. From there, a slew of ideas were collected for all the highest priority areas and then vetted by vote.

We then moved on to discussions of details, impact and priority of all the high ranking ideas, and the initial focus roadmap was a product of that process. The initial phase was largely driven by a Low Development High Impact (LDHI) mindset; which simply means ideas that will give us the most bang for our buck.

This was an important place to start at, and we will incrementally build up to bigger changes and features in the coming cycles! It’s a very exciting time, and your ideas are definitely heard. We are regularly scanning the forums for fresh posts and adding the community's ideas to our lists for vetting, so don't think for a second we aren't hearing you -- and please keep them coming!

Our web developers, Neil and Temeez, decided to do a combination post that they worked on together. They collectively share the credit for the hard work that has been accomplished, with one focusing mostly on the backend systems and the other on the frontend. Despite having difficult timelines to meet, time and time again they pull through with amazing work.

Neil and Temeez

Account Management System:
Work and QA has been completed on the account management system. We got a lot of feedback within the team of the annoyances they had with the old account system and tried to rectify most of these. Users will be able to use one account across the board for forum, game, support, and account management system. We had some issues integrating our Xenforo forum with our site because there wasn't a solution available that already worked. So we had to customize our own solution to get this working.

Store:
Work and QA has also been completed on our store system. Security was one of our utmost concerns with this so we decided on using Stripe and Paypal, which are two well known services to avoid us storing any credit card information on our servers. Stripe provides our users with the option to pay directly with card on the site. It also provides an option for bitcoin payments that we will look at in the future.

The layout for the store page was revisited after it was initially completed and has then been changed. This took a bigger chunk of web development time then we would have wanted, but in the end it's a good thing. Now the store page looks damn good and works well even on mobile devices.

Wiki:
We’ve seen many users on the forum request a wiki so we decided to get this implemented into our site. The coding is complete and it's currently in QA. One of the main goals in our site is to reduce the need for so many external sites to help new players find all the information that they need in one place. We will be looking at other ways to do this in the future.

Automation:

We've had our build server running for a while now and we are currently in the process of automating our web server processes. When one of our developers commits his code it kicks off a pre-review job which verifies if it meets our standards, then after the code gets reviewed it will run our whole test-suite and pull the code to our test server if it succeeds. In the future after the next public release of our site, we will be looking at automating to the live server so updates will be constant without the need for any downtime. This will go through a series of automated tests to make sure the code is good.

We've also started this process with the game code and the process will be similar to the above apart from automating to the live server.

Game Servers:
The servers which will house the game server have been active since we received the source code. We are currently working with the game development team to get a server working that we can access remotely. We are working through the issues we discover and we hope to be able to connect ourselves in the next few days. This is our first step towards getting them ready for Alpha.

That concludes our developer blog for this week, but stay tuned for more information next Tuesday.

Thank you for reading and let us know your thoughts!