NaGaDeMo wrap-up

Today marks the first of July and the end of NaGaDeMo. The month has been full of ups and downs – mostly downs – but, as my mother would say, nothing ever goes to waste.

I started off struggling with Twine. Twine, in many ways, is a beautiful tool. It has a lovely visual layout, allows for script importing/exporting and exporting the text for proofreading (VERY handy). Unfortunately, I came up against some of its eccentricities – for instance, it took me quite a few days to work out that links between passages would break when enclosed with quotation marks. I also struggled with the content; my first attempt was a satire of Pokemon, but it quickly devolved into something darker than what I was comfortable with. My second idea was inspired by this article, but I was afraid that I couldn’t do it justice. My third was to have the player play-testing a game with a GLADOS-like guide (yes, very meta meta meta); I had started this idea, when my computer slowly ground to a halt and died.

Happily, I was able to ressurect it a few days later. By this time it was halfway through June and I began to Panic with a capital ” P”. I was able to access  So, I turned to familiar stomping grounds and begun prototyping two ideas- one was a simple endless runner and the other was inspired by Calming Manatee   (manatees are so awesome) – until MonoDevelop decided that it would crash every time I tried to save a script and Unity wouldn’t let me use any other editore. Never thought I’d miss UniSCITE :( . On to GameMaker next – I picked one of their tutorials, as it would be easy and quick to get it up and running. I ended up with a quaint clone of Fruit Ninja that I adapted to an Alice in Wonderland theme – specifically the Mad Hatter’s Tea Party. Smashing teacups and saucers, etc.

Then I realized that here I was, once again missing an opportunity to make a text-based game (something I had wanted to try out for a long time), so I switched back to Twine and in the last five days made a game. It is not as long or interactive as I would have liked, but it is finished. Even though the result seems short and simple, it totals in 6000 words and the screenshot of the Twine visual map gives you an idea of how complex even a ‘simple’ game like this can be.

So, with my apologies to Thomas Wyatt and other members of history, I present my NaGaDeMo entry:

 

Circa Regna Tonat

 

 

Nagademo, LD48 and other loose ends…

Blowing the dust off the blog for the purposes of Nagademo, but first a little catch-up on what I’ve been doing the last six months.

I’v tried retcon-ing Anima, experimenting with different movement types, porting it over to different engines, looking at implementing some of the suggested features in it, etc. The problem is, that last year, due to being an uni project, it had become so compromised, because of time constraints, technical/artistic ability, close scrutiny, collaborative issues and well-meaning but misleading advice, it had travelled very far from what I had intended. I’m lucky that I have the opportunity to re-make it as I want – but when I tried to sit down and remember what I originally wanted to do with Anima, I struggled to capture the thread of my original intention and am now no longer sure of what I really wanted to say with it. So, I consider Anima to be hermetically sealed away until such time I can find such solutions to ‘fix’ the problems with it.

I have also been protyping with Yena Lowe aka Cake Support, helping her with design of a game revolving around crafting – a favourite element of her’s and mine from RPGs. One of these days, when I have more focus, I’ll finish off writing some quest chains for it. She has a lot of great posts up at her blog, Button Bash Design. She’s also been helping me with some ideas. I’ve gone through a number of concepts, but only two made it to code prototypes: the first was a walljumper, inspired by the leaping in Spider: Secret of Bryce Manor and the wall leaping from Aquaria (wall jumping starts at about 6:43min in). The image is an example of a level design. Two problems with this idea: one, I had extreme difficulty in getting the feeling of movement right – partially due to the limitations of my technical ability, but also because I think I was relying solely on code and needed to add some animation to gain the ‘correct’ feel. Secondly, platformers are far from favorite genre – it takes a pretty special one for me to play it – and all I have for this is a central mechanic and some vague level design ideas – nothing more. So, this one has been put on the shelf until I can come up with way to turn this into something I would want to play.

The second idea was to take the game Flow, add in a RPG-like leveling and skills (not player selected, but assigned to the player based on how they chose to play, ie a player soaking up a lot of damage would gain higher defense and a shield ability) and throw in some light bullet hell elements. Oh, and it would be starring a phoenix gliding in the sky and being reborn, instead of an evolving microorganism in the ocean. Yena did some great concept art  and I even got as far as building a movement and parallax prototype (try it here – needs Unity webplayer)…. and then I came across a game which was exactly what I wanted to do with this game (except for the Phoenix elements) and… I didn’t like it. It wasn’t fun, it wasn’t soothing. I was struggling conceptually with this idea already and this really threw me for a loop – until I can work out how to transmute (or rebirth, if you will) the idea into something I can enjoy, this is another idea that’s been placed on the backburner.

One of the other things I got up to, was an entry into the #23rd Ludum Dare 48 hour competition - I had wanted to enter for a long time, but this was the first time I actually had time to enter. I had two goals: to finish a game and rate/leave helpful feedback on at least 100 entries (out of 1400!) – I managed to achieve  both, so in that, I am happy with my participation. You can play my game here (again, needs Unity webplayer). Next time I get to enter, I hope to make a better game ie actually have a design from the outset, instead of designing ad hoc.

Starting tomorrow, I’m going to be immersing myself in the Nagademo for the next month. In the lead-up, I’ve been struggling to come up with a game concept I can finish in the month. I originally come from a writing background and  aspired to find different ways of telling stories via games, but I’ve done precious little exploring of that, so I’ve decided to do so for Nagademo via creating a text adventure. As a player, I’m not very fond of text-parser adventures, as they too often feel like I’m less solving puzzles, than having to be a mindreader of the creator to guess at the correct word combination. I prefer ones that present me with an interesting variety of choices, like Fallen London, Academagia or King of Dragon Pass . I realize that those kinds of games are niche interests. Also, that a lot of people would argue whether choose-your-own-stories are games at all – but, frankly, I find categorisation debates (such as whether games are art) boring and intellectually juvenile. Qualitative arguments(ie what makes a ‘good’ game or how can a game be ‘good’ art?) are a lot more interesting. For myself, a lot of what makes a game a ‘good game’ is player agency or choice – and choose-your-own-stories actually feature a lot more choice than traditionally a lot other game genres and they also engage my imagination, which – outside of sandbox genres – a lot games sadly overlook in their design.

 

So, that’s the format of the game decided – whoch tools should I use? Varytale or Story Nexus look like they’d be perfect, but their tools haven’t yet been released to the public. ChoiceScript, from Choice of Games, looks good, but I’d prefer to work with something more visual and with less of a learning curve, as time is limited. InkleWriter is absolutely gorgeous, but is currently lacking variable tracking, which greatly limits the things that can be done with it. Ren’py is a little too visual – don’t want to spend the month making graphics – and I also don’t have any experience using Python.  Quest looks pretty awesome, but as it’s primed towards parsed text adventures, it’ll be my back-up option.  I’m going to be using Twine, as it features a lovely visual editor, has variables and can also be extended via html and javascript, both of which I am already familiar with.

I have decided my format and “engine” – what about the most important part – content? Good question. Unfortunately, I don’t know – I have ideas, but they are too large in scope for a Nagademo game and would be more suited to the more sophisticated formats of Varytale/Story Nexus . The first week is going to be spent coming up with a loose plot.

If you are interested in interactive fiction, I’ve found two great blogs from masters of the form: Emily Short & Dave Morris.

Also, I should advertise I now have a very bad and unfinished portfolio site. Enjoy and good luck to all the fellow nagademo’ers.

 

 

Anima Aeterna : Retrospective

Well, the game is finally “finished”; finished in the sense that it must be handed in for assessment purposes, not finished in the sense that I could spend much more time making it better. Here is it’s trailer:

You may notice that it looks different to the previous videos; unfortunately Natalie is completing her own game and you can follow her work at her blog, Fairy Landing. The inferior (if, serviceable) art in the trailer is my own.

So, now that it’s ‘over’, it’s time to contemplate. So, in no particular order:

Things I have Learned

  1. Figure out exactly what you want to say and keep it simple. I think the game suffered because I tried to fit too many ideas into it: it would have been more effective if I had just stuck to one.
  2. Design documents are a must, no matter how simple the game. Not only do they help smooth out communication problems between team mates, they can force you to address problems much earlier in development, which saves everyone time. I didn’t do this and really wish I had.
  3. Dodgy code can be a good thing. After the last two years of spending too much time making my code ‘correct’ and ‘best practice’, to the detriment of learning other skills, I promised myself that this year that if something worked, I wouldn’t spend any time making better. And while I inwardly cringe and shudder at Anima’s code, I am very happy that I did this, as I gave me some time to pursue learning other skills.
  4. If you’re going to specialise, make sure you’re specialising in the area that you want to be working in. While I got try out a few other things, I did feel that I spent more time than I would have liked, just coding the game and wished I had taken the opportunity to practise my design skills.
  5. Just like coding, modelling, drawing, etc. making games are a skill unto themselves and need to be practised in the same way you would learn an instrument or a language.
  6. Establish at the beginning whether your teammates wants to have a contractee relationshiop or a collaborator relationship – they are very different things!
  7. Don’t be afraid to keep asking for help! I got turned down twice by music students before I got lucky. Mitchell Poloni has created beautiful music for Anima and I am very happy that I persisted in looking for someone.
  8. Make sure to leave some time for testing – Anima has only been limitedly playtested and I wished I could have tested it more before finishing.
  9. Have realistic expectations of the outcome of the game. If gamemaking is a skill to be practiced, don’t expect your student game to compare to someone’s who has been making games for twenty years, while you’ve only been practising for three.

With considering that last point, I think everyone in the class can be very proud of what they have achieved.

Anima Aeterna #1 & Link Dump

Seeing our last chance to change the game’s name – before we were permanently stuck with it – we have chosen the more appropiate title of “Anima Aeterna”. It roughly translates to “breath of life everlasting”. I feel it reflects the themes of the game better than the previous name.

 

So, been doing a LOT of bug squashing. Not done yet either.  -_- Mostly my fault – from sloppy coding and design assumptions , but here’s a pro tip for everyone else: just because you can change the values of something in the Unity editor, doesn’t mean that attribute is exposed in code. Lordy. -_-

 

Also implemented a couple of suggestions from the feedback we got last semester: adding heartbeat to seed (which syncs with cursor and speeds up near fire) and auto respawning of the seed. Also  implemented the bloom incrementing and punching. Check it out:

 

 

 

Now some helpful links I’ve come across:

 

A big list of game making engines & tools with pro’s and con’s.

 

A blog post, that while it’s titled “Code Optimization in Unity”, is actually about something much more important: whether you actually need to optimize your code and how to find that out in Unity. This would probably be very helpful for the teams working on iOS games.

 

Throw the Looking Glass” has a lot of great articles/podcasts on game mechanics and a series on how to best playtest your games. They also have a physics integration for FlashPunk!

 

And while we are thinking of where & how to publish our games, here is a massive list of websites that will host/sell Unity based games.

 

And finally, for your reading pleasure, Development Quote of the Week:

 

“What’s the Latin word for seed? It couldn’t possibly sound worse than the word ‘cox’ .”

How wrong I was about that.

 

 

Genus Loci #19

Long time, no blog. Been busy, though.

First up, we received advice from a horde of professionals and teachers. All of it was good advice, though it took a while to digest. Unfortunately, we’ve had to move a lot of it into the “That’s great – for the sequel” box, as implementing them would put finishing this semester out of reach for us. As it is, Natalie and I have decided that to set realistic goals for ourselves this semester, so the version that we finish for assesment and publish on the web, will be a demo version and hope to use Rockethub or something similar to raise the funds to release the ‘full version’, containing all of the levels.

Other important decisions include removing the tar and replacing it with radioactive waste, adding in a few visual enhancers and giving the seed more personality.

I’ve also been playing around with Unity post effects and I know I’m about a decade late on this bandwagon, but OMG BLOOM SO PRETTY. So, now we’re going to have a slowly increasing level of bloom (related to the percentage of seeds planted) as well as a little ‘punch’ of bloom during the planting.

This is an example of what the game will look like at full bloom level:

Genus Loci Beta #3 from Jasmine Choinski on Vimeo.

OMGSOPRETTYMUSTINCREASEBLOOMSOMEBODYSTOPMEPLEASE

Speaking of pretties, be sure to head over to Natalie’s site to see some more of the awesome art she is making for the game!

Habeas Ludus

Last week we were given a contract by Griffith to sign. Here is my related FAQ:

What’s the problem with this contract?

Firstly, it wasn’t written with game development in mind and is instead targeted to the film students. Secondly, it allows Griffith to modify and distribute our games at will. It also requires us to provide written notfication everytime we want to distribute or publish our work.

This means Griffith could potentially give our game to other students to tinker without our permission, offer our game for free download while we’re trying to sell it on the app store, etc. It also means you will have to notify Griffith for every separate place you want to publish your own work – whether it’s the app store, kongregate or even your own webpage (!).

What’s the easiest way to protect my work?

Don’t sign the contract. Griffith has no right to your work without it.

Why should I sign?

If you sign it, Griffith *may* use your game for publicity, thus giving you a higher profile. They may also enter your work into festivals or competitions, giving you a chance to win stuff without doing anything.

Why should I bother modifying the contract?

It’s a middle-of-the-road solution: it allows Griffith to use screenshots and videos of your game for promotion and allows them to enter the game into competitions, but doesn’t let them do anything else with it. It also negates the need to notify them everytime you want to publish your work.

How do I modify the contract?

1. Print out the following and attatch firmly to the original contract:

1. I grant Griffith the use of screenshots or videos of my work ONLY for teaching/research/academic purposes and/or the promotion of Griffith and Griffith’s promotional material. Griffith may alter or modify the screenshots/videos for the above purposes.
2. Griffith may distribute the game ONLY to festivals or competitions. Griffith may not distribute or publish the game for any other purpose or via any other avenue.
3. I retain the right and freedom to distribute or publish my work without giving notice to Griffith.

In the event of any inconsistency between these and previous clauses the above three clauses will prevail.

2. Sign the contract.

3. THIS IS VERY IMPORTANT: Underneath your signature print “Subject to the attatched page and clauses.”

Will Griffith accept the modified contracts?

No idea. But I feel it’s worth trying.

Remember, whether you decide to sign, modify or not sign, you must decide as a team.

Also, I can walk you through modifying the contract or answer questions on Wednesday. Just let me know!

Genus Loci #18

New video here, unfortunately the capture software has rendered the framerate funny, but should show you how it’s looking now:

Genus Loci Beta #2 from Jasmine Choinski on Vimeo.

Mostly just a lot of little fixes, but does feature the major improvement of Natalie’s flower animation. I think it’s gorgeous!

Hopefully I will be able to show off level 2 soon – it’s looking great! My end of semester goal is to have it playable.

Speaking of end of semester goals, Simone has had to leave us to focus on her Graduation. You can still follow her progress at her site, Wicked Little Sprite.

If anyone has need of a shader that helps with sorting problems, let me know, as I’ve written a few.

Genus Loci #17

The end of this sprint marks the beginning of beta for Genus Loci. Woohoo! Some bugs to be sorted, but otherwise ticking along nicely:

Genus Loci Beta #1 from Jasmine Choinski on Vimeo.

Unfortunately, we will miss our target for this sprint – a fully polished level, as there are still a couple of bugs related to blending the foreground pieces, I’m still not happy with the appearance of the water, tar and cursor and we are still misssing the plant animations.

In the helpful utilities department, if you are using Unity, you have probably come across the annoying problem of Photoshop alpha’ed textures having an outline/halo. I came a cross this great little program by Reiner of the famous Reiner’s Tilesets , which fixes that problem – it also does batches of files, so you can fix all your files at once – hooray!

Genus Loci #16

In the last couple of weeks, I’ve been working on a variety of things:

I needed a way of being able to cross-fade textures/materials, so we can see the landscape slowly change from barren to teeming with life – easier said than done. This led me to dive into the fascinating world of Unity’s shaders. Very interesting and capable of creating some very cool effects. I ended up modifying a shader, that allows for lerping between two textures; it’s best to make the two textures as similar as possible, or you can end up with some weird artifacts.

I’ve also had my head buried in one of my favorite topics: particles. New shiny effects for our obstacles: fire, wind, water and planting spots.

Genus Loci Prototyping #4 from Jasmine Choinski on Vimeo.

Water’s behavior has also been modified to be more in line with the original concept; it now presents a timing puzzle for the player. As you my have noticed, the seed’s appearance has been altered – this was in response to feedback that we should try to breathe more ‘life’ into the seed. I’m not 100% happy with this version; while it certainly has more life, I’m not sure how well it matches the rest of the art. Expect tweaks to follow.

For this sprint we are aiming to have a fully polished level (minus music and sound). From there, we will be looking at how to streamline our processes, so that the subsequent levels can be completed more quickly.

And for this week’s Mea Culpa Maxima: I have apparently gotten the Latin meaning of Genus Loci mixed up with Genius Loci. Genius Loci is the one that means atmosphere or a guardian spirit of a place, whilst Genus Loci means birthplace. Whoops. Probably just stick to Genus Loci for the time being as a) it still fits in the context of the game and b) as far as I’m concerned, it was always just a placeholder name until someone came up with something better.

Genus Loci #15

New version is more or less same as old version, but now featuring pretties! Non-functioning pretties, but pretties nonetheless. Next task is to make pretties function.

 

 

Genus Loci Prototype 03 from Jasmine Choinski on Vimeo.

 

 

On my traverses through the Unity-verse, I have found a couple of things that might be helpful:

A script that allows you to change the pivot point from within the editor in Unity here from Solve the System.

Custom shaders that are perfect for 2d games (especially those targeted for iOS) here from Owlchemy Labs.

 

And for your consideration, more salvosfrom this week in the trenches:

“I’m a rarity.”
“You’re a something.”

“It’s a nice idea, but… what’s the word?”
“Believable.”
“Yeah, that one.”