Brain Dump: Pondering map elevations
Posted by: Owen, 16 Feb 2013 19:25
Just writing this down in order to think my way through it.

So I'm building levels for the game and I've gotten to this point where I want to have the player climb up a spiraling tower. As the player ascends, the areas at a higher elevation, i.e. beyond the cliff face, will remain hidden but the areas on lower elevations can be seen (within the players current light). Also if the player walks off the cliff edge then she will fall over the cliff (without player control) and land on the flat lower floor.

[Read more...]
Tags: Games, Programming, Fog of War, Metaplace
Comments: (1)
IGSDublin: Save The Zombies!
Posted by: Owen, 17 Mar 2011 05:35
Last month I attended the first of what is hoped to be a series of monthly indie game developer events in Dublin called Indie Games Space, organised by gamedevelopers.ie and held in Film Base in Temple Bar. It is a chance for independent developers to get together, show off their work, listen to a talk and work on a monthly design challenge (and get free t-shirts from the guys at havok! Thanks!).

Last month, Paul Conway showed and talked about the development process of his great Dragon Age addon Craggy Island.
For the challenge you could work in groups or solo (and being the unsocial hermit that I am, I went solo, naturally) to design and implement a game based on two themes. For this first challenge the themes were disease pandemic and failure. An extra 'unofficial' condition was then tagged on... "no zombies"! Blatant discrimination!

Seeing as how there are already pandemic games dealing with the global scale, I started thinking on a more local scale, but still involving infection vectors in populations (yeah, so not really pandemic at all).
I had originally been thinking of having a virus trying to spread throughout a group, but being combated by a genetic 'cure' that was also spreading through the population. I was going along the lines of having single gene recessive/dominant phenotype resistance to the virus, so that there could be simple varying degrees of protection. This ended up getting a bit too complicated, including the need for a reproducing population and that would have just gotten messy, in more ways than one. It was also becoming more of a simulation and less of a game.

So I ended up slightly reworking it so that it became VvV... Virus verses Virus. It is a two-player game where each player has to create a virus that infects and kills the fewest amount of people. The virus with the lowest score wins (the failure theme).

So I made it...



Ah... yeah, zombies.
I only used them as I was going to use the isometric engine I had been making last year (and promptly ignored) and the only avatar spritesheets I had to hand were Brookes Metaplace zombies, so I decided to use them. Otherwise it would have had to be squirrels!

Players change a simple set of sliders to alter the attributes of the viruses, which effect how they spread and survive.

  • Range: is simply how close another zombie has to be before it possibly be infected by a contagious zombie.
  • Incubation: determines how soon a zombie becomes contagious after being infected (the smaller the bar the sooner)
  • Infectiousness: is how aggressively a virus will try to infect
  • Lethality: is how easily the virus will kill (this also plays a role with incubation time)
  • Durability: is how well the virus can survive in the host zombie
Making one attribute less effective made others more effective.

Each zombie gets both a random generic health and immunity values to help fight off the viruses, so there are differences from one zombie to the next on how they will cope.

Another degree of randomness is the fact that zombies are constantly wandering around the map.

"all we wanna do is infect your brains"

Your initially infected zombie could walk into a corner and never spread its virus before it manages to get rid of it itself.
The game starts by randomly infecting one zombie for each virus. I probably should have allowed players to examine the initial state of the map and then select their preferred zombie to infect.

Each infection scores one point, each death three. Each game takes a couple of minutes, although sometimes it can drag on when those damn brain eaters refuse to just die; the game ends when their are either no zombies left 'alive' or there are no current infections. Otherwise you can just end it prematurely.


Infected and contagious zombies... poor little things


So there it is. It's not at all balanced and there are probably some show-stopping bugs in there somewhere, but it works for the most part for me. Any feedback would be welcome. Comment below!



I should probably get back to working on something that might make some money now. Speaking of which, I must post about how Trinhex and Blockdown have done since my last post.
Tags: Games, Programming, Flash, Metaplace, Trinhex, Blockdown, gamedevelopers.ie, IGSDublin, Save the Zombies
Comments: (3)
Metaplace asset grabber
Posted by: Owen, 28 Dec 2009 20:43
I've put together an asset grabber for Metaplace to make it easier for users to download scripts, images, sounds, tiles & maps (for each place) and initial tag stream from their various worlds. This is basically a mini client that connects to a world and parses the lists of assets that are normally sent to clients.

