9 Dec 2013

Khemeia

So, in between various assignments and things, I've been working on another of my game ideas. This game, titled Khemeia, is chiefly inspired by the alchemy in Fullmetal Alchemist.

The idea of the game is team-based first-person combat, similar to Battlefield (with a 'commander' Archmage on each team). However, unlike games like Battlefield and CoD, which claim tactical and strategic play but often devolve into endless rushes, Khemeia enforces tactical and strategic play through the players' sole method of attack, a kind of magic called 'Forms'.

Forms are comprised of 2 main components, the Bounding Shape and the Invocation.

Bounding Shapes are regular polygons with between 3 and 9 sides. Each Form requires a particular Bounding Shape and more complex or powerful forms generally require more sides in their Bounding Shape. To create a Bounding Shape, a player must place energy 'nodes' in the world at the corners of the Shape they want to create. Players must, however, be careful to make the Bounding Shape accurate, as wonky Forms will have very high resistance, quickly shedding their energy and dispersing.

Invocations are sequences of words or characters (I'm unsure of the exact UI-side implementation at the moment) unique to each Form, basically analogous to spells. Invocations are used to convert inactive Bounding Shapes into activated Forms, which then create various effects within the area of the Bounding Shape dependent on the Invocation used. When a Form is activated with an Invocation, it adds a number of Invocation Nodes, which draw energy from the Bounding Nodes and use this energy to produce the required effect.

The complete structure of the Beacon Form, with nodes highlighted.
The green circles represent the Bounding Nodes, which must be created manually in the world by a player. Bounding Nodes are able to transfer energy between themselves through the orange Bounding Shape (with the exception of the outer circle, which is purely aesthetic). When a Bounding Node runs out of energy, the Form 'breaks', destroying the Form and releasing all energy contains in its nodes in a destructive blast.

The blue and red circles represent the Invocation Nodes, nodes added when a player activates the Form with an Invocation. The blue Invocation Nodes are intermediary nodes that transfer energy from the Bounding Nodes to the red Invocation Nodes through the purple Invocation Shape. Red Invocation Nodes use the Form's energy to create the corresponding effect. They rely on the blue Invocation Nodes to supply them with energy from the Bounding Nodes.

This simulated system provides a number of interesting mechanics:

  • Forms only affect the area within their Bounding Shape. This necessitates ambushing or flanking the opposing team's players in order to defeat them. This mechanic in particular enforces tactical and strategic team play, as simply rushing in would be completely ineffective. Your opponent isn't going to be kind enough to walk into the form you've just created in front of you.
  • Forms have a limited amount of power, thus a limited lifespan if not resupplied with energy. Larger or more powerful Forms may require constant charging by one or multiple players to sustain, requiring communication, planning and teamwork to accomplish.
  • Creation of larger Forms must be coordinated in order to minimise resistance. Large Forms with high resistance will be almost impossible to sustain.
  • Forms can be left as 'dormant' Bounding Shapes, using almost no energy whatsoever, until the point they need to be activated. Inactive forms are difficult to find, so they are very useful for setting up traps and ambushes. However, Forms are not locked to the team that created it. If an opponent discovers a dormant Bounding Shape, they can use an Invocation to activate it prematurely and destroy your carefully-crafted trap.
  • In addition to hijacking inactive Forms, the opposing team can also attempt to drain the energy from a single Bounding Node. If the node is drained of all its energy, the Form will break and explosively release all the energy contained in its remaining nodes. Large or badly-created forms are particularly susceptible because their high resistance slows the passive energy transfer that opposes the draining attack. This can also happen without enemy intervention if a Form draws energy from a Bounding Node faster than it can redistribute the energy from its other Bounding Nodes.
That's all the information that comes to mind at the moment. I'm certain there is more I have forgotten and I will probably add to this later. To finish, I will include a few Form designs I have created for testing the energy and Invocation system, heavily inspired by the visual style of Fullmetal Alchemist and real-life alchemical symbols.

Top-Left: Beacon, equivalent of a flare used to signal to other players
Top-Right: Azoth, named after the alchemical medicine, used to heal players
Bottom-Left: Thunderstorm (temp name), calls down lightning in the area of effect
Bottom-Right: Calcination, named after the alchemical procedure, burns everything in the area
Centre: Soul Thresher, captures the soul of everyone who dies in the area. Souls are used for advanced magic.

3 Oct 2013

Frickin' Laser Beams!

So, it's been a while since I updated this.

Quite a lot has happened. Firstly, I finished my second year of uni. Firsts in all modules except for Game Design (low 2.1, I'm a programmer, not a designer). My average grade across my time at university is now ~78%.

Secondly, I was called up for Jury Duty. It was an interesting, though not necessarily entertaining experience. Put bluntly, it was 2 weeks of listening to 2 people in wigs arguing over a guy's life story.

Thirdly, I started my third year of uni this week. This year, I will be doing Game Engines (game engine architectures, middleware and game physics), Computer Vision & Robotics (self-explanatory), Professional Practice and my Dissertation Project.

For my project, I have managed to secure Dr John Murray, one of my favourite lecturers, as my supervisor on a topic that I think should be very fun and challenging. My initial idea was to design a system that allows a flying drone equipped with a Time-Of-Flight or Structured Light sensor to detect, map, navigate and explore its surroundings. This plan was changed slightly since the drone John has in his office isn't powerful enough to carry a Raspberry Pi and the sensor, and the drones he has which are powerful enough, are far too large and dangerous to use indoors, especially when running experimental software. Now, the plan is to use a ground-based drone platform (i.e. wheeled) as a development platform and proof-of-concept, potentially testing the final product on a drone if there is time. In terms of software, there will be no difference in the implementation, except that the drone will not be able to move up and down. It will still use a 2-Dimensional sensor and will still have full 3D mapping and pathfinding. So yeah, a good chunk of my year will be playing with robots and frickin' laser beams (but not that kind of laser beam).

Penultimately, there is a big development. Something that I'd been pushing for last year but was unsuccessful. There appears to be a very good chance that, since I still have another year after this one to get a masters, I will be able to take a year out in between and work as a technician at the University of Lincoln! Seeing as my course has given me huge amounts of XP towards games production and general software development, I thought I'd move further up the networking skill tree I started on years ago with my 6th form's ill-fated IPRO class. The hope is that not only will this give me an opportunity to hone my skills and get used to a proper IT work environment (Tales From Tech Support has already been something of a primer), but it will also open up a whole new field of IT that I can head into once I finish my course.

The final update is another thing I've been wanting to do for a very long time. I am now on the waiting list for the Lincoln Archer's beginner's course. Archery is something I've been very interested in trying since before I came to uni, and a few months ago I decided that I might as well actually give it a try. If I find it's something I want to continue with, I have been informed that my immediate family will pool some money together and buy me a very nice-looking flatbow I've had my eye on for my birthday.

I think that's about everything noteworthy. Some other events of lesser interest are that I'm now running a Laundry Files RPG campaign with my friends, my girlfriend has started a professional cookery course and is very much enjoying it and I am now situated on the opposite side of town to all of my comrades. I've also pre-ordered the super-fancy-uber-edition of Watch_Dogs on PC using my winnings from the GameJam and Industry Showcase (I showed off a Kinect game I made for an assignment and won a 'Best Project' prize)


Holy wall of text, Batman. Well done if you read it all.

10 Mar 2013

A WINNER IS YOU!

The Game Jam is complete, our game was mostly complete and it turned out that the Lincoln Social Computing group deemed Bezumiye worthy of their Critical Design Award.
This award is given to games which are meaningful or persuasive, and I think the use of Chernobyl as our subject matter and the realistic representation of the effects contributed to our win.
The prize for the LiSC CDA is £25 amazon vouchers each and a t-shirt each from Crytek, just because. Personally though, I'm just glad I won something back for that tile engine.

You can download our finished game, with full source hereBe warned though, a lot of it is atrocious, time-prioritised code especially the tile engine.

13th Hour Update

So, we're over halfway through.
In the last 12 hours I've managed to create a tile engine that can procedurally generate a complex system of corridors.
Soon (read: once they stop playing up) it will have proper textures as well! We also have the minigames, postprocessing effects and spritesheets done!

Our game is getting there, and I'm hardly tired because I've been busy working.

9 Mar 2013

Let The Coding Commence!

We have an idea!

Our plan is a top-down roguelike-like set in the final minutes before the Chernobyl disaster.
You play an engineer with severe radiation sickness trapped in the reactor building. Your goal is to reach the control room and fully lower the control rods to try and stop the imminent explosion.
However, panic and the radiation has started affecting your judgement and perception. You start seeing your relatives, trying to urge your on or distract you, as you venture deeper and deeper into the maze of corridors.
If you fail to reach the control room on time, you eventually succumb to the radiation permeating the building and die.

The game will be called безумие (Besumiye, Russian for madness).

Themes!

For the themes, we each got a piece of paper and had to write down one object and one concept.
The objects we chose were:

  • Light
  • Ninjas
  • People
  • Subconscious
The concepts we chose were:
  • Conciousness
  • Dreaming
  • Love
  • Schizophrenia
The themes chosen were:
  • Uranium
  • Madness
THE BRAINSTORMING BEGINS

Setting up

We've arrived and we've set up our workstations. Here's our current inventory:
  • Three Laptops
  • Top Hat
  • Milk Chocolate Digestives
  • Pinky Wafers
  • Custard Creams
  • Lots of Lucozade
  • Jaffa Cakes
  • Hob Nobs
  • Two Nexus 7s
  • Three Notepads
  • Kinect
  • Gum
  • Pens
  • Sticky Notes
  • Polos
  • Glacier Mints
  • Tic Tacs
  • Extra Strong Mints
  • Humbugs
  • Starmix
  • Fruitella
  • Rich Teas
  • Dressing Gown (Don't ask)
  • Bottled Flavoured Water
  • Pot Noodle
  • Fruit Pastilles
  • Sweetener and Teabags
  • Bland Name Energy Drink
  • Nerf Gun
  • Thermos of Tea
  • Calculator
  • Cheesy Rolls
  • Chocolate Biscuit Fudge
  • Dark Chocolate Digestives
  • Bill Bailey DVDs
  • Dead Parrots
Here's the team, sans myself:
And my workstation and hacker den for the day:

Setting off to the Game Jam

Well, I'm about the head over to the uni to set up for the Game Jam. I have:
  • Laptop
  • Nexus 7
  • Headphones
  • 5 Bill Bailey dvds (Cosmic Jam, Bewilderness, Part Troll, Tinselworm and Dandelion Mind)
  • NERF Maverick (In case any of the other teams start acting up)
  • Our 'Dead Parrot' plushie mascot
  • 1.8L of tea (black, demerara sugar), in a thermos
  • 2 packets of dark chocolate digestives
  • A load of chocolate biscuit fudge my girlfriend made (imagine cheesecake base, but chocolatey and with a layer of chocolate on top)
  • 12-Hole Alto C Ocarina, though I can't play it
Next update, setting up.

6 Mar 2013

ULCS GameJam 2013

So, I don't know if I mentioned this last year, but myself and my friends competed in the University of Lincoln Computing Society 24-hour Game Jam under the name Team Norwegian Blue.

Team Norwegian Blue's eponymous mascot. Bereft of life, he rested in peace atop our computer tower.
This weekend, ULCS are running the event again, so we will be returning to bring glory to the parrot. The themes for the Game Jam will be decided on the day, and we will then have 24 hours (and plenty of tea, biscuits and pizza) to build a game that fits.
This year, however, we will have an advantage. Carthage is now in an operational state so we will have a good codebase to work with.
Also, there will be folks from Legendary Games, Crytek and Rockstar attending to help with the judging and to have a look around.

If I have time (last year I spent 23 solid hours programming), I will try to post a few updates on how it's all going, but in any case, here are the relevant links:
Site (Twitter and/or Facebook links will be added during the event)

1 Feb 2013

Computer upgrade!

So I got my £500 bursary from Uni (did I ever mention how much I love all the free stuff I get from the University of Lincoln?) and decided that my computer was in need of an upgrade.

I was intending to take some pictures, like a before-mid-after but my friend and I got too enthusiastic about building it and forgot. So instead, here's the old and new specs:

Old:
  • One of Asus' actually halfway good Vento cases (not the buglike monstrosities)
  • Obscure MSI motherboard with only 2 SATA sockets
  • 2.9GHz dual core Athlon
  • 4GB DDR2 RAM (only 3 usable though, x86 OS and all)
  • GeForce GTX 260 (which blocked one of said SATA sockets)
  • 320GB SATA HDD
  • 250GB PATA (aka; IDE, Ribbon Cable of Doom, Fansbane, etc.) HDD
  • PATA DVD Writer
  • OCZ 650W modular power supply (recent mini-upgrade)
New:
  • Antec Three Hundred (£20 second-hand from the friend that helped me with cable management)
  • Asus P8L77-V LX motherboard (S1155 socket, USB3, all that jazz)
  • Intel i5-3570K (3.4GHz quad core, etc.)
  • 8GB DDR3 RAM (now running on x64 Win7 Professional, another UoL/Dreamspark freebie)
  • Same graphics (though will need to upgrade later in preparation for Star Citizen)
  • 128GB SATA-6 SSD
  • Same 320GB SATA HDD
  • SATA DVD Writer (No more ribbon cables!)
  • Same power supply

Everything is now much faster, much quieter and much cooler! However, I do have to spend the next couple of days rearranging my data and reinstalling programs. All in all £388.49 well spent as this setup will last me a good few years.

Also, I would like to apologise for the two-month radio silence. I have been busy finishing assignments (1st in both Group Project and Advanced Software Dev, yay!) and spending Christmas being Christmassy.

Finally, I think it best to officially announce that as of several weeks or so ago, Seph has officially agreed to take over APS (though I will still be hanging around the forums, doing my duty as spam canner). However, I do have another minecraft mod in the works (when I have free time, which may be scarce given the new assignments we now have) as well as Frontier Worlds, plus the Carthage Engine and Animo, our Group Project game, which will be complete and released here with source after Easter.

On an amusing, post-final note, I would just like to point out that Seph's announcement of the new APS wiki was accompanied, to the day, by a very sharp decline in visitor numbers here. To those of you whom have stayed for my in(s)ane ramblings, I thank you.