The post Time flies appeared first on Squirrel Alienz.
]]>I’ve decided to take the transparency approach to reporting what we are working on once we start hitting the alpha stages. I am going to work on a way to pull the data from our internal tracking system into a more consumable format and location. This will make sure we can be held accountable for our work and it will be easier to see feature and bug progress.
I did see something really cool recently, though. It looks like Epic is working on a Blueprint to C++ conversion tool. This would essentially break down your Blueprints into native C++ when it builds for release. While you wouldn’t really be able to debug them via your code editor, it would eliminate the performance hit Blueprint codes takes from basically having to run inside a virtual machine on game execution. While this won’t significantly change my decision to move over to C++ as my primary choice for development, it will make me less hesitant to implement in Blueprint when it would be easier or make more sense there.
The post Time flies appeared first on Squirrel Alienz.
]]>The post Source control lessons learned appeared first on Squirrel Alienz.
]]>Git is an option, but we ran into some problems very early on with this because arguably the most popular free and private-by-default provider, Bitbucket, enforces a limit on the size of the repository. This makes game development collaboration a bit harder because uncompressed game resources get pretty large pretty quickly. We hit our limits with a couple providers very quickly as we were bringing in assets to test and checking in our changes. These problems didn’t rule out Git, but it did cause me to reevaluate the solutions.
I still wanted to use Git, so I went out and grabbed the latest copy of Bitbucket server and installed it locally. I then fought the access battle of my overprotective network (by design) and a server trying to accept incoming connections. I was able to get it working from within the same network, but anything that required entry from the public internet died quickly. I tweaked settings for a while before deciding to move on because it wasn’t a good long-term solution anyway. i needed something that was not dependent on compromising my own security by exposing my IP address rather than routing through the VPN.
I noticed when I first starting using UE4 that Perforce support was built into the editor from the start. I remember trying to get something working back at one of the hackathons, but getting everything up and running just didn’t materialize fast enough to consider it a viable option for that 24-hour period. I liked the concept of using it because from everything I have read, this SCM has a much wider adoption across larger game development shops and many other software companies. One of the advantages I see with Perforce is that it doesn’t care about repository size or large files (Git doesn’t like large files so much). So I decided to give it another shot at setup and see what I could make happen.
My first attempt with Perforce was to use the Helix Cloud service they offered for free. This was only up to 5 GB, but it was plenty large enough to test out and see if we wanted to transfer over to a full installation. Unfortunately it didn’t work as planned. I was not able to get UE4 happy with the connection string and the information I was able to dig up online was not very helpful. Considering I didn’t know what a good installation looked like or how to solve problems with a cloud service I couldn’t touch, I decided to just go for the full thing myself.
Perforce offers a free license for up to 20 users. This is awesome for smaller teams like mine and makes it really easy to get large-scale functionality at the micro scale of my team. However, because this is an enterprise-grade solution, that means the installation should be fairly difficult and convoluted, right? Not so much! The problems I ran into had nothing to do with difficulty installing or even basic setup. Let’s run through the issues I had getting a full Perforce server installation up and running and connected with UE4. I will point out all my servers were Ubuntu 14.04 for these installs so your experience may differ if using a different backend.
I looked up installation directions directly on the Perforce website. The website gave directions for adding the APT repository key to the keychain and adding the source to the sources list (which were actually correct and worked perfectly!). I had to install 1 package, helix-p4d, which installed a few other dependencies and then told me very simply how to configure a new Perforce server. After choosing some options, the server was installed and ready to go. What? Yes. The actual server setup on Ubuntu only takes like 5 minutes. So now we get into the issues I faced after server install.
I set up a new EC2 Ubuntu server and chose Unicode support during Perforce server installation. My P4V client loved it! My UE4 client loved it! There was lots of love all around! After getting all this working, I had another team member validate my setup by having him go through just the client-side installation and setup procedure. As of last night, he was able to perform the setup successfully on both his laptop and desktop.
This past week I’ve felt pretty useless as I was not able to write any code, but getting source control working and validated from external clients was a huge win. This means we have a much easier path as we move forward and we don’t need to rely on proximity to onboard new team members (all code was hosted on my NAS previously). I think what surprised me the most was the lack of information surrounding Perforce setup with UE4. I found several guides and videos, but everyone essentially assumed a Windows installation for your local server, not a remote Linux derivative. To me that makes the most sense for remote hosting, and maybe it is just that larger studios don’t need online guides or tutorials. For me, it was a week-long frustrating learning experience that paid off eventually. I can only hope that all of my frustrations end up the same way.
I know I didn’t go into great detail as to setup or fixing of different pieces of this SCM experience, but we’re already approaching the standard college essay word count and I wanted this entry to be focused more on the troubles than anything else. Leave a comment if you have specific questions about this experience or the eventual solution.
The post Source control lessons learned appeared first on Squirrel Alienz.
]]>The post New Year – Renewed Focus appeared first on Squirrel Alienz.
]]>Our primary and immediate focus is Alsherok: Arena which will combine much of the RPG elements of races, classes, and skills with an action arena experience that will have you fighting for your life. Go check out the page for more information (Alsherok: Arena)! The game features multiple classes, races, skills, arena paths, and challenges. Over the next few weeks I will be updating this page with more specific details about the game as well as some planned features.
As I also mentioned, there are larger plans in the works. I will share some of those as I build out the timeline so that everyone can see where we are and where we are headed as a company. 2015 was a year full of learning and discovery, but I plan to make 2016 the year of accomplishment and action. I will always be transparent about our process and our work because I believe community involvement requires trust on both sides and you can’t buy into something you don’t understand. Please join me in making 2016 the best year yet!
–Regards
Cameron Carroll
The post New Year – Renewed Focus appeared first on Squirrel Alienz.
]]>The post Most of the original functionality ported! appeared first on Squirrel Alienz.
]]>The post Most of the original functionality ported! appeared first on Squirrel Alienz.
]]>The post OS X Compilation appeared first on Squirrel Alienz.
]]>
Back to the more fun work of actually working on functionality!
The post OS X Compilation appeared first on Squirrel Alienz.
]]>The post Game dev seeking… appeared first on Squirrel Alienz.
]]>The post Game dev seeking… appeared first on Squirrel Alienz.
]]>The post Back on track appeared first on Squirrel Alienz.
]]>I have found that I want to approach certain pieces different now that I have had a chance to reevaluate during the transition. So I will inevitably scrap some of what I had done before. But that’s what refactoring is all about, right? 
The post Back on track appeared first on Squirrel Alienz.
]]>The post An update… finally! appeared first on Squirrel Alienz.
]]>The post An update… finally! appeared first on Squirrel Alienz.
]]>The post The opposite of good news… appeared first on Squirrel Alienz.
]]>The post The opposite of good news… appeared first on Squirrel Alienz.
]]>The post Finished parsing! Whew… appeared first on Squirrel Alienz.
]]>I have some internal things to sort out. I will have an update out by the end of the week.
The post Finished parsing! Whew… appeared first on Squirrel Alienz.
]]>