A few things to be aware of:
  • The username supplied is case-sensitive and must be exactly the same as displayed on your metaplace profile. e.g. Obo not obo.
  • You are required to provide your metaplace password. Just be aware this is not an official metaplace service! That said, your password will not be stored anywhere. Just be aware of any similar service that does as for your password.
  • Once you submit the form nothing will appear to happen other than the browser will appear to be connecting to oscan.net. This is the way it currently works, so just let it be! Once it has grabbed all the assets it will pack them into a Zip file and then give you a prompt to download it. Don't hit the submit button twice!
  • This process may take a while for large worlds, so BE PATIENT! If the browser looks like it is doing something then just let it work away.
  • Where possible use the "local only" option to only get 0:x assets if you don't need everything from the world.
  • If you get an error link "could not connect to game04.metaplace.com:5101" then try again later. Your login session tried to connect to a server and/or port my web host hasn't put on the white-list to allow connections.
  • If an asset could not be downloaded it should be listed in the error_log provided in the zip file.
  • While it works for me it very well might break, and there is not much time left to allow more testing! If something goes wrong leave a comment here or use the contact page and I'll try and track down the problem.

So here if the link...
http://oscan.net/metaplace/asset_grab/

I'll see about making it easier, more foolproof, to use in the next few days if needed.

[edit]

Fixed an issue with the content of downloaded scripts being a web-api error message like...

[S_ERROR]|110|web_api|You have exceeded the maximum of 50 requests per minute.

Too lazy to check if there was an actual error, so I just rate limited it to one script per second, or three seconds for every tenth script.

I also altered the 'Local Only' option so that you could set a specific worldscope, instead of just 0:x.

