Glaciate

Personal blog by Carim A, I occasionally write about the stuff I'm making

Posts tagged #university - Page 1

Untitled Progression

April 17, 2017 • 1 min read

Oh, I could get behind doing this more, writing these actually feels somewhat natural. This format is nice! I feel like I'm at least writing something meaningful.

blog: even more design changes! Mostly to the overview page, I added icons to the post information and added an additional bit for an estimated reading time because why not. I also managed to get partial post markup working, so I increased the size of previews and changed each page to display 4 posts at once.

gamedev: the browser client for 'Untitled' is making good progress! In the space of 2 days I've ported all chat functionality and am now working on (probably placeholder) art and town generation server-side. Expect to see a bit shortly on some pixel art! The interface has been reworked to be in portrait orientation for phones and work entirely with one hand, more on that later too.

Continue reading Untitled Progression

Game Programming Patterns - State Management

March 9, 2017 • 10 min read

This article was written in collaboration between myself, Daniel Ward, Finlay Brooker, Jimi Westerholm, and Igors Bogdanovs for an assignment. This is merely the hosting grounds!

All code examples are for C# with MonoGame. A .zip file is provided at the end of this article with a complete demonstration. The examples given in this article require a basic understanding of C#.

How do Typical Development Paradigms Fit?

When it comes to game development, it can be a bit harder for somebody who primarily focuses on application development to fully transfer their knowledge. With the inclusion of repeating logic centering around game loops, it may not come first nature to know how to write code that isn't so hopelessly bug-prone.

Continue reading Game Programming Patterns - State Management

Ethical Considerations

February 4, 2017 • 2 min read

It's just like Animal Crossing...what's the problem? But then we remember that this is an online game, so I'll have to turn my thinking around anyway...

Online Play

It's no secret that the bulk of the issues with online games can be attributed to players: moderation is subjective and good moderation is expensive; there will always be loopholes or uncooperative users, even if the game itself is completely morally sound, there will be at least 1 player to make it otherwise. It goes without saying that there needs to be a comprehensive and clear set of rules and a clear reporting system in-game.

The game isn't aimed at children, but being online, there will have to be some effort (or at the very least, a disclaimer) to prevent children from being able to create an account.

Continue reading Ethical Considerations

The Legend of the Usable UI Library

February 3, 2017 • 2 min read

Finding the Solution to a Consistent Gripe

There are a lot of things to love with MonoGame (and by extension, C#). Interfacing is not one of them. By that, I mean, there is absolutely nothing that MonoGame provides to deal with it, you must make use of an interfacing library or roll your own code...except, there are actually very few interfacing libraries for C# and the ones that do exist are either needlessly complex or completely lacking (but odd design choices make them difficult to extend to your needs).

For some time, I found relative success with Squid, a blackbox library where you provide the rendering implementation and gave it inputs and it would take care of the logic, and it sortof worked, but I met 2 issues:

Continue reading The Legend of the Usable UI Library

Project Structure & Network Considerations

February 2, 2017 • 3 min read

Let's Begin Development!

Like any old programming project, we have to start from actually...making a project! Now, because Unnamed will be an online game, we'll need more than one project. There are three projects in total:

  1. The client: effectively a view for taking data from the server and passing input back.
  1. The server: the thing that the game logic will actually run on, alongside storing player data and islands.
  1. The core: functionality that is shared between the client/server and can function interoperably so a client with different specifications could possibly be made at any time.

You can see that some stuff is done already: I write these things at the end of the day, you know!

Continue reading Project Structure & Network Considerations