Home of Ebyan Alvarez-Buylla

The Adventurer’s Guild Bugfixes

The Adventurer’s Guild Bugfixes

Even though reception for The Adventurer’s Guild has been excellent, a few bugs, especially one particularly fatal one, have stopped players from diving as deeply as possible. These bugs are no longer.

I have uploaded an updated version in which I was careful not to fiddle with any game balance issues so as to keep with the spirit of the 7-day roguelike challenge. Here are the details:

7DRL Success: The Adventurer’s Guild

7DRL Success: The Adventurer’s Guild

I am proud to announce my first entry and success into the 7-day roguelike challenge, The Adventurer’s Guild!

Developed in Flash with ActionScript 3 (and playable in the browser, as usual) starting Saturday, March 10th at around 1:00 PM and finishing today, March 17th, at around 6:30 AM.

LordTakuban Joins Legends of Aesthir Development

LordTakuban Joins Legends of Aesthir Development

I am ecstatic to announce that backend developer extraordinaire Justin “LordTakuban” Oakley has officially joined the development efforts of Legends of Aesthir.

His current focus is on refactoring the backend by adding better model classes, revamping the data layer access layer with PDO and Memcache, and cleaner database access in general (I will admit to having a good amount of queries strewn about at the controller or even view level).

Comet Long Polling with PHP and jQuery

Comet Long Polling with PHP and jQuery

Comet describes a number of techniques with which a web server may push information to a client in a non-transactional format. Long Polling is one of such techniques, in which a browser’s request remains open until the server has information to send.

Long Polling is particularly useful in semi-synchronous applications, such as chat rooms and turn-based games, and is straightforward to implement with PHP and jQuery:

Progress Towards Playable

Progress Towards Playable

Hark not, the lack of updates on the Legends of Aesthir project does not mean progress has halted, only briefly paused (mostly on account of Skyrim). In retrospect, having set a hard deadline for completion of the minimum viable product was unwise, since I had little room to play with either the scope or the timeline (and, as with anything fairly complex, something always has to give).

In any case, these are the items from the roadmap that I managed to complete:

The Roadmap Towards Playable

The Roadmap Towards Playable

Whereas the focus in the past few weeks has been in tightening up the interface, the focus for the coming weeks will be on getting Legends of Aesthir to a playable state.

Basic UI and Registration

Basic UI and Registration

With the latest design and UI update to Legends of Aesthir comes the opening of registrations for the playable game. The registration is, at the moment, a means of collecting the information of prospective alpha testers, but, as you can see by the presence of the login area, development continues steadily!

Coming Soon: Legends of Aesthir

Coming Soon: Legends of Aesthir

Legends of Aesthir is a web-based, collectible-card game I’ve been working on for the past few months. Development progress has been fairly quiet so far, but that is about to change with the latest interface redesign, with which I am extremely happy!

Multiple AJAX Calls in YUI 3

Multiple AJAX Calls in YUI 3

Although my preferred JavaScript framework is jQuery, I’ve been using YUI 3 professionally quite a bit in the last months. Recently, I had the need to handle multiple concurrent AJAX calls and bind them to their own event handlers. This can be accomplished with:

The Color Guessing Game

The Color Guessing Game

It’s finally here! The Color Guessing Game— where you can both test how quickly you can type out color names, and how imaginative you dare to be. Common color names are worth the least points, while rare and unorthodox “colors” will net you the most. Be as creative as you dare; if your guessed color is not found, assign it to a swatch at the end of the game so that it can be added!

Coming Soon: The Color Guessing Game

Coming Soon: The Color Guessing Game

Announcing The Color Guessing Game! A Flash and Papervision3D-driven word game where you battle against the clock to name as many colors as you can remember. Rare colors, those which have only been guessed by a handful of other players, net you the most points, and common colors a meager offering. If the color is not in the system, assign it to a swatch at the end of the game so that it can be added to the list!

Petri Dish: The Extinction of Color

Petri Dish: The Extinction of Color

What do you get when you put 11 randomly-matched game developers, artists, and musicians together and ask them to create a game in 48 hours around the theme of “extinction”?

Petri Dish!

Chronophase Bugfixes

Chronophase Bugfixes

Is four days enough to develop a roguelike? Yes, there is proof. Is it enough time to test it thoroughly and ensure that it is bug free? Unlikely! In any case, Chronophase was released at the 4-day mark with 3 known bugs, all of which I’ve just now corrected.

Goals for Version 0.7

Goals for Version 0.7

