A couple of weeks ago (little after my last update) I started to get sick of working on this engine. The whole coupling-but-abstract things was making the design of the game a lot like most Java or C# thing: over abstracted, unnecessarily complex, and too object oriented (because, yes, there is such things as over-engineering). I was getting caught in trying to develop a jack of all trades engine, and not focusing at all on making games, which is the fun part. So the first thing to do was to join both codebases into one project, sticking with Tao.SDL, because I was using SdlDotNet without getting advantage of any of the extra features.
And some little bugs were cleaned up: it was looking blurry, because the view was 1px smaller on each side than it should.
Text with glory
The text rendering engine if finally well written. Now it supports both ASCII and table base character codes, variable and fixed width fonts. The data is a pair of a texture that contains all characters, and a file containing the data in JSON. (Maybe this could be replaced by Mungo files…)
Just press Tab on any moment to see the debugging text at action.
Note we changed the server address:
Builds: svn://belcrant.endofinternet.net/aftershave/aftershave/builds
Code: svn://belcrant.endofinternet.net/aftershave/aftershave/trunk
(user: anonymous / pass: anonymous)
Nope, no map editor yet this week. I continued cleaning up, and managed to sort out the scripting things, and the thinking I promised last week was fruitful. I have (at least for now) planned how to expose the game engine to the scripting system.
Note to self: I really need to plan the developement better, usually I get up on Tuesday (my free day) wondering “What can I do not to lose Gruedorf this week?”.
Next plan: Definitely have a way of editing maps (did a couple of things for that already) before starting to write the enemy and NPC codebase. To do so, I need to define some file formats.
And now the sandbox (it’s a beach, you know) map is a lot bigger, anyway.
Download: Aftershave, build 20080416
Download: SDL 1.2 Runtime files
I’ve used IronPython before. It was called Steelix
But, the scripting is here. Now the game starts from a nicely written script, instead of the ugly mesh of hacky code on the initializer before. So, I present the first Aftershave script to you:
from aftershave import * from iroh import Vector2 from test import CreateTestMap player = CreatePlayer() player.Location = Vector2(66,66) SetCurrentPlayer(player) SetMap(CreateTestMap())
Many Days an Adventure
Not really related to anything, but the last couple of days I played the Chzo Mythos: 5 Days a Stranger, 7 Days a Skeptic, Trilby’s Notes and 6 Days a Sacrifice, a series of adventure games made by Yahtzee, which you my know from Zero Punctuation on The Escapist. I hadn’t played any point-and-click adventure game before besides The Curse of Monkey Island (a masterpiece indeed), and this four games were a refreshing answer to my claims of good games.
The gameplay is classic but very clever (the final puzzle in the third was incredible!), the graphics are nice, and the ocassional music (the game is generally silent aside form your footsteps) helps to build the atmosphere that sometimes is even overwhelming.
So, play this four games, and if you want a change in gameplay, Trilby: The Art of Theft
This is getting somehow intermittent. Basically, my group suck, I’m still the only one developing, but I still keep counting on them.
I’ve being working on the story and design aspect of the game. I think I’ll add some enemies sometime near. The first boss that’s almost completely designed. He needs a name, to be drawn and programmed, but the idea is there.
His original name (on the Zelda clone times) was Armored Armos, is basically a guardian of an ancient relic, hidden who knows where.
We are still lacking in the normal enemy department, so I should think about that.
¡Me gusta el mueve mueve!
The real update (the build) this time has the promised animation support. There’s still work to do on how to load the animation data, but it’s show without any problem
Next thing to do: better collision detection
Download: Aftershave, build 20080316
Download: SDL 1.2 Runtime files
This update was meant to be posted on Feb 3, 2008. 3host.biz decided to die that day, and I went to vacation, so I couldn’t fix that on a long time, ’till today, when I could . At least, thanks to Windows Live Writer, I had a backup of all my posts, so I could recover them. Some time later I’ll fix the blog (or maybe I’ll change it), and add the whole Gruedorf info it deserves
Yeah, the last month was a fiasco, but don’t mind that, because this time I’ve brought you lots and lots of Aftershavish sexiness.
Also looks like every week that passes, more people join the fight, and more corpses appear on the battlefield (with special mention to Falthorn and his four-month lose)
Gruedorf: Textyness
The real thing this time is the new (VERY basic) text support on the game. For now, just 16-pixel high variable width fonts are supported, but there haven’t been any problem performance wise for now
Download: Aftershave, build 20080201
Download: SDL 1.2 Runtime files
More Aftershave:
I had been playing with the D programming language some weeks ago. To try the language, I decided to port Aftershave to it, and here is the result. The performance is better (a lot during startup, a little less at runtime), and the filesize a lot bigger, ’cause the standard library is statically linked, including the garbage collector. If you want, you can play with the result (that is a lot like the second build)
Download: Dshave, build 20080201
This time we have a couple of improvements to The Legend of Aftershave. The first thing you’ll notice in the game… Gervasio doesn’t fly over the sea and unto the unknowns anymore!!
Maybe some of you are wondering about the name… Maybe The Legend of Aftershave is this game a quest of a man trying to end with his beard. Or is he a legendary barber, trying to reach the Barbershop Nirvana by acquiring the Legendary Aftershave? No, my dear friends, Aftershave is the name of a character. Aftershave is the center of all the plot, being of immeasurable value for both Gervasio and the evil antagonist (yes, there’s an antagonist, now you know that).
And so, some people make us all look like poor lazy amateurs (Kildorf, you bastard), others try to make their best to stay not losing (Grue, congrats for your moving) and Code keeps losing like a loser (We want Zodiac Cogency, please come back!!), and this fierce competition goes on and on… And maybe some day someone will go against all the rules and will win instead of not losing, and I know we will that someone.
Newsworthy
The new build of the game introduces a couple of features:
- Collisions: The only one noticeable at first sight, now you can’t move outside the isle. Aside from having collision boxes for the map, entity movement is restricted to inside of the map.
- Entities: In the first two builds, Gervasio was just a sprite. In order to implement collision testing, he needed some substance. Now we have a rather empty but functional entity tree, and as I have a basic Creature class, implementing monsters will be a breeze!
But the most important and useless new feature is AfterDev, the program that someday should be the main development tool for the game (Map and script editor and testing environment, a basic debugger, and package manager). For now let’s you start a new instance of the game, pause it, and show or hide the collision boxes of the map.
NOTE: For the Linux (and maybe other Unix variants) guys out there, I included config files for the libraries so it works with Mono. Be warned, anyway, there’s a bug in Tao.Sdl, so the game crashes on 64-bit Linux, at least on Kubuntu 7.10.
Download: Aftershave, build 20080106
Download: SDL 1.2 Runtime files