Showing posts with label extra reading. Show all posts
Showing posts with label extra reading. Show all posts

Thursday, September 24, 2015

Roguelikes

I keep threatening to post about the additional research I've been doing, but I'm so wrapped up in reading about it that I have yet to actually write a post.

That, and work has been a little harrowing. Everyone has wanted their projects completed by Friday this week, which crunches our schedule into a "drop-everything-else-that-was-not-immediate-and-do-this" nightmare. When it's one out of every ten jobs, this isn't an issue; but when it's six out of ten orders, it gets hairy.

Enough about boring work.

The title of this post may have gotten some attention already. Either you are wondering why I would stick those two words together in such a bizarre way, or you are wondering what it was that I found pertaining to this particular style of game (default: neither of these things, just get on with your point).

Roguelikes are a type of game that is based on the 1980's text-game Rogue. They encompass game features such as procedural map generation, turn-based gameplay, and sometimes permanent character death. More information can be found here (Wikipedia) and a basic chronology of roguelikes can be found here (also Wikipedia).

Anyone who has been around this blog for a while knows that I'm enamored with the design of MUDs. Roguelikes began in 1978 with the release of Beneath Apple Manor, the same year that MUD1 was released in England. Both styles of game have their own appeal, though MUDs are by far more intensive as far as content generation goes. I assume that part of what makes roguelikes so popular is the lack of a need for so much manual content generation. The maps of the earliest roguelikes were made up of text characters, as shown below.

Source: http://www.kathekonta.com/rlguide/index.html, which will be mentioned shortly in detail

The classification of roguelikes gets a little bit convoluted, considering there are a large amount of games out there that share some of the same qualities, but not quite all of them. Some argue that Blizzard's Diablo is a roguelike, and others say otherwise, and there are many other cases like this. But these games led to a genre of dungeon-crawling games, of which the goal is simply to traverse the generated maps, find all the goodies, and kill all the bad guys.

I was having a lot of fun doing my research about roguelikes. Somewhere in the midst of it, and I don't know what inspired me to do it, but I typed "how to program a roguelike" into Google.

I have been thrilled with the results.

First, I have to shout super kudos to my first resource. This guy took personal time to write, very candidly, a step-by-step process of programming a roguelike. And the advice he offers in this guide is not specific to roguelikes; it is advice from a professional in the field who is imparting some hard-learned lessons from his experience in software development. I think I find that equally as impressive as the time he has spent writing the guide.


The guide is not complete, partially because of some issues in his platform (look on his blog for more information). Regardless, the 9 articles he has completed are packed with great information about developing a roguelike (or any program) with good structure and clarity.


I also found this article on RogueBasin, a wiki page dedicated to the roguelike genre. It does not go into anywhere near as much detail as the Beginner's Guide does, but it covers some really great points and gives something akin to a checklist for anyone planning to develop a roguelike. I enjoyed some of the considerations mentioned.


Of course, I have to post Archive.org's MS-DOS library. I think it is so neat that they have so many old games available to stream on their browser emulator. Here is a link to a playable version of Beneath Apple Manor, if anyone is interested in traveling back in time.


That about does it for me for today. I want to dive back into my programming exercises in the next couple of days, so hopefully I will have some progress to write about thereafter.

Tuesday, September 22, 2015

Research = Progress

Or, at least, that's what I am going to advocate to make up for the fact that I have, again, spent too much time gaming and not enough time programming.

Damn you, World of Warcraft. Why must you have addicted me to your schemes again?

When I'm not reading about WoW or scrolling endlessly down my Facebook news feed, I do actively try to find more things about programming to investigate. Yesterday, my search was somewhat accidentally rewarded, simply by visiting Humble Bundle.

For anyone not familiar with Humble Bundle (seeing as I had no idea it existed just a few months ago), this is a company who gathers together collections of games, software, or books and provides them in this "pay what you want" scheme. Some of the money you pay goes to the providers of these materials (publishers, developers, etc.), some goes to Humble Bundle in the form of a "tip", and some goes to charity. Because you can choose how much you want to pay, you can also choose who gets each piece of your proverbial pie of money.
It's a pretty neat platform. Most of the games are only redeemable through Steam, and the books are often Hi-Res PDFs that you must download, but there have been some fantastic bundles lately.

