Category Archives: Current Projects

Hibernation Over

Well, I haven’t posted anything since October, and frankly I haven’t done much since October save for a bit of job searching that didn’t go anywhere. I think part of the problem is my lack of a portfolio. I haven’t finished my SimpleBlog or even worked on it in months, but I still have my Tile Matching Game to show off, so that’s what I’m going to do.

The first thing I’m doing today is getting a portfolio link page set up here on my ElectricSquirrel.net coding blog.

1:28pm – Work begins. Loading up FileZilla to find the last edition of my Tile Matching Game. Of course, there’s a new version of FileZilla to download, so while that’s going I’ll write up a description of the Tile Matching Game in the blank new page I’ve got open in annother window.

1:46pm – I’ve added the page, but something went wrong with WordPress and instead of loading the page when you click the button, it takes you to a list of dirctory contents. Not good.

1:51pm – Oh for goodness sake, I already had a ‘Portfolio’ folder and now it’s linked to by the page. I should be able to fix that…

Alright that worked fine.

I should also add the two websites I worked on to the Portfolio page.

2:03pm – Alright I added the websites to my portfolio. Hopefully now people will come to my coding blog and say ‘Oh, this person has done things before! We should totally hire them!’ and not ‘This person may be a college grad, but how do I know they know their stuff?’

We shall see!

I’ll admit I thought this would take more than a half hour to do. I suppose I should get to work on my other hibernating project, my SimpleBlog.

First, where did I leave off…

Ahh, it looks like I last did some work in December, I just didn’t write about it here on my Coding blog for whatever reason.

2:35pm – Ahh yes, I was struggling with pagination for moving through the entries in the blog, and had just solved the problem. The next stage of the blog is a difficult one; logging in.

2:56pm – I’m not really making any progress. I need to take a break and read up on the techs I was using before.

SimpleBlog Work Post

Last time, I put together the basic HTML of the simple blog. Today I’m going to work out the interchanges.

When a user first comes to the simpleblog index page, they’ll be presented with a list of the ten most recent entries, a login form, and buttons to display the next ten or previous ten entries chronologically.

So the first thing that has to happen is that the page must ask the controller for the ten most recent blog entries. This means the controller must ask the model for the ten most recent blog entries, to share them with the view, the page.

If the user enters data in the login form and presses the login button, the page must give that data to the controller to compare it with the login data in the MySQL database. I’ll enter that data directly, since it’s a one person blog. So there’ll need to be a model for the login database as well, and functions to access it.

When a user successfully logs into the blog, a persistant field will be created so that the user stays logged in. The sidebar will also be changed to include post and logout buttons via a script, and hide the login form.

When a user is logged in, each post will include edit and delete buttons. Edit will bring up a version of the post page with the data from that post. Delete will bring up a dialog box to confirm, then on confirmation will delete the post.

The post button will bring the user to the post page to allow them to post a new entry.

The Post Page itself will be a simple form with a post button. If the post page is shown in edit mode, it will say confirm edit instead. The post button will create a new post in post mode, or save the changes to a post in edit mode.

In edit mode, the Post page will load a previous post, so there will need to be a function for that in the controller and model, and a function to save over the post.

That should be everything. If I’m missing anything it’ll be discovered along the way.

Now I’m going to bed. It’s been a long day but I’m glad I found time to work on this.

Current Progress

I sure don’t update this blog very much. I had originally intended to use it as a place to host the play-by-plays of my coding trials and triumphs, which I regularly do over on my personal blog. But, I also include personal information in those that I’m not comfortable putting here on my professional blog. It’s quite difficult to balance personal and professional lives, isn’t it?

Most of my work the last month and a half has been focused on completing the PHP project I wasn’t able to complete in college. It’s not that complicated, really, I just haven’t been putting many man-hours into it. Apart from that I’ve been applying for jobs. If you’re reading this, please know that I’m for hire and a current resume can be found in the link bar at the top of this blog.

I’ll post some links to my PHP project as soon as it’s finished, and try to keep posting progress updates here. Thanks for visiting!

The Continuing Experiment

Text Format 1

This is the first format I put together. It has three paragraphs in the main text area to the left, and some text based command buttons on the right. I figure it would replace the whole three paragraphs each time the player did something, so each turn it would be fresh text with no history. The trouble there is that little changes might be easy to miss. I expect that’ll be a problem for all the formats though.

This format would be particularly good for long storylike actions with little player input. Then it would be more like a choose your own adventure rather than a world represented in text. I like this format but I don’t think it’s the right one for this project.

Text Format 2

This is the second text format I’ve tried. It’s a lot more complex than the previous one. I did it up in Flash. It’s made of four textField objects. The two on the left are wider than the ones on the right. In the upper right you’ve got your location, and the static objects. In the upper left you’ve got your senses, feelings, and condition, as well as the time of day. The bottom right has the command menu.

