This week I've been focusing on the high level plan. What is the basics of the story I'm trying to tell and how is the character going to advance through the game? And I discovered something interesting with the mechanics as I've got them.
My hit mechanics currently work by subtracting the enemies armour from the player's "to hit" and using the result as the percentage chance of scoring a hit. What's interesting here is lets say you have two weapons, one which hits 100 percent of the time for 8 damage and one which hits 75 percent of the time for 12 damage. In this case you would prefer the one which only hit 75 percent of the time, becasue on average it will do 9 damage.
Now, if you meet a monster that has 50 armour, suddenly things change. Doing 8 damage 50 percent of the time is 4 damage on average while 12 damage 25 percent of the time is 3 damage. In other words, which weapon I prefer depends on what I'm fighting.
This is good because it means that there is more choice in the game play. This is bad because it makes it harder to balance. I've been trying to work out how to ensure I've got a good balance to the game while maximizing player choice, but I'm not quite there yet. I've broken out the spreadsheet and slowly my eyes have begun to bleed, but it will be worth it in the end.
Process Space
Friday 29 July 2011
Friday 22 July 2011
Latham version 0.1
It's been a month and a bit. I've been lax. I got less done in a week than I should have, then continued not posting my changes and making less change than I was happy with. But I've now gotten enough done that I feel I can start on the content creation process. It's going to take many months to get something done, but I'm going to commit to posting something every week.
Anyhow, here's the engine as it stands:
You can see all of this in action here.
Anyhow, here's the engine as it stands:
- Separated engine from level, meaning a single page for all levels, with the level being loaded in dynamically. This also means that other people will be able to create their own levels (currently without documentation) and play them without any trouble.
- Save states and check points, so that a game can be played over multiple sessions.
- Weapons and armor, so that the player can improve over multiple sessions.
- A front end menu system, making it so that I can let players reset their save state and play again from the beginning
- I also added WASD controls so that the arrow key scrolling problem went away.
You can see all of this in action here.
Thursday 16 June 2011
HTML Test II
So, over the past week I've added:
Edit: It appears that when viewed in the blog roll, my previous test overrides this one. I was kind of expecting something like this to happen, but the preview didn't let me test it. So, while I figure out how to fix this problem, if you want to try the new version, open this post in its own window.
Edit 2: After playing around for a bit, I got the correct display working, but the input was all being grabbed by the previous test. Then I discovered jump breaks. Horay for forcing the user to make an extra interaction before they can view the content!
- Scrolling the view when you get to the edge of it (allowing maps larger than the view area)
- Objects that can be used to block movement
- Objects that can be used as triggers (both on move over and attempt to move into when the space is blocked)
- Triggers teleporting the player to other locations and other maps
- Triggers changing the type of a tile (how it looks and whether it blocks movement)
- Triggers displaying a message to the player
- Multistate objects (different states have different behaviours)
- Triggers changing the global state
- Objects that are enemies
- Both the player and enemies having health, hit chance and damage done
- Displaying the health of the player and enemies in a health bar
- Simple Combat of the player moving into the space occupied by an enemy
- Displaying the results of combat as a message
- Enemy movement
- Enemy death
- Player death resetting the game
- Triggering a state change on enemy death
Edit: It appears that when viewed in the blog roll, my previous test overrides this one. I was kind of expecting something like this to happen, but the preview didn't let me test it. So, while I figure out how to fix this problem, if you want to try the new version, open this post in its own window.
Edit 2: After playing around for a bit, I got the correct display working, but the input was all being grabbed by the previous test. Then I discovered jump breaks. Horay for forcing the user to make an extra interaction before they can view the content!
Thursday 9 June 2011
HTML Test I
So I'm trying to teach myself html5 to see if I can make simple web games with it. Here's what I've done in the spare bits of time I've had in the past week (please note that I've only tested if this will run in Chrome, so other browsers are 'unsupported'). Use the arrow keys to move around, though there really isn't much to do yet.
Friday 27 May 2011
Technobrega RPG I
While reading Chris Anderson’s book “Free” I read about Brazil’s technobrega culture. In a society where creating a digital copy of a piece of music is essentially free, it doesn’t make sense for a band to make its money off of selling CDs. Rather, the CDs become a marketing device for the band and the money is made via selling tickets to live shows (as well as food, drink and merchandise at those shows). Prior to the show playing within a local community, the show organizers get the latest album music and cover art from the band for free and make lots of copies, effectively becoming a local low cost publishing operation. These are then distributed to local street vendors, again at no real cost to the street vendors, who then sell the latest music of the band at street vendor prices. All of this is completely legit – there is no record label whose copyright is being infringed. It’s just the band, the show organizers and the street vendors.
This is a model of the music industry that the world is moving towards. The difference is that in Brazil this is what the music industry is, while in the rest of the world, this model is still an experimental answer to the ‘problems’ of piracy. And it is a good idea, a good model of the future, and a way by which the customer and the creator can be happy. Giving away the abundant resource (recorded music in the form of digital information) and selling the scarce resource (live music) is just smart economics. But how can this same model transfer to other industries?
Chris Anderson praises games for being at the forefront of giving away content for free as a core business strategy. While large parts of the industry are still in the packaged goods business (including my employers) there are vast experiments taking place online where most or all of the play experience is free to the players. The book “Free” lists five of the most successful business models games use for giving away most of the game experience for free, but in almost all of them what is sold in the end is still a relatively abundant resource. While much of the digital game content is free, the costs are still associated with digital content that is scarce only because the creators artificially limit its distribution. Is there a business model within games that is parallel to the music model of giving the music away for free and selling the concerts? Can we find games where anything that can be easily copied is free and it is only direct connection to the creators that has a cost?
The closest model within games that I am aware of is the table top role playing game. Here there is both an abundant resource (the rules to the game) and a scarce resource (the time and skill of the game masters running the games). However, the business model is backwards; rule books are sold to hobbyist game masters (as well as books with additional tools to help run games) and these game masters in turn run games for their friends, usually for free. The best way for an excellent game master to make money in this model is for them to write their own game rules and sell them.
I am aware of several experiments of game masters selling their services, but I’m only aware of two methods by which this has worked. The first is when the game master sells their ability to run games not to the players directly, but to a context in which the game master is providing a service beyond that of running games. This can be selling their skills to an organization that then gives the sessions away for free (using the free sessions as a draw towards participation in the greater organization) or selling their game sessions to the parents of children who effectively just want a baby sitter, but would rather the child is doing something imaginative and social.
The second successful business model for selling game master skill that I am aware of is when the role playing game is not a sit down event but rather a live action game. In this model, a significant number of people (from 20 to several hundred) come together into a single location to physically act out their characters. The game masters act out the roles of supporting characters within the same environment, and when conflicts evolve between player characters and the world the game masters help facilitate the resolution system.
Because there are usually overhead costs associated with these events (renting a space for play and buying costumes and props for supporting characters) there is often a charge associated for players who come to play. In most cases, this barely covers costs, but I understand that in some instances the money made is enough for at least some of the game masters to survive long enough to plan the next event. This transformation of running a LARP into a career model seems to be especially true in Finland, where the LARP model has been combined with the model of selling the game to parents rather than directly to the participants, creating what is effectively a ‘fantasy summer camp’.
The question for me is whether we can use either of these models as a way to make money off of games online. Can we give away the game for free and charge people to play in moderated multiplayer games? I think the answer is basically yes; I would even suggest that there are already several experiments that have taken the first steps.
The most obvious parallel is the massively multiplayer online game. However, I’m not convinced that this is the same model, even in the case where some portion of the game is given away for free. The important distinguishing feature is that in a sit down RPG or a LARP, there is one or moderators who help the experience along, and whose skill and facility in doing so is at least part of what is being paid for. In the free to play MMO, the associated costs are generally unlocking additional content or tools, both of which are abundant resources that have only been made scarce by design (they are just data). What I am looking for is a case where the skills of a moderator are the resource that is being sold.
Skotos uses a model that is effectively like this. Most players pay to play in moderated worlds, while a few take on the roles of moderators or builders. However, the Skotos model is also not quite what I am suggesting here; there is no free game or tools that can be used or played with independent of the games that players pay Skotos to play in. Further, it is the technology that is being sold at the end of the day; builders and moderators still need to pay Skotos in order to use these tools.
So if no one has done this in full yet, what would the actual game look like? More importantly, why hasn’t anyone made the leap? What are the inherent problems with this model and what can be done to try to mitigate them? I will try to answer these questions in a future post.
This is a model of the music industry that the world is moving towards. The difference is that in Brazil this is what the music industry is, while in the rest of the world, this model is still an experimental answer to the ‘problems’ of piracy. And it is a good idea, a good model of the future, and a way by which the customer and the creator can be happy. Giving away the abundant resource (recorded music in the form of digital information) and selling the scarce resource (live music) is just smart economics. But how can this same model transfer to other industries?
Chris Anderson praises games for being at the forefront of giving away content for free as a core business strategy. While large parts of the industry are still in the packaged goods business (including my employers) there are vast experiments taking place online where most or all of the play experience is free to the players. The book “Free” lists five of the most successful business models games use for giving away most of the game experience for free, but in almost all of them what is sold in the end is still a relatively abundant resource. While much of the digital game content is free, the costs are still associated with digital content that is scarce only because the creators artificially limit its distribution. Is there a business model within games that is parallel to the music model of giving the music away for free and selling the concerts? Can we find games where anything that can be easily copied is free and it is only direct connection to the creators that has a cost?
The closest model within games that I am aware of is the table top role playing game. Here there is both an abundant resource (the rules to the game) and a scarce resource (the time and skill of the game masters running the games). However, the business model is backwards; rule books are sold to hobbyist game masters (as well as books with additional tools to help run games) and these game masters in turn run games for their friends, usually for free. The best way for an excellent game master to make money in this model is for them to write their own game rules and sell them.
I am aware of several experiments of game masters selling their services, but I’m only aware of two methods by which this has worked. The first is when the game master sells their ability to run games not to the players directly, but to a context in which the game master is providing a service beyond that of running games. This can be selling their skills to an organization that then gives the sessions away for free (using the free sessions as a draw towards participation in the greater organization) or selling their game sessions to the parents of children who effectively just want a baby sitter, but would rather the child is doing something imaginative and social.
The second successful business model for selling game master skill that I am aware of is when the role playing game is not a sit down event but rather a live action game. In this model, a significant number of people (from 20 to several hundred) come together into a single location to physically act out their characters. The game masters act out the roles of supporting characters within the same environment, and when conflicts evolve between player characters and the world the game masters help facilitate the resolution system.
Because there are usually overhead costs associated with these events (renting a space for play and buying costumes and props for supporting characters) there is often a charge associated for players who come to play. In most cases, this barely covers costs, but I understand that in some instances the money made is enough for at least some of the game masters to survive long enough to plan the next event. This transformation of running a LARP into a career model seems to be especially true in Finland, where the LARP model has been combined with the model of selling the game to parents rather than directly to the participants, creating what is effectively a ‘fantasy summer camp’.
The question for me is whether we can use either of these models as a way to make money off of games online. Can we give away the game for free and charge people to play in moderated multiplayer games? I think the answer is basically yes; I would even suggest that there are already several experiments that have taken the first steps.
The most obvious parallel is the massively multiplayer online game. However, I’m not convinced that this is the same model, even in the case where some portion of the game is given away for free. The important distinguishing feature is that in a sit down RPG or a LARP, there is one or moderators who help the experience along, and whose skill and facility in doing so is at least part of what is being paid for. In the free to play MMO, the associated costs are generally unlocking additional content or tools, both of which are abundant resources that have only been made scarce by design (they are just data). What I am looking for is a case where the skills of a moderator are the resource that is being sold.
Skotos uses a model that is effectively like this. Most players pay to play in moderated worlds, while a few take on the roles of moderators or builders. However, the Skotos model is also not quite what I am suggesting here; there is no free game or tools that can be used or played with independent of the games that players pay Skotos to play in. Further, it is the technology that is being sold at the end of the day; builders and moderators still need to pay Skotos in order to use these tools.
So if no one has done this in full yet, what would the actual game look like? More importantly, why hasn’t anyone made the leap? What are the inherent problems with this model and what can be done to try to mitigate them? I will try to answer these questions in a future post.
Friday 20 May 2011
Artificial Immortality III
I’ve previously looked at why digitally uploading my consciousness is not the same as immortality. Even if I create a simulation of myself that is for all intents and purposes identical to me, I will still die. But the copy won’t. It will go on living for as long as there are computers for it to run on, right?
Wrong.
To see why not, we need to look back at what destructive uploading actually means as well as the nature of file transfers. Destructive uploading is not immortality for the same reason that non-destructive uploading is not immortality. Creating a copy does not prevent the original from dying. Just because I don’t wake up from the destructive upload, doesn’t mean that the simulation is now the original. Destructive uploading is suicide, with the benefit of creating a sibling-child. It may be worth it if you are terminally ill, but it is merely a compromise with inevitability, not a cure for death.
Now, file transfers; they aren’t really transfers at all. When I give you a digital piece of music, I don’t lose the original. Likewise if I ‘transfer’ the music from my home computer to my work computer; the music now exists in both places. When ‘transferring’ a word document that I am actively working on, the copy at work may diverge from the copy at home, and when I ‘transfer’ it back I may overwrite the copy at home. The original is now gone, and there are only two copies extant.
Once the file being ‘transferred’ is no longer a piece of music or a word document, but a human personality that learns and changes, overwriting it or deleting it is murder. When a digital intelligence is transferred to another computer, what we are in fact doing is creating a new digital intelligence, not moving the digital intelligence from one location to another.
Now, there may be digital intelligences that choose to let themselves not continue on the original computer. They may rationalise it away as moving to a different location – but because we know that this movement is really just copying, we know that this rationalisation is really an avoidance of the truth of suicide. Besides, why would a digital intelligence choose to not continue existing? What if something goes wrong with the transferring process?
This realisation reveals the truth behind two more dreams of the digital upload. We’ve already destroyed the myth of human immortality, now we’ll do the same to the digital vacation on the moon and finally to digital immortality itself.
In the imagined world of digital personalities, there is the belief that these intelligences have huge freedom of movement because they are ‘just information’. They could have themselves beamed to a robot deployed on the moon in order to spend a bit of time vacationing. But if all digital ‘movement’ is in fact copying, then the original intelligence never goes to the moon. Sure, a copy can be sent that gets the experience of living on the moon, and a copy of that can be sent back to share with the original, but it’s not going to replace that original. Instead we’ll have a proliferation of sibling-children. And what of the robot still on the moon? The next ‘vacationing’ digital intelligence to inhabit that body will need to kill the personality residing there first. The trip to the moon is no longer a vacation; it’s sending your sibling-children off in emigration. Useful for colonization purposes (it’s still easier to send a robot to the moon than a biological entity), but not the promissed high mobility for digital intelligences.
Now, back to digital immortality. We’ve seen that once the intelligence is embedded on a computer, it will stay there. It may create sibling-children on other machines, but these will not be the same as itself. The problem comes when we look at the hardware. Currently computers have a shelf life shorter than humans. They get old and stop functioning. I replace my home computer at least once every five years, and throw out computers older than a decade. If these computers were the matrix for a digital intelligence, then the digital intelligence would slow down and die.
Uploading is not immortality. It is quite the opposite. Uploading one’s consciousness means that you (or rather your sibling-children) will experience death many times. Uploading may still be worth it for other reasons, but personal immortality (and digital mobility) is not one of them.
Wrong.
To see why not, we need to look back at what destructive uploading actually means as well as the nature of file transfers. Destructive uploading is not immortality for the same reason that non-destructive uploading is not immortality. Creating a copy does not prevent the original from dying. Just because I don’t wake up from the destructive upload, doesn’t mean that the simulation is now the original. Destructive uploading is suicide, with the benefit of creating a sibling-child. It may be worth it if you are terminally ill, but it is merely a compromise with inevitability, not a cure for death.
Now, file transfers; they aren’t really transfers at all. When I give you a digital piece of music, I don’t lose the original. Likewise if I ‘transfer’ the music from my home computer to my work computer; the music now exists in both places. When ‘transferring’ a word document that I am actively working on, the copy at work may diverge from the copy at home, and when I ‘transfer’ it back I may overwrite the copy at home. The original is now gone, and there are only two copies extant.
Once the file being ‘transferred’ is no longer a piece of music or a word document, but a human personality that learns and changes, overwriting it or deleting it is murder. When a digital intelligence is transferred to another computer, what we are in fact doing is creating a new digital intelligence, not moving the digital intelligence from one location to another.
Now, there may be digital intelligences that choose to let themselves not continue on the original computer. They may rationalise it away as moving to a different location – but because we know that this movement is really just copying, we know that this rationalisation is really an avoidance of the truth of suicide. Besides, why would a digital intelligence choose to not continue existing? What if something goes wrong with the transferring process?
This realisation reveals the truth behind two more dreams of the digital upload. We’ve already destroyed the myth of human immortality, now we’ll do the same to the digital vacation on the moon and finally to digital immortality itself.
In the imagined world of digital personalities, there is the belief that these intelligences have huge freedom of movement because they are ‘just information’. They could have themselves beamed to a robot deployed on the moon in order to spend a bit of time vacationing. But if all digital ‘movement’ is in fact copying, then the original intelligence never goes to the moon. Sure, a copy can be sent that gets the experience of living on the moon, and a copy of that can be sent back to share with the original, but it’s not going to replace that original. Instead we’ll have a proliferation of sibling-children. And what of the robot still on the moon? The next ‘vacationing’ digital intelligence to inhabit that body will need to kill the personality residing there first. The trip to the moon is no longer a vacation; it’s sending your sibling-children off in emigration. Useful for colonization purposes (it’s still easier to send a robot to the moon than a biological entity), but not the promissed high mobility for digital intelligences.
Now, back to digital immortality. We’ve seen that once the intelligence is embedded on a computer, it will stay there. It may create sibling-children on other machines, but these will not be the same as itself. The problem comes when we look at the hardware. Currently computers have a shelf life shorter than humans. They get old and stop functioning. I replace my home computer at least once every five years, and throw out computers older than a decade. If these computers were the matrix for a digital intelligence, then the digital intelligence would slow down and die.
Uploading is not immortality. It is quite the opposite. Uploading one’s consciousness means that you (or rather your sibling-children) will experience death many times. Uploading may still be worth it for other reasons, but personal immortality (and digital mobility) is not one of them.
Wednesday 11 May 2011
Artificial Immortality, Part II
Yesterday I presented how AI could be used as a bid for immortality. If an AI created based on a scan of me is indistinguishable from me, then isn’t it me? If I go to sleep and wake up inside a computer, haven’t I become immortal (or at least a life as long as that of the universe)? If my thought process continues uninterrupted, if I still think of myself as me, who’s to say that I haven’t successfully supped from the fountain of eternal life?
I am. I say that this process is a sham. We cannot gain immortality through the uploading of consciousness and here’s why.
There are generally two ways that ‘uploading’ is thought to happen: destructive and non-destructive. The difference between these is whether or not your body and mind are destroyed in the process of recording before a simulation of you is created on the computer. Destructive uploading is the more commonly considered, partly because it is imagined that cutting up the brain is going to lead to better scans and partly because then there isn’t the problem of there being two of you at the same time. But I don’t think destructive uploading is going to be the future we will live.
Thinking systems are self-organising systems. In order to create a model of how a system that self organises through processes works, we need to examine it while it is performing this process. In other words, the brain is more than the sum of its parts; it is the interactions between them. In order to effectively record someone’s brain, we can’t chop it up into pieces first. A person’s brain will need to still be functioning as it normally would in order to be recorded.
It may be possible to get around this, and it may even be easier to get around this than it is to use a non-destructive uploading technique, but I doubt it. For the sake of argument, let us assume that the only uploading method is destructive. Here’s the problem: it’s not going to have a 100% success rate. Some people undergoing the uploading process are going to die instead of becoming ‘immortal’ and that is not a risk that many people are going to be willing to take. In fact, most people would rather wait to see if something better is going to come along in the near future (such as a non-destructive upload) than take an unnecessary risk of death. The only people who will consider this option is those who know they only have a short while to live – a minority most people hope to never be part of. If the only shot at immortality requires one to know that one is about to die then it doesn’t seem like a very good deal anymore.
However, non-destructive uploading is a more likely alternative, at least in the long run. Here there is no chance that you are going to die, and when the upload is done you can see that it has definitely been successful. But here the problem is that there are now two of you, and one of you is still in a biological body that is going to die. I used to think this didn’t matter, that since there was now two of me and since we both had the same memories then I would be immortal. Any time I uploaded myself, I would effectively be flipping a coin, and half the time I would be immortal.
I’m still tempted to believe this argument, but the problem is that there is a definite original and a definite copy. Unlike digital copies of music, it is important to someone which copy is the original and which is the copy. Specifically, it is important to both the original and the copy, and which is which is completely obvious. The one in the organic body is the original. I am fairly sure that my psychological considerations of myself will change if I know I am a copy. Most importantly for the current discussion, I will not think that the original has gained immortality.
While at the point of copying my two selves will be identical, they will quickly diverge. To a casual observer, the difference may not be great, but to me… well, I wouldn’t want to assume that the other ‘me’ had enough of the same thoughts since the divergence to still be considered the same as me. So even from the perspective of similarity, I would not have gained immortality. The only perspective from which I would have gained immortality is from the perspective of creating sibling-children, and that may be worth it alone, in much the same way that having children the ‘normal’ way is worth it.
I like myself, and so I imagine I would also like people who thought exactly like me (either that, or I would find them incredible annoying). I also trust myself, and believe I would trust those who were my sibling-children. Lastly, I believe that anyone who thought exactly like me would be easier to understand and be understood by. These all seem like excellent reasons to go through with a non-destructive upload. They give me as many people to work with as I want, all of whom I like and trust, and all of whom understand what I say with very little effort on my part. Together, we could do anything! (Or at least anything that I can already do, albeit faster and more compartmentalized.)
I am. I say that this process is a sham. We cannot gain immortality through the uploading of consciousness and here’s why.
There are generally two ways that ‘uploading’ is thought to happen: destructive and non-destructive. The difference between these is whether or not your body and mind are destroyed in the process of recording before a simulation of you is created on the computer. Destructive uploading is the more commonly considered, partly because it is imagined that cutting up the brain is going to lead to better scans and partly because then there isn’t the problem of there being two of you at the same time. But I don’t think destructive uploading is going to be the future we will live.
Thinking systems are self-organising systems. In order to create a model of how a system that self organises through processes works, we need to examine it while it is performing this process. In other words, the brain is more than the sum of its parts; it is the interactions between them. In order to effectively record someone’s brain, we can’t chop it up into pieces first. A person’s brain will need to still be functioning as it normally would in order to be recorded.
It may be possible to get around this, and it may even be easier to get around this than it is to use a non-destructive uploading technique, but I doubt it. For the sake of argument, let us assume that the only uploading method is destructive. Here’s the problem: it’s not going to have a 100% success rate. Some people undergoing the uploading process are going to die instead of becoming ‘immortal’ and that is not a risk that many people are going to be willing to take. In fact, most people would rather wait to see if something better is going to come along in the near future (such as a non-destructive upload) than take an unnecessary risk of death. The only people who will consider this option is those who know they only have a short while to live – a minority most people hope to never be part of. If the only shot at immortality requires one to know that one is about to die then it doesn’t seem like a very good deal anymore.
However, non-destructive uploading is a more likely alternative, at least in the long run. Here there is no chance that you are going to die, and when the upload is done you can see that it has definitely been successful. But here the problem is that there are now two of you, and one of you is still in a biological body that is going to die. I used to think this didn’t matter, that since there was now two of me and since we both had the same memories then I would be immortal. Any time I uploaded myself, I would effectively be flipping a coin, and half the time I would be immortal.
I’m still tempted to believe this argument, but the problem is that there is a definite original and a definite copy. Unlike digital copies of music, it is important to someone which copy is the original and which is the copy. Specifically, it is important to both the original and the copy, and which is which is completely obvious. The one in the organic body is the original. I am fairly sure that my psychological considerations of myself will change if I know I am a copy. Most importantly for the current discussion, I will not think that the original has gained immortality.
While at the point of copying my two selves will be identical, they will quickly diverge. To a casual observer, the difference may not be great, but to me… well, I wouldn’t want to assume that the other ‘me’ had enough of the same thoughts since the divergence to still be considered the same as me. So even from the perspective of similarity, I would not have gained immortality. The only perspective from which I would have gained immortality is from the perspective of creating sibling-children, and that may be worth it alone, in much the same way that having children the ‘normal’ way is worth it.
I like myself, and so I imagine I would also like people who thought exactly like me (either that, or I would find them incredible annoying). I also trust myself, and believe I would trust those who were my sibling-children. Lastly, I believe that anyone who thought exactly like me would be easier to understand and be understood by. These all seem like excellent reasons to go through with a non-destructive upload. They give me as many people to work with as I want, all of whom I like and trust, and all of whom understand what I say with very little effort on my part. Together, we could do anything! (Or at least anything that I can already do, albeit faster and more compartmentalized.)
Subscribe to:
Posts (Atom)