prev
next
Tue Apr 28 22:47:55 MST 2009
Today, I managed to reduce the possible track lists for my album from 10! (about 3 million +, I think) to 1,672. Progress :)
I have an extremely unoptimized permutation generator that prunes forbidden strings (i.e., track_c->track_j) at first opportunity, and prunes strings that don't have a required string at the end of the string generation. When I've got all the rules in place, I should only have 10 or 12 track lists to choose from.
Sun Apr 05 19:31:10 MST 2009
I've been a huge fan of Sierra On-Line games since I was a kid. When I found out that the tools existed to make my own, I pounced on the opportunity. Thus was born Voodoo Girl: Queen of the Darned. If you haven't played any adventure games in a long time, I would advise you to grab a copy of NAGI from http://www.agidev.com/download/ and play some of the old classics, along with a bunch of new generation titles that are available.
Also on that download page are tools for making AGI games. I tried other adventure game platforms, like AGS, but something about the simplicity of AGI really appealed to me.
While a lot of the simplicity was an artifact of the limitations of computers at the time, some of it was good design.
I think that Flash represents a very good platform for adventure games. It has about as rich a set of graphic and animation tools as you could need. All I've done is worked on some bookkeeping infrastructure. For example, one of my goals will be allowing the player to keep save game backups on a host server, so they can play the same game on their lunch break as well as at home.
In any case, I have the single room proof-of-concept that I'm working on available here ->
AS3 AGI version 0
Tue Feb 24 00:50:13 MST 2009
Instructions
Left/Right - Rotate
Up - Thrust
C - Fire Paint Rocket
I decided to check out a development environment (ostensibly for kids, but works for me) called Scratch. It was developed at MIT, but it is as friendly a user experience as Game Maker. It has the familiar logical blocks instead of code, and it is almost immediately accessible.
This is the product of about an hour's worth of work as a first project, from scratch. This is certainly not a testament to how fast I work, because I am generally slow, slow, slow. If you have a kid, I would definitely recommend you install Scratch for them. If you are interested in making games and interactive toys/tools, but are intimidated by coding, I would strongly recommend you check out Scratch for yourself. This is my favorite toy of 2009.
Mon Jan 19 16:01:10 MST 2009
I was getting the following error message when trying to build a swf that used an Alchemy-generated swc:
/home/failrate/flash_project/flex_development/alchemy/samples/stringecho/as3/EchoTest.as(9): col: 15 Error: Type was not found or was not a compile-time constant: CLibInit.
var loader:CLibInit = new CLibInit;
^
/home/failrate/flash_project/flex_development/alchemy/samples/stringecho/as3/EchoTest.as(9): col: 30 Error: Call to a possibly undefined method CLibInit.
var loader:CLibInit = new CLibInit;
^
/home/failrate/flash_project/flex_development/alchemy/samples/stringecho/as3/EchoTest.as(4): col: 28 Error: Definition cmodule.stringecho:CLibInit could not be found.
import cmodule.stringecho.CLibInit;
I couldn't find any references on-line, so I reread the getting started documentation [http://labs.adobe.com/wiki/index.php/Alchemy:Documentation:Getting_Started] and
found a brief mention near the middle:
Use the following command to compile the ActionScript code using MXMLC:
mxmlc -library-path+=../stringecho.swc --target-player=10.0.0 EchoTest.as
This turned out to be the correct solution, but googling didn't yield a response, because the given error messages weren't in the troubleshooting section.
Thu Jan 01 15:27:54 MST 2009
Also, just got done reading "Godel, Escher, and Bach: An Eternal Golden Braid", by Doug Hofstadter.
I'm pretty sure (he didn't say so himself, but I intuited it largely from preconceived notions and the section on virus lifecycle) that Godel's Incompleteness Theorem implies that any system of sufficient power has an attack surface.
In security, an attack surface is simply an area which is vulnerable to a class of techniques. For example, to attack 11% of the websites on the web, simply pass in a specially formatted SQL string as a URL argument. To attack a bicycle lock, use a Bic pen in the circular keyhole.
Now, the standard response is that these are lamer security flaws that shouldn't have happened. This is correct, but even relatively recent versions of Apache are vulnerable to such arcane attacks as passing it a URL with hundreds of slashes. The Mongrel web server avoids attacks like this by kicking out the URL the instant the parser encounters garbage (FSM-based parser with graceful failure states). However, even Mongrel must have some security flaws.
Unfortunately, I'm no good at proofs of propositional calculus, but I'd be willing to bet a small fortune that incompleteness guarantees a security vulnerability.
Thu Jan 01 02:01:40 MST 2009
Baker's Universal Substrate Theory - First Draft:
Every system of elements (examples being, collections of circuitry, systems of rules, rudimentary elements, such as dirt) are capable of general purpose computation with at least one optimal task. The usage of the system as a computational substrate comes at an informational cost in some proportion to its organization. For example, performing computation on a dedicated CPU (high organization) requires a relatively low informational cost, while performing computation with a handful of stones (low organization) is possible, but slowly, with a very high informational cost.
The upshot is that every object, particle, rule, entity or collection thereof in the Universe is a computer, but some (for example, a handful of dust) have such extremely high informational costs (errrr, exactly what rules govern this particular handful of dust... I mean, they are all shaped differently) that they do not seem useful at all for programming.
Sun Nov 16 16:55:08 MST 2008
All right, trying out comments. They'll probably immediately go down again if I start getting comment spammed, but if that happens, I'll see about getting a spam filter set up :)
Sat Nov 15 02:23:46 MST 2008
All right, in response to some feedback about the pain in hunting down gljs dependencies, here is
gljs-light :) .
This one is nothing but JavaScript + openGL, so no audio or anything else to get. I still don't have a Windows build, but I've made sure to wrap the explicitly non-Windows bits in #ifdef XP_WIN directives (which is the JS directive for on Windows, cheers).
Sat Oct 25 22:22:37 MST 2008
Sun Oct 19 17:02:45 MST 2008
So, another entry for the old YakYak Programming Forum contest. This month's theme was "Interactive Thing". I was actually a little burnt out on software toys, as I'd been doing so many of them lately, I worked on something less art, more engineering.
I started with an issue that I have, which is that making and debugging 3D games is such a pain in the ass. I asked myself, why isn't working with openGL as easy as working on a web page.
So, I took my favorite web development language (JavaScript) and embedded it into an openGL rendering context. It's simple and effective.
It's easy to hack on the application code while it's running. Instead of compiling and restarting every time you make a change, you can watch the changes happen instantly. Make sure to use a text editor that releases the file lock after loading. TextPad and SCite are okay, but Notepad is no good, IIRC.
You can download the
gljs source code and give it a go. No licenses or what-not, although I did use NeHe's base project, and a bunch of different open source projects. Generally, I steer away from encumbering licenses, so you should be safe if you want to take this project and turn it into an application of your own.
In fact, if anyone does anything with this project, I'd love to hear about it :)
prev
next