The bottom left is where the action is. It tells you the active elements of the area, and what they’re doing, and where they are. I populated it with a bunch of actions, but I don’t like the way it looks repeating the list of the active elements like that. Also it’s apparent that I’ll have to implement my own scrollbar. I’m kind of surprised that it isn’t built in, but if it was it would probably be ugly anyways. I’m thinking I’ll put the list of active elements back in the upper left area, but then it’ll have to do something to let the player know it’s changed, since their focus will be on the lower left portion of the screen.

A couple of ideas I’ve got are having a box ‘explode’ away from the text as an eyecatch when it changes, and having it erase and slowly re-write, making it clear something is happening by animation. The latter one would be like an old RPG’s text boxes, slowly populating with text as it happens. I’m thinking of doing that with the action area too, to make it feel more like it’s happening as it happens, rather than having the player read over it at their leisure. Then I can work in bold text and special effects, like WHAM! and POW!

I had considered putting lines in to seperate the different sections of the description, but I kind of like it this way. Without the clear boundaries, everything sort of flows together like it’s all part of the same document. One of my biggest problems with some interactive fiction I’ve tried is how intrusive and ugly the sectioning is, seperating elements harshly. Here they’re all together, seperated only by a little blank space.

One more thing I’m considering is giving every mobile it’s own colour for its name. I’m not sure that’s a good idea, though. Right now I’ve got red for dangerous mobiles and objects and yellow for other mobiles, blue for objects and green for locations. Maybe I should stick with that. If mobiles each have their own colour, it might be good for identifying them without reading, but it would be confusing what they’re about. Of course, the text should always say if they’re being aggressive, but some things like that fire are dangerous without being aggressive.

Also, I only coloured a few instances of the names of objects here, but I’m thinking of doing it every time an object is referenced, and having every reference be usable for the context menu. I’ve even considered putting the basic commands menu under the context for You. That would mean I could really minimize the interface and, with that first one, just have the three paragraphs. But, I don’t want to have to re-do text constantly. In text games the most common command is look, just so you don’t have to scroll up to find the room description again. Plus, it could get really annoying having to click on “You” every time you want to use a common command.

Text Format 03

In this version I moved the local active objects to the top portion, which really cleans up the action area, but it only shows your current awareness, like Hank’s name.

I like it so far. I’d like to do a comparison with titles for the different sections, but I’m getting awfully tired, so I’m going to log off and take a nap. Tell me what you think so far!

Tagged , , ,

Formatting Examples

I’m working on some formatting examples right now. I chose and interesting palette for my tests and after some consideration I decided to do the tests in Flash itself, instead of an image editor.

It seemed like the easiest thing to do would be to use Flash’s built in HTML and CSS to do the text formatting, but to my surprise the HTML and CSS implementations in Flash are very basic and feature light. Well, I’m going to try it anyways.

*work work work work work*

Well I’ve done a lot of work and I have some interesting results. But I’m also having an interesting bug. I’ve got two TextField objects in a Sprite on the Stage, and the second TextField object refuses to use the stylesheet. Even when I stop the first TextField from using the stylesheet and asign it directly to the second TextField, it won’t use it. I don’t know what’s up with that. o.o;;

Huh, it works if I put the second one all in a paragraph tag.

Oh well anyways I’m out of time. I’d like to put up a screenshot of what I’ve got so far but the library is closing. I’ll try to have something to show next time.

Tagged , , ,

Formatting the Text Layout

Alright, so the idea is to make a text-based world. What is that? What does it require?

I suppose first I need to decide what it’ll look like. One option would be to make it like this…

You are within a deep forest. There are thick walls of trees to the east and west. There is a blue ball here. A trail leads north and south.

>_

That’s kind of traditional, isn’t it? You type in a command. It wouldn’t be difficult to make the coloured text into links. Hell, since I’m doing this in flash it wouldn’t be difficult to encode the whole thing in html. For that matter I could probably do it all as JavaScript, but I’ll save stuff like that for the future.

One problem with the traditional format is that it doesn’t give you all your options clearly. You’d usually have to use the help command to figure out what all the commands are. I’d like to have options like that clearly displayed on the screen, ready to be clicked. Perhaps you could click or type, at your preference. I want things to be convenient. It’s common to use just one character to operate a command, and annoying when you enter a room and a command is overridden by a local object, or a local object is unexpectedly overwritten by a command you forget about. It’d be nice to incorporate auto-complete, so you know what command you’re putting in like that.

I’m already having a bit of scope creep though, thinking about autocomplete. I should start out with the basics. Rendering a few connected rooms, inside a building, which is insides a closed outside area. Maybe a country Inn. That’s always a great setting.

Another thing I’ve considered using is context menus. When you click on the Blue Ball in my earlier example, what do you do with it? Do you pick it up? Do you kick it? Do you place it on the altar of Grendaline?

When I consider that, I wonder if I should even include the text entry. After all, there’s little to do with it besides guessing at things you can do and having the game say ‘I’m sorry, I don’t know what you mean.’

