Devlog 1: Humble Beginnings
Hello everyone, Jonathan here. This is the first Armadahex Devlog, hopefully the first of many. This week - codenamed "Week 0" - has mainly been lots of project preparation and setting up for the rest of the semester.
We created the Capstone Discord server, which included creating channels and roles for each project, creating a server icon, and getting everyone to join. Through a lot of organization, anyone can find who they need instantly, and either text or call with them.
On the art side, Zoe drew up some great icon designs. We can use them for desktop icons or for profile pictures on social media platforms. We probably still need a larger logo, but this is a great start.
Additionally, Juniper started work on the game's soundtrack, which blends aspects from the 2012 movie "Battleship" with a unique atmosphere. Sound clip. She's also shown interest in more programming ventures, and has started learning about GitHub. Juniper has already contributed to the Unity project; helping out with menus and UIs.
Unity's shaders in the Universal Render Pipelines can be made in a few ways, but commonly through "Shader Graphs." These shaders run on the GPU instead of the CPU for more advanced and resource-intensive applications.
Nick Ward provided input into different networking solutions. Ultimately, we've decided to go with Photon Engine's PUN 2, built for Unity development. It's becoming deprecated and is a few years older than the alternatives, but its ease-of-use and simple nature is perfect for our use cases. Battleship, being a turn based game, with many events being fired only occasionally, would not benefit as much from advanced real-time client physics simulations or similar features.
Photon offers a free cloud hosting service, which will work fine until 20 "currently connected users." After that, we might need a Windows server to self host Photon's software. Again, though, this is limited to 100 CCU. These limits will just be a future problem for now.
Another consideration when choosing Photon was authentication. Authentication is important to monitor who's playing our game and to restrict access for certain individuals / identities.
Photon provides a few easy methods for authentication, through services such as Steam or Facebook. However, they will not work for us. Steam charges $100 to obtain a developer account, and while Facebook might be fine for a mobile game, it's much too awkward for us. This has lead to the need for custom authentication, which we quickly created through a Node.js Express server. All this server does is take HTTPS requests from Photon's servers and provides raw JSON data in response. Depending on the result, Photon's cloud servers either allow or deny a user's connection.
The server can be seen at https://auth.jomity.net. If it's giving a 502 error, that's just because it's not running currently. A more permanent solution will be configured soon.
Comments
Post a Comment