[edit 1st Jan]
For some reason access to the game servers got blocked again, so this wasn't working from around some time last night. Should be up and running again (apart from the bits that don't work :P).
Tags: Metaplace, Programming
Comments: (5)
Moving on (or back) to Flash
Posted by: Owen, 27 Dec 2009 20:34
With the closing of Metaplace a lot of its users are now asking themselves "where to now?". Some are looking for another social hangout, others, like myself are thinking more about game development environments. There has been a lot of talk about Unity 3D, which I've been meaning to have a look at for a while, but first I think I'm going to try out Flash... again (although to be pedantic it'll be Flex).

After my 'success' of creating That Falling Block Game on Metaplace (okay, okay, I'll finally admit it... It's TETRIS!), and buoyed by the success stories of others, I thought I could try my hand at creating a real flash game rather than trying to contort a virtual world platform into one. So last summer, after finally figuring out you could create flash apps for free with the command line flex compiler (therefore avoiding the need to spend hundreds on the Flash development program) I started to make a flash game!

Adventures in Actionscript
The scripting language, ActionScript, had changed a bit since I had last played around with it, so I used this great tutorial for making games in flex to get myself up to speed (since AS is from the same family as JavaScript it wasn't too hard to get in to).

I had decided to try and make a Peggle like hit-the-targets-with-the-bouncing-ball game, just without gravity. That was probably my first mistake; wrangling with physics while trying to learn the ins and outs of a platform is probably not the best idea. My second, and most likely biggest, mistake was to write all that physics interaction myself, rather than use a 3rd party library. It seemed a somewhat reasonable decision; there was only going to be one moving object, with everything it could collide with being stationary (walls, circles and slingshotting around black holes). I had worked on this game on and off over three months of the summer and most of that time was spent trying to get one ball to bounce correctly off those various surfaces, or ensuring that it would bounce at all and not just pass through the object.

Ultimately it was never finished. The last version of the game was complied on the 27th of August, full of debug code...

(hit r to reset if the ball gets stuck somewhere)

The aim of the game was:
  • Hit each of the targets in sequence. There could be up to eight, where they were coloured red, orange, yellow, etc. Each time you hit the next in the sequence it played a musical note on a scale.
  • The player first places the ball within a small starting area and then aims where to shoot the ball (fine-aim with mouse-wheel or x/c). From then on the player has no control as the ball bounces around the level, hitting targets and traps.
  • You started out with 3 hit-points. Each time you hit the next in the sequence you got an extra hit-point. Each time you hit some spikes you lost a hit point.
  • When you got to 0 hp the level reset.
  • Getting too close to a black-hole and falling in would reset the level.
  • If you have more than 3 hp you could spend 3 hp to stop the ball in its tracks so that you could re-aim without resetting the level (single-click while ball is moving).
  • When aiming you could increase or decrease the length of the aiming guide line (up or down keys), which would have modified the amount of points you could get (the longer the line the fewer points you would would get during the level)
  • For each level there would be at least one way to aim the ball in such a way that you could hit each target without losing any hit-points (a perfect completion)

Those last two were what probably lead to me dropping the project (or at least turning a break into an indefinite break). Although there were still some annoying collision bugs to iron out, most had been taken care of and I was beginning to move on to actually creating levels. I hadn't made a level editor, instead defining the levels in text files as a list of objects and their positions and orientations. This is what originally lead to the extendible aim guide in order to try and find at least one perfect route per level. It was a rather clumsy way to go about building a level; I'd enter an object into the text file, recompile the flash movie, play the level to see how it interacts with the path of the ball, make adjustments in the text file etc. etc., all the while the aim guide was buggy in its own collision detection.

Luckily before I got too far in this mind numbing process I noticed something odd about how the ball would bounce off the circular targets. A small difference in the approach trajectory of the ball to a circular target made a larger difference in the departing trajectory. When trying to aim the ball so it would hit multiple circular targets in succession, a tiny initial fine-tuning in aim resulted in a massive difference in the path after a few bounces. Whether this is just a property of collisions between circles or as a result of my code, it would have taken the only form of skill and control away from the player, leaving them with just a shoot and hope strategy, as well as making an already painful level creation process near impossible.

I decided to put it all aside for a while, but then never revisited it to find the actual cause.

Back to square one
With my impending post-Metaplace attempt at entering the flash game scene, I hope I'll have learnt the lessons of my previous effort and start out with something a bit less chaotic. A bit more mundane. Like a colour-matching game!
It was in the middle of my 3,487th game of spider solitaire (on medium I must admit) that I thought 'I could turn this into a simple match-5 game, with coloured shapes in place of suited cards!'

So come January 2nd that shall be my task, and I give myself... oh, lets say two weeks to get it done!
Tags: Metaplace, Flash, Programming, Games
Comments: (0)
Metaplace is dead. Long live Metaplace!
Posted by: Owen, 22 Dec 2009 22:29
So we got the news yesterday that Metaplace.com will be closing down as a User Generated Content platform at the end of the year, a little over two years since alpha testing first began. My sentiments pretty much echo those of Crwth. Metaplace had the right ingredients, but perhaps just needed a pinch of something or other and a little bit longer to cook before serving.

I first got my hands on Metaplace, after following it from its announcement, only a few months after alpha testing started; and other than a handful of days where I hadn't been online, I've been there every day since. Even during the weeks when I didn't even touch the building tools I was always sitting in Plain Old Chat keeping up to date with the goings on of the community.

To me Metaplace was a way to help me understand the making of games, providing an engine for rapid prototyping and a great way to get rapid feedback from the community. I tried a number of projects with varying levels of success, the best of which ended up as featured content in Metaplace Central.





Initially I thought the appeal of Metaplace was that it was going to allow people to make their own little mini MMOs (mMO?), but for a large part the visible community ended up being a bunch of 12 year olds pretending to be 14 year olds looking for 'boyfriends' and 'girlfriends', whatever that means in a virtual context. The more dedicated builders began to retreat into various unseen corners while still creating some great content in the form of Adventure games or Platform games or other interesting experiments.

Over time I had been making little MMO systems, such as health bars and skill toolbars, for people to use to try and make games; although I could probably have made them a bit easier to use! I only just recently started to pull these together myself in an attempt to create a group based dungeon crawl. It had been a while since I had made anything in Metaplace and working on this, coding AI, making walls disappear when you walk into a room etc. was getting me excited about the whole thing all over again.


I was also just starting to help work on Crwth's HTML5 client, which I was finding really interesting.
But alas, it is not to be.

I'll be interested to see what now becomes of the Metaplace platform. I'm thinking we will be seeing professionally created games come out of it, rather than the "virtual worlds for everyone" approach.

All the time I spent on Metaplace was time well spent. I learned a lot, got to know some great people, which will all undoubtedly have an effect on whatever future projects I end up working on.
Tags: Metaplace, Games, Programming
Comments: (2)
Anatomy of a very Metaplace hack
Posted by: Owen, 29 Sep 2009 22:10
There are those in the Metaplace community - those who inhabit the dank, dark avatar-less backwaters - who strive to know as much as possible about inner workings of the system. Those who make clients, who probe for weaknesses in closed-source scripts, who still mourn the loss of OutputToUser(), and get very grumpy at undocumented changes.

When server update notes are released they don't just look at new features thinking 'how could I use this in a game?' but also 'how could this be abused?'

[Read more...]
Tags: Metaplace, Programming, hacking
Comments: (1)
The Resource game: mmo prototyping in Metaplace
Posted by: Owen, 28 Sep 2009 22:32
Raph recently gave an interview at the Austin Game Developer Conference, during which the topic of Star Wars Galaxies and its resource system came up. It didn't take much for me to start thinking about the way I wanted to handle resources in Tile Tactics, or the more idealised version in my 'dream mmo'.


[Read more...]
Tags: Metaplace, Tile Tactics, Games, Programming
Comments: (0)
Metaplace: The evolution of Tile Tactics
Posted by: Owen, 26 Jul 2009 23:35
By 2005 I had really started to get more and more interested in game design and development and was building up a bit of a library of books on the subject. I had even started making games, having gone through a few projects over the course of the year (that's not to say any of them were ever finished!). The first of which I had totally forgotten about until I found it again just now.

It was really a project to try and learn some Flash, but as a "Hello World" goes it was a bit over the top. It was a turn-based territorial game that connected to a MySQL database via PHP. The grid that represented the map was built using dynamic 3D elements, so that you could zoom in and out on it and also rotate it.



[Read more...]
Tags: Metaplace, Tile Tactics, Games, Programming, Flash
Comments: (0)
My adventures in Metaplace.
Posted by: Owen, 26 Jul 2009 03:24
I've been a part of the Metaplace alpha/beta test coming up on 16 months now, and I've been having a look back over the various worlds and modules I've made in that time. Since I was a member in the time before Open Beta, when you could create as many worlds as you wanted, there is a lot of stuff to look through. I currently have 100 worlds to my name, which I think could be the most any single tester has (excluding MP staff that is). Of course that is not to say that I've made 100 engaging worlds bursting at the seams with content, in fact the vast majority are empty with names like chat_local_xw_echo, data_template_test and where_does_UI_live! There are a lot of worlds whose sole purpose was to test a single feature or to try and find the source of a bug.

But there are worlds where I did make a genuine attempt at creating something that would be worth visiting (I must stress attempt). There are also a number of modules I've made in that time; some useful, some broken, some unfinished. So I thought I'd perhaps take some time to chronicle my experiences in creating content in Metaplace. This will probably be a series of posts as there is a lot of stuff to get through.

So where best to start than the beginning.

[Read more...]
Tags: Metaplace
Comments: (0)
Metaplace embed tag test
Posted by: Owen, 05 Jul 2009 21:15
More tapping...
Here is a game that I put together in Metaplace. It is a...eh, cover/tribute/something-that-hopefully-won't-get-me-sued of a classic. I think it came out pretty well.
Tags: Metaplace
Comments: (0)
A site about my fumbling my way through programming, astronomy, game design, life... and everything else geeky.
Blog Post Categories:
Games (20)
Programming (17)
Flash (14)
Metaplace (11)
Fog of War (6)
playtest (4)
Trinhex (4)
Blockdown (4)
GameCraft (4)
Astrophotography (3)
DIY wedge (3)
me me me (3)
Pompetaire (3)
Canon 10D (2)
Tile Tactics (2)
site (2)
hacking (2)
#1gam (2)
Game Jam (2)
DIT (2)
NexStar 6SE (1)
Canon 40D (1)
Moon (1)
timelapse (1)
SCIENCE! (1)
tog.ie (1)
gamedevelopers.ie (1)
IGSDublin (1)
Save the Zombies (1)
dubLUDO (1)

<=Prev [ [1] 2 ] Next=>
www.oscan.net
oscan.net (2024) All Rights Reserved.
[Login]