GraveGravec.at: Blogging Like It's 1999
The esoteric blog of Tom "Gravecat" Simmons.
 
A blog about life, love, philosophy, gaming, movies, tea, rampant nerdery,
and building a time machine to warn my past self not to eat that potato salad.

May 23rd, 2010: Life, such that it is
Posted by Gravecat at 4:04 pm under Electronics,People,Programming,Rambling. Comments (1)

Well, it seems that I don’t often write about life in general unless things are grim, so here’s a somewhat more upbeat summary of life as a whole lately:

Life’s been interesting, which is to say, it’s been up and down like a rollercoaster but never fails to beat the tedious drudgery that I’d experience without the chaos. My programming projects have been put on temporary hold lately as I’ve been focusing on World of Warcraft and my electronics project, suffering the relentless and thoroughly unwelcome, oppressive heat of the summer and other associated annoyances that come with this most loathesome of seasons, and both pondering and happily resolving a few confusions and points of contention regarding relationship-related matters. I don’t usually mention much related to my love-life on this blog for a number of reasons, but let me assure those of you who care about my mental stability that things could not be better right now on that front.

Oh, and I walked face-first into a street sign that was far too low yesterday, because the sun was in my eyes and making it hard to see where the hell I was going. Normally I wouldn’t admit this at all, but I know for a fact that people are going to ask what’s with the cuts and bruises, and I’m not nearly manly enough to be able to lie and say it was the result of a bar-fight, and you should have seen the other guy.

In conclusion: Life rocks, and my face is pretty much okay. That is all.


May 8th, 2010: Remnant Core moved!
Posted by Gravecat at 2:25 pm under Mini-posts,Programming,Remnant Core. Comments (6)

Just a quick post to mention that Remnant Core is no longer hosted on this site. I’ve created a separate site for my current and future programming projects, so my rambling doesn’t have to get mixed up with code nerdery and vice-versa. For current and future information about Remnant Core and other endeavours, check out my project site at BitLoaf.


May 2nd, 2010: Remnant Core: Mostly working
Posted by Gravecat at 1:31 pm under Programming,Remnant Core. Comment?

Well, it’s been a pretty crazy 24 hours since I decided to implement my plans for a pseudo-3D engine in Remnant Core, but I’m happy to say things are mostly working. In the process I’ve crushed some old bugs — including one that’s been around since the very first version, 0.0.1! — and struggled with some new ones that have cropped up, while inadvertently changing the data storage structures in such a way that they literally take a quarter of the space they did before (despite the addition of 3D space). It’s been a long, strange trip, but the engine is now well on the way to fully supporting this new 3D environment. And did I not say I’d post proof-of-concept screens when I got it working?

First, we start off on the street at ground level (fig.A). This is nothing special. But let’s go up to the second floor (fig.B). Suddenly things get interesting; the dark blue is the street below, we’ve already seen it at ground level so it’s “remembered” at this level up too. Now we blow a hole in the wall (fig.C) and have a clearer view — if we hadn’t already seen the street below, it’d be seen and remembered by this point, vision extends one Z-level above and below the player. Blowing a hole in the wall of the opposite building (fig.D) lets us take a look in there too, but dropping back down to street level (fig.E) we can only see ground level again; the destruction is not visible, as it happened on the second floor.

Of course, that’s just the tip of the iceberg as far as the potential of this 3D engine goes, but it should give a fairly decent example of how the game handles multi-storey buildings, without separating them into completely individual spaces. Not bad for a day’s work, huh?


May 1st, 2010: Remnant Core: The third dimension
Posted by Gravecat at 1:14 pm under Programming,Remnant Core. Comments (2)

I know I said I wasn’t going to do any more major code re-writes, that Remnant Core was getting to the stage where I was really happy with its internal workings and had no particular urge to rebuild its core functions further. But like Archimedes discovering the displacement of water in his bathtub, I was suddenly struck with possibly the greatest idea I’ve had so far — and, more importantly, the method in which to implement this insane plan.