The one that caught my attention this week was actually a bundle of rarities from Neil Gaiman, one of my favorite authors of all time. After snatching that bundle up, I was nosing around and noticed the weekly bundle included a piece of software called GameMaker.

Let me distract myself for a moment by saying that the way I've been training myself to code is pretty down and dirty. I use Sublime Text to write and GCC/Clang to compile. Sometimes I make a Makefile for the little programs I come up with, but most of the time, it is good ole' gcc name.c -o name.
I have never worked with an engine before, and even if GameMaker isn't the greatest engine out there, the price was certainly right for me to get started with it (the bundle came with assets already, in addition to source code from projects made in GameMaker that are already on the market).

Researching GameMaker brought me to a developer called MoaCube who wrote up this review on GameMaker prior to the release of GameMaker Studio, which is the software included in the Humble Bundle. It was nice to see a developer who had projects out there in the nebulous space of the internet marketplace give a candid look at the engine and relate their experiences.
MoaCube has some really gorgeous-looking games that I look forward to investigating more closely. The review article goes into some detail about the games they built with GameMaker.

So I went ahead and picked up the bundle with GameMaker in it. The way I figure, if nothing else, I can root through some code and have real, working games to compare with any tweaks I might make.

Of course, because there have been 60,000+ bundles sold, the company website, YoYoGames.com, is experiencing huge latency issues and ultimately needed to go offline for maintenance, so I can't actually comment on GameMaker because I have yet to get my hands on it.

Since this is the case, I'm going to truncate this post for now and come back to the subject of GameMaker later. It is not the only research I've done, and this particular research led me on another tangent of research, but I think that may be best tackled in a completely separate blog post. Plus, I have work to do and this post ended up long enough as it is.

Thursday, September 17, 2015

Interesting Articles, Episode 1

I think I could churn out more blog posts if I could figure out how to come up with decent titles for them.

So, I created a LinkedIn for shits and giggles. I'm not really sure I want to connect this blog with it just yet (for various reasons, including my frequent vulgarity and the fact that my username on Google+ is Silvaria), but it's there. And so far, the biggest benefit I have seen from it is the trending news articles that are sorted based on interest.

Maybe I haven't been looking in the right places, but this is the first time I've found a collection of articles detailing the current state of the Software Development industry in one place. It is really easy to access and I've already found a couple of articles that I've enjoyed reading.

Here's one from Wired that I thought was interesting, and had a few really nice expressions that I hope to remember as I learn more.

This paragraph was one of my favorites:

Mahdavi joined WhatsApp about two years ago, after the startup was up and running, and its approach to engineering was unlike any he had seen—in part because it used Erlang and a computer operating system called FreeBSD, but also because it strove to keep its operation so simple. “It was a completely different way of building a high-scale infrastructure,” he said on Monday. “It was an eye-opener to see the minimalistic approach to solving … just the problems that needed to be solved.”

I don't know much about Erlang or Haskell except for the very basic descriptions of the languages, and I liked that the article mentioned that simplicity has its own drawbacks. But, as with anything, becoming proficient with a tool means learning its strengths and weaknesses, learning what it can do well and what it can't do at all, and learning exactly how to take advantage of that knowledge to achieve your goals.

Monday, October 27, 2014

Code is Poetry



I found this on the Wordpress Website. I'm researching what it will involve to include a page on my company's website that will allow me to post updates on a daily or weekly basis. Wordpress has been mentioned in almost every resource I've read recently (that is anywhere near up-to-date), so I'm looking into it now.

Finding this at the bottom of their page was neat and I really like it. Click through the image to visit the Wordpress Codex, where I found this gorgeous little design piece.

Wednesday, May 29, 2013

Also, an interesting read

Andrei mentioned in passing earlier that some of the earliest coders back in the '40s were actually women.

The mathematicians of the time were too concerned with developing mathematical concepts, and most notably, John Backus realized that there were women who were just as brilliant who would be willing to work on groundbreaking projects like those he was planning.

He designed Fortran with the assistance of some great woman thinkers of their time.

I thoroughly enjoyed reading about Grace Hopper, who had quite a hand in early programming. She achieved the rank of US Navy Rear Admiral, and contributed to Backus's work with Fortran.

Anyway, just thought I'd mention. I hope I don't offend anyone with my blog title... Just commenting on the societal notion that girls aren't nerds and definitely don't exist on the internets.