So today we had our first official meet-up of students who are thinking about doing #1GAM at The University Of Lincoln. We started off with a quick listen to @McFunkypants’s keynote and then proceeded to have a chat about how things were going to go down!
We each took turns writing down themes and putting them into a hat in order to give ourselves some inspiration – this then devolved into me pulling them out and reading them aloud. We settled on the idea of using one of the themes as a ‘main theme’ and then each choosing one of the others as a complimentary one. The main theme we chose was “Underwater” so I’m looking forward to some really nice looking games coming out of it!
Since we only have a little while to work on our January games (having left it a little late…) the majority of the group seemed to be thinking about making something reasonably simple to get them into the swing of things. Next month’s meeting is on the first, so we should get a really nice bunch of games made for February.
One Game A Month Keynote by McFunkypants:
This is just a quick blog post to alert any Lincoln Computing (or non-computing as the case may be…) that tomorrow is my first meet-up session for #onegameamonth – an on-line quest to make one game each month for the whole year! If you’re interested in making games and want to take up the challenge then please do come along!
A number of students have expressed an interest in working on the “one game a month” (#1GAM) online competition, which is designed to encourage people make more games.
More detailed information about the event can be found at the website: http://www.onegameamonth.com
The complabs have been booked out for bi-weekly #1GAM meetings on Fridays from 5PM to 7PM, in order to help competitors meet, discuss and create ideas and games for #1GAM.
If you are interested in participating, why not come along to the first meeting, this Friday?
This could be a perfect time to find people to work with in a team or to discuss your ideas with like minded designers!
For more information on the meet-ups send an email to Sean Oxspring at Sean.Oxspring@hotmail.com or send a tweet to @OxyOxspring
DATES FOR MEET-UPS:
18-01-2013, 01-02-2013, 15-02-2013, 01-03-2013, 15-03-2013, 29-03-2013, 12-04-2013, 26-04-2013
Now I know you might have some assignments and things right now – but consider this as a little challenge to not only improve your coding skills but also your portfolio of games! I’m planning on doing most of my entries in a 48 hour stint during one weekend of the month… so I think that if you tried to do that kind of thing too you wouldn’t have much trouble fitting it into a hectic student schedule!
Even if you just have a passing interest in maybe taking part… I hope to see you there!
(Oh… and OneGameAMonth is ran by @McFunkyPants – you should totally follow him on Twitter because he is pretty cool and I think he has an awesome voice.)
Today was my first day back at university! So it was time to start working once again on my Games Engines assignment. I’ve fixed a good couple of bugs today including an annoying little problem I had with the PhysX cloth occasionally becoming too still and therefore not updating with the rest of the scene – I tried adding a constant force to it… but it didn’t seem to work at all – then I found a really nifty little function:
That pretty much fixed one of the biggest problems I’ve been having without much fuss at all. Occam’s razor eat your heart out! So now the cloth ‘wakes up’ every frame and no longer stops working properly if left alone for too long. I’ve also changed the colours in the game and made the blocks explode into a shower of debris when the ball collides with them… just to make the game a little juicier.
Another important part of this assignment is the collection and analysis of user data. One of the ways I’ve decided to implement this is by getting the computer to do most of the work and record my data into several files at run-time. The first piece of data I’ve decided to record is the location of the ball in space… this allows me to see where players mostly die and where the ball travels most often. I played a single game and then made the data I collected into a graph… here are the results:
This graph could also be considered as a really dodgy version of a heat-map. I can see where the ball tends to be often by looking at the concentration of points in certain areas – this could be useful to see if players have trouble getting the ball to land on the bat in a certain place or (as the case above suggests…) where they have used a strategy to destroy blocks vertically without risk of angles interfering!
After a few hours of fiddling with sizes today I’ve finished texturing the character models for the crowd simulation. I’m using Oliver’s original textures as I want to focus on the body-shape changes and how they affect the visual variety right now. Next on my plate are the wonderfully time-consuming process of fixing all the normals… I’d lie if I said I was looking forward to that bit…
It’s not overly noticeable from the photo above as everyone is rather small, but there is most definitely an increase in the variety between the people in the original simulation and the new one! My hope is that I can run a test alongside the ones I have planned which uses extra textures… this will help me develop a conclusion as to whether the geometric variety is less important than the texture variety or not.
So I’ve not really blogged much about what my third year project is actually about, so I’ll do a little post now about it, and how things are developing so far.
My project’s title is “Towards Developing Character Visual Variety in a Crowd Simulation Program” and it’s pretty much that: Developing a way of generating varied characters in a crowd simulation!
When simulating crowds in virtual environments, specifically games – it is often the case that models will be re-used, lowering visual variety in the crowd. This project aims to address the problem of re-used models by developing a procedurally generation system in OpenGL to generate more varied character models. The project will then be evaluated using focus groups and a “spot the same models” activity similar to that of McDonnell et al. (2008).
So I’ve been working towards developing a method of generating characters in real-time based on manipulating a base character using several different visual variation techniques the main being:
- Mesh Deformation based on William Herbert Sheldon‘s Somatotype Theory.
- Randomly generated Heights and Widths.
- Randomly chosen Bodies and Heads.
- Randomly generated colour differences in certain areas of character models.
I’m working on Oliver Szymanezyk’s crowd simulation program that he is developing for his post-graduate research project. He’s been working on creating a more realistic crowd simulation in which members of the crowd interact with each other in groups and not just as individual entities:
I’ve been tasked with making the characters more visually varied in the scene. If you look at the video and then at my screenshot below you can notice the differences I’ve added in so far between the old version and my current implementation. Ignoring the texturing problems on the bodies of course… I’m working on editing the texturing soon – since I’ve added in all these new vertices to the body I’ve got to change the way the body reacts to texturing.
After a great deal of painful fiddling with OpenGL vertex arrays and raging over little buggy rendering issues, I’m finally getting somewhere with this final year project! I’ve got my model (mostly) finished, and I’m happy with the results – might do a few more edits before I sign off on it, but the models are looking a great deal more varied than they originally were.
I hope to have the models completed one-hundred percent by early January so then I can hit my deadline for starting the evaluation process of my project. Then I’ll get on the typing up of my final submission… I’ve got most of my notes collated together, it’s just a matter of pulling it all into one epically sized document!
This week I have developed a rather nasty case of flu. A particularly devilish strain of flu that just happened to seemingly know that this week was the one week I wanted to be firing on all cylinders! As I write this post I’m bed-ridden and shaking like a leaf, but my condition is definitely improving so I should be better for just before Christmas.
On Monday I travelled down to Wolverhampton to stay overnight for a teaching event on Tuesday at Highfields School, normally I’d take an early train down on the morning of the event, but to ensure I’d get a better nights sleep my boss booked me a hotel! I was really looking forward to a relaxing night’s sleep… but that’s when the flu kicked in. Whoops.
I wasn’t exactly running on all cylinders when I got to the school, but I was still taken aback by the sheer awesomeness that surrounded me there. There were no corridors in the school… all the classrooms were wonderfully open-plan and there were canteens and seating areas on every floor. I was incredibly jealous – all the students had access to a cyber-café and had been given free laptops to do their work on. Their product design department had a 3D printer AND a laser cutter – sheer bloody madness!
We then proceeded to start work on the LEGO event for the day – two guys from LEGO Education came in to run the event and I was tasked with aiding the students with anything they needed help with. They were tasked with making robots to do specific challenges as part of the “Green City Challenge” pack, which has several different engineering problems incorporated into it – pushing, lifting and carrying being the main three that were tackled during the day.
It was good to work with LEGO during the day, I’d not used Mindstorms equipment in years so I was a little rusty. But it’s really easy to pick up and the kids took to it like a duck to water. They didn’t need much help and really got into it once they understood the basic principals of moving the motors on their robot. It was an awesome day apart from feeling really crumby in the physical well-being department.
Other than that I’ve also been working on my dissertation in my spare time. I’m currently working on the model design for my characters in the crowd simulation I’m adding to. Carefully programming in vertices and having them deform and change based on the characters body type. I’ve been wrecking my brains over a bug I’ve been having for AGES and not been able to notice. A bug that meant my little models were rendering in very ‘abstract’ ways:
The bug had eluded me for ages until last night when my girlfriend pointed it out to me when I was grumbling through my array of indices: I’d accidentally skipped a few numbers in the array… Whoops! So after changing that I can now declare proudly that my project is now progressing nicely again! I’ll be doing another post about my current final-year project progress as and when I have my model completed and working reasonably well.
Also… today is the start of the Steam Christmas Sale… may we all be blessed by Gaben’s great deals.
So I just submitted my finalised build of the game to the Ludum Dare website. It’s probably got more bugs than I can shake a stick at, but I’ve fixed as many as I could find in the last few hours and added as much visual polish as I could. It’s now time to pack for tomorrow’s trip to Wolverhampton for teaching stuff and then put my feet up and have a cup of tea. I am knackered!
I proudly present “THE EVIL REVEAL” a game in which you play an evil CEO who has plans for world domination. You are about to present your evil plans to the company’s board of investors… hoping that they’ll all fall into line and become your evil minions. Unfortunately for you: All of your employees have consciences, and will eventually become scared of your insanely evil ramblings. When they get too scared, they’ll attempt to flee the room and alert the authorities! Luckily, you have an array of dastardly traps set up in order to kill and maim your enemies!
So here’s a little post mortem from my first attempt at a Ludum Dare:
What Went Well:
- Programming/Designing Speed: The time-period I had to make the game was quite tight, not only due to the 48 hour limit but also I had some other things on at the time… I’ll talk about them in the second section.
- Idea Generation: I came up with quite a few ideas in the morning for the game I was going to make, but I’d like to thank Alex Saye for providing me with the inspiration for the final version of my game by showing me this Mitchell and Webb comedy sketch.
- Graphics: I really like the style I achieved in this game, I was going for a style similar to that of Lone Survivor. I think it works quite well and its definitely different from what I normally do when it comes to art in games… not to say that my traditional style menu screen didn’t pop-up like usual.
What Didn’t Go Well:
- Lack of OOP methodology: I’m afraid I slipped quickly into a non-object oriented approach quite quickly when I started this project, unfortunately meaning I ended up with LOADS of arrays for storing different Board Member variables (like whether they were on fire or if they were dead.) One day I’ll learn to pre-plan my classes… but right now my clsSprite.cs file has never really done me wrong!
- Going Out Drinking: I kinda might have gone out drinking with friends on Saturday night. This probably cut out a massive amount of time I could have used to make the game better. But I feel that I made up for it by coding til about 6AM afterwards though.
- Sleeping In: Pretty self explanatory – I’m in serious need of a fixed sleep pattern as I keep waking up at midday. Like with the point above this cut deeply into my possible coding and asset creation time.
- Balancing Issues: The final game is a little broken if you play it right. The flame-thrower is really OP right now and it spreads like wildfire between the Board Members and always guarantees a kill. It kinda makes the Tesla Coil useless… but it’s still a lot of fun to hear a loud zap noise as the people get killed by it.
- Lack of AI: I considered having some form of AI to allow the board members to avoid getting hit by certain traps. It would have been really cool to see them avoid traps that they’ve seen other board members get nabbed by – unfortunately due to time constraints and my lack of path-finding knowledge this was to remain a dream!
Just to finish things off, here is a trailer for the game that I whipped up in about ten minutes:
Six in the morning… I think I’m seeing things in my living room and I’m getting tunnel vision. I think it’s about time for me to call it a night here on my frantic programming and artistic madness. It’s probably for the best as I think I’ve got the vast majority of the major work completed… now I’ve just got to polish and add more features when I wake up in the morning/afternoon. I also need to balance the game a little as there are points where the player isn’t doing much for long periods of time, and its far too easy to kill people right now… maybe a health bar is in order?
Goodnight to all! Let’s hope I don’t sleep in too late…
I’ve been working on the game most of the day and now have a working basic prototype. I’ve got to work on the art and UI quite a bit before its completed, but things are going quite well! I’ve implemented a group of board members who each have a ‘fear/doubt’ meter, when it gets to zero, they will flee and attempt to alert the authorities to your dastardly deeds. I’ve also put in a basic trapdoor trap… but I’m considering changing it into a spike trap and making things a little bit gorier.
Unfortunately tonight is also the pre-Christmas meet-up and night out with some of my friends who have just arrived home from their respective universities. So I’m going to have to put the programming on a hold for a few hours and go and have a few drinks – I hope some awesome ideas strike whilst I’m out there so I can implement them when I get back.
So I just started work on my first jam for Ludum Dare. I woke up kind of late this morning so I’ve only just started programming and brainstorming for the game… whoops! This dare’s theme is “You are the Villain!” which I hope will lead to some awesome games in the end. I’ve still got fond memories of playing Evil Genius very late into the night during my teenage years and relishing every minute of it.
After a chat with Alex Saye I’ve decided on my final idea for the game, you play an evil CEO of a giant corporation. You have decided to call a meeting of all investors in order to reveal your dastardly bastardly evil plans for world domination. Of course not everyone in your company is particularly happy with this change in the company’s image… so you have to “deal” with them.
Each person at the table will have a ‘fear’ meter which will slowly drain, when it reaches the bottom they’ll dart for the door and try and escape. You have to kill them before they leave the room and blab about your plans to the local authorities. To begin with I’ll add trapdoors to the game as the most basic trap… I’ll add more if I have time. (Shark Pits, Fire-Traps, Acid Showers etc. etc.)
I hope to have a basic prototype completed before I go out tonight for a few drinks with my brother. Then I’ll polish it up early tomorrow and feature creep late into the afternoon! I’m not expecting to enter the competition this time around… considering this is my first Ludum Dare and I’ve not really planned ahead for it – so I’m not really prepared for super late-night crunches right now.
Oh, and good luck to everyone else I know who is competing!