I want the player to be interacting primarily with the text they’re supposed to be reading, so clicking on it could be a good way of doing that, and using context menus can be good for that. I’ve seen interactive fiction that uses context menus before but it’s been rather horrendously styled, in basic Windows format boxes. Very coarse. One of the things about reading, as with writing, is that you want a very plain interface for the reader to project their imagination on. You don’t want them focused on a dozen widgets and gadgets. I remember some time back, a group of my friends were all excited about a handy web app for writing with no distractions, and a minimum of features. Imagination can be hindered by too much visual noise.

Another thing I’m considering is breaking up the information into seperate sections. This might go against what I was just saying, but I think it’s worth consideration. This would take the D&D approach of having character sheets and reference manuals in front of you; you still have great imagination in that situation.

I’m thinking maybe I could have one area with a text description of the location you’re in, and one with sensual data like smells, moisture, gut feelings, that sort of thing, and another with significant objects and mobiles in the room, along with their positions. I’m not entirely sure how I want to do that.

One way to display the sections would be to put them in seperate quarters of the screen, and filling the extra quarter with hard data and interface stuff like common actions.

Another way I’m thinking of would put the interface and common actions in a thin collumn on the right, with the different text segments rendered into seperate paragraphs. That way it would be clear the first paragraph describes your location, and the second your senses, and the third what is important. It might be good to combine the second and third paragraphs. That’s a thought.

In addition to positioning the information, I wonder about scrolling. Some text games have only one information set on screen at a time, explaining what’s going on at that exact moment. Others will re-write everything as you perform actions, keeping a record of all your actions and everything that happened since you started the game. They both have their flaws and features. I have a personal preference for keeping the information from scrolling. For one thing, it’s easy to lose your place reading when the text scrolls up. On the other hand, if the text disappears when you act again it’s easy to miss something when you push the wrong button. One thing I’ve considered is combining the two, in the multi-pane format. The location only shows you where you are, and not where you’ve been. But at the bottom of the screen there is a record of your actions and interactions, with the important features of the space.

There’s a lot of options for how to format the text display of a world. I would like to experiment with several, to see what works out the best.

I have an appointment in a half hour, but after that I’m thinking of going to the library and putting together some graphical ideas for formatting the text output. Look forward to it!

Tagged , , ,

TextWorld Project

The TextWorld project is going to host my experiments with text based worlds. Text based games have fallen out of favor and into a niche, and I’m all about niches. Most text based games took the form of interactive fiction, where a story unfolded as a player solved puzzles. I might try that eventually, but my primary interest is in rendering worlds in text the way they’re currently rendered in graphics.

Rather than using a strict room layout, I intend to make a world filled with spaces and objects. Each space will have defined area, and connections to other spaces. Each object will have a definite location in the world, including the player. A specific example of how this would work would be the player entering a pub. The pub has a bar against the west wall, tended by a man, and there are three booths against the east wall. The player approaches the bar, and thus the player is near the bar, instead of the entrance, and he is in range to talk to the man.

There’s a lot of things to consider when exploring this format. The bar I just described didn’t have any bar stools, and it left a lot to the imagination. Just how much should be described? What could exist in detail, that you wouldn’t want in the overview? I look forward to experimenting with that.

I may also try combining text environments with graphics. Particularly simple graphics. I’m somewhat fond of roguelikes, but they leave a lot to the imagination. That can be good, but I think that some information would help a lot. You enter a room, what is the atmosphere? Is it damp? Is it smelly? Does it have an aura of terrifying evil that chills you to the bone? Smells, sounds, textures, these aren’t things you can easily translate with graphics, especially ascii or stylized tiles.

Coloured text is another thing I want to try. I think that can really draw out elements that are otherwise looked over. I know that when I’m playing a text game, a lot of material repeats and I end up skipping over it, and not noticing when something is new or different or important.

If there’s something dangerous in the room, it should be DANGER coloured. If there’s something usable in the room, it should be USABLE coloured. If there’s a Mobile, an Exit, etc, they should stand out.

Well, before I can do anything I need to decide what I have to do. I’ll do that in another entry. This entry is going to stay here and explain what the project is. Thanks for following me!

Tagged ,

Tile Matching Game

For the last two years I’ve been working on a simple Tile Matching Game in Flash and ActionScript 3. At present the game is functionally complete, and I am only waiting for the comissioned art and sound resources to be completed so that I can integrate them into the finished product.

I started this project with one primary goal, to create a finished and polished game, and not work on any other projects untill it’s finished. Starting out, the projet seemed simple. Looking back, it still seems simple. I don’t understand how it’s taken me two years to create. I have learned quite a lot though. Perhaps if I were to do it all again, it would go much faster.

As soon as I get the new resources, I’ll integrate them into the game and start the final phases of testing, to make sure everything is still working. I look forward to sharing my finished work with you all.

Tagged , ,