I’m talking, of course, about the third dimension. While I’d already planned on expanding the city-building algorithm to create buildings with multiple floors, I was struck by some fundamental flaws in that design: Could the player not simply run up a flight of stairs and be instantly safe from whatever horrors lurked below? Would time stop on anything but the current layer of building? None of this seemed terribly adequate for my grand designs, until suddenly the idea and method of execution popped into my head.

Now, I don’t want to explain how I’d implement this — something I believe I can reliably work into the existing 2D code in a matter of hours — but the plan would allow for some truly unique mechanics, such as explosions that not only damage the structure of the current level but the levels above and below, or perhaps a scenario I regaled a friend with while elaborating on the plan — the player could run up a flight of stairs and set a trap at the top for the following hordes of demonic horrors to run into, or perhaps destroy an outer wall with a grenade and jump out of the second floor, landing (and taking minor damage from the fall) on the street outside, having time to flee before the horrors catch up.

I think this’d add an extra dimension — if you’ll pardon the pun — of strategy and depth to the game, something which I honestly haven’t seen outside of Dwarf Fortress; most roguelikes treat each two-dimensional “floor” as a separate entity entirely. And let it not be said that I’m all talk; if this plan works out as well as I’ve imagined it in my head, I’ll be posting proof-of-concept screenshots the very moment I’ve got it working.

Keep your eyes peeled. Shit is about to get real.

Edit @ 2:58pm: Terrain data structures modified, three-dimensional world is now partially working. There’s a lot of things (e.g. dropping items) that are going to need work, monster AI still doesn’t work in 3D, LoS is broken but not difficult to fix.  Gravity is going to be a bitch.
Edit @ 3:35pm: Line-of-sight, terrain flags and visibility fixed, “copypasta” routine used in area generation now 3D-compatible. Taking a break!
Edit @ 9:43pm: Things are more or less working great, including visibility to lower levels (standing on a rooftop looking down at the city, etc.), though it’s introduced a slew of new bugs and brought some obscure old ones to light which have been floating around since around 0.17 or so. This’ll take a few days to clean up. Screenshots soon!
Edit @ 11.00am: Oh dear god what. One of the bugs that’s surfaced could easily have been a part of the code since the very first version of the game. We’re talking 0.0.1 here. It’s become pretty ingrained and will take some effort to budge.


April 29th, 2010: Remnant Core: Three six six
Posted by Gravecat at 7:16 pm under Programming,Remnant Core. Comment?

For those who may or may not be wondering where the hell I’ve been lately, the answer is mostly along the lines of being up to my ears in code. I’ve been working pretty hard on Remnant Core, the roguelike project I started in October and put on the bench for a couple of months before digging out again. While there isn’t anything to show off to the public yet, all I can do is assure those who have shown an interest in the project that things are coming along nicely, and I’ve got some screenshots in the Remnant Core section of the site if you want a peek, though it’s early days yet.

Truth be told, most of the work so far has been going into the engine and the structure of the game; I admit I’ve made a lot of mistakes in the early days and more or less had to scrap and re-build everything from scratch around December, and it was largely put on hold aside from a little tinkering until March, but it’s been coming in leaps and bounds over the last month. Debugging has also become less of a pain in the ass, as I’ve got some nicely integrated code to output a more helpful message during segfaults, and recently solved an infinite-loop problem with the city generator which had been baffling me for a good hour before I finally broke down, wrote extra code to output logs to a text file, and sifted through the several megs of output.

19:02 building_a(): Mapping out secondary rooms.
19:02 building_a(): Second sweep for secondary rooms.
19:02 building_a(): Viable green areas found: 0. Cutting out corridors.

Oops. That’s what I get for making assumptions: The secondary corridor routine requires at least one green area (a colour-coded identifier for a certain shape and type of generated rooms), preferably a dozen or more. At least now that’s nailed down, I can see about re-implementing the limited-tries system (which will grudgingly accept below-average quality constructions after trying more than a hundred or so times — with a little luck it won’t segfault this time), and start work on the second building generator. Complicated stuff, but it’ll all be worth it in the end, I guarantee it.


Page 1 of 212