With the v0.6.136 release, Dance of Death began its movement towards a more wilderness-survival-centered gameplay rather than the dungeon crawling of traditional roguelikes. I loves me a good dungeon crawl, but what I can really sink my teeth into is an open world where your progress is only limited by your character’s skills. That, and post-apocalyptic settings.

4DRL Success: Chronophase

4DRL Success: Chronophase

Fresh out of the oven, my first entry into an nDRL challenge (a 4DRL, no less), Chronophase!

These last four days have been really intense. Tough choices could not be awarded the luxury of a night’s sleep, as I normally prefer; they had to be resolved within the minute. It really gets down to the core of what game design and development is all about.

4DRL: Chronophase

4DRL: Chronophase

I have officially entered into the 4DRL (4-day roguelike) challenge as of yesterday, with a space-based roguelike, Chronophase. I have been kicking around the idea for a space-based roguelike for a while, and what better time to tackle it than a 4-day-cut-the-fat-and-focus-on-what’s-important challenge?

World Generation Breakdown

World Generation Breakdown

A large part of Dance of Death v0.6.136 was the addition of world generation. Although the world is little more than a large island at the moment, the results are rather satisfying, even considering that the current method of generating terrain is purely based on elevation. After experimenting with a number of techniques, I settled on this simple formula: 1) Generate Fractal Perlin Noise, 2) Multiply noise by a radial gradient, and 3) Apply terrain and water line. Here is the breakdown:

Dance of Death v0.6.136 Released!

Dance of Death v0.6.136 Released!

Today, on the first Annual Roguelike Release Party, I am honored to bring you the latest update to Dance of Death, version 0.6. This has been one of the longest iterations to date, implementing a number of major features focusing on world and wilderness generation. I am extremely pleased with the outcome of this version, and though I have my work cut out for me moving forward, feedback is, as always, very much appreciated!

Dance of Death 0.6 to be Released at The Annual Roguelike Release Party

Dance of Death 0.6 to be Released at The Annual Roguelike Release Party

This September 19th, the first Annual Roguelike Release Party will take place. Not quite a literal party, the ARRP is a community-driven event in which roguelike developers are encouraged to put out a release with the intention of garnering, among much fame and fortune, increased visibility and feedback. As of now, there are 24 entries in the official announcement page, including Dance of Death version 0.6.

Scaling Back Movement at the World Map Level

Scaling Back Movement at the World Map Level

The goals for the Dance of Death v0.6 release revolve predominantly around world generation, wilderness generation, and integrating these radically new features into the existing game. No small task, by any means, which is why I have devoted an entire version to this set of features, and also why I have made the decision to scale back on three non-essential items:

Goals for Version 0.6

Goals for Version 0.6

With version 0.5.102, Dance of Death reached a stable point and is ready for its next major features: the world map and wilderness. I definitely have my work cut out for me for 0.6, and though the goals list below is short, it is a meaty one.

In addition to wilderness generation, v0.6 will begin to reflect the results of a recent discussion in r.g.r.d. regarding gender bonuses and the social responsibilities of game developers at large.

Dance of Death v0.5.102 Released!

Dance of Death v0.5.102 Released!

Announcing the Dance of Death v0.5.102 release, playable in your browser at www.nolithius.com/dod!

This development cycle was focused towards introducing an animation system and tidying up some loose ends with ranged combat and other recently added features.

Goals for Version 0.5

Goals for Version 0.5

The iterative development process has been a real blessing for the health of Dance of Death. Releasing early and often has allowed me to keep the project’s momentum going, as well as make tough decisions about what gets done for each section, and how.

One of these such decisions has been to move what was once the #1 item on this list, wilderness generation, to the next release after 0.5.

Dance of Death v0.4.89 Released!

Dance of Death v0.4.89 Released!

Announcing the release of Dance of Death v0.4.89!

Among the features for this version you’ll find custom keyboard mapping, international keyboard support, ranged combat, and game saving and loading.

Dance of Death Development Updates on Twitter

Dance of Death Development Updates on Twitter

Recently, I have been posting near-daily Dance of Death development updates through @Nolithius, on Twitter. Feel free to follow me to catch a glimpse of how the game progresses from day to day!

Dance of Death v0.4 Progress Report

Dance of Death v0.4 Progress Report

In the past few months, Dance of Death has seen rocky progress. Development momentum came to a crawl while I took a brief break after work got particularly busy with an Oracle/Ironman 2 project that completely tapped my AS3 mana reserves for a few weeks.

Recently, however, I’ve made slow but steady progress, and am down to the last two features for version 0.4!

The Quest for Custom Keymapping and International Keyboard Support

The Quest for Custom Keymapping and International Keyboard Support

Normally, in regaining momentum for a project, I’ll pick it back up and work on small-ticket items just to get into the groove again, then work my way into the larger items. Though this time I have done the opposite, I finally have a handle on one of the larger features for version 0.4: custom keymapping.

Goals for Version 0.4

Goals for Version 0.4

Now that Dance of Death has moved into alpha stage, some critical features need to be tied up. Save/Load, world permanence, custom keybindings, ranged combat, international keyboard support, and a few interface changes are among the items which I’ll be working on for version 0.4.

Dance of Death v0.3.60 Released!

Dance of Death v0.3.60 Released!

It’s finally here! Dance of Death has officially entered into alpha territory, with version 0.3.60— playable and winnable.

This has been the largest iteration to date, and also the most feature-packed one, with a good number of engine, interface, and content updates.

Work XOR Rework

Work XOR Rework

Back in my university days, I fondly recall when our professor for Structured Computer Organization, a seasoned computer scientist who worked on the EDSAC 1 back in the days of yore, asked, “Have any of you worked with Assembly?”. Having had the odd run-in with some flavors Assembly in previous microprogramming classes, I raised my hand.

Goals for Version 0.3

Goals for Version 0.3

In these early stages of development of Dance of Death, I definitely have my work cut out for me. I’m also grateful to have received such great feedback from the roguelike community, much of which has helped me determine development priorities.

Dance of Death v0.2.23 Released!

Dance of Death v0.2.23 Released!

Announcing the latest release of Dance of Death, version 0.2.23! This release continues to build up the main engine, and has at its core the new Character Creation system.

At this point, the game is still in a “tech demo” stage, insofar as not having a winning condition, and a number of incomplete or unimplemented features.

Progress Update/Character Creation

Progress Update/Character Creation

Development of Dance of Death is alive and well! This past week, I’ve been spending time in the roguelike community, playing games in development to get inspiration, and checking off items on my To-Do list for the upcoming release. Most of the items have been straightforward and painless, and I have left the best (and toughest) for last: character creation.

Experimenting with Bézier Curves

Experimenting with Bézier Curves

A few days ago, I stumbled upon the Wikipedia Article on Bézier Curves. As a fan of procedurally generated art, when I saw the fifth-order Bézier curve animation within that article, I was inspired to attempt my own Bézier curve drawing algorithm. This is what happened. In this article, on ANidea, I break down a basic Bézier curve algorithm and show how it can be generalized to create Nth order Bézier curves.

Dungeon Generation

Dungeon Generation

Although I have worked on two (albeit short-lived) roguelikes prior to Dance of Death, this is the first to feature a dungeon generation algorithm. While it relies greatly on brute force searches, especially for connectivity, I am quite happy with it, and it definitely gets the job done!

Goals for the Next Release

Goals for the Next Release

Firstly, I’d like to thank everyone who has taken the time to tinker with the first release of Dance of Death.

Although I’ve been able to get away with some major oversights given the fact that it is an early tech demo, I appreciate that you have pointed out potential areas for advancements and some items I entirely missed.

Dance of Death Debut

Dance of Death Debut

I am proud to announce the first playable release of Dance of Death! It requires Flash 10 to run, and, for the time being, a decent size screen.

Since I am taking the “release early, release often” approach, you’ll find with this release is a very early build of the engine, featuring basic dungeon generation, FOV, monster generation, item generation, and very basic combat.

What Happened to Kingdoms of Aesthir?

What Happened to Kingdoms of Aesthir?

Eons ago, in a long-fotgotten era that some call “the nineties”, I had my first exposure to a programming language. mIRC, the internet relay chat client for Windows, included a feature-rich scripting language that allowed you to not only customize the interface or have user events trigger custom functionality, but to develop entirely unrelated applications parsed, interpreted, and executed by the mIRC “virtual machine”. Aesthir was born.

Getting Real

Getting Real

In light of the announcement of 37signals‘ new book, Rework, I feel compelled to recommend easily the best book I have read on the topic of project management, application development, beta releases, managing feedback, avoiding scope creep, communication overhead, and pretty much everything that is involved in working in a development team: Getting Real.

Flash Roguelike: Dance of Death

Flash Roguelike: Dance of Death

With the relaunch of this site as a blog comes a piece of great news: I am currently working on a Flash ActionScript 3.0-based roguelike game tentatively titled Dance of Death.

This time I am keeping it simple, staying away from the over-ambitious trap that bogs down so many indie games’ development.