Always geeky, sometimes cool.
Always geeky, sometimes cool.
Ludum Dare 23
Before I start this post I just wanna say that I am not writing this out of any spite or bitterness towards the results or angry about anything. I am completely proud of my entry and what I achieved during this LD (my first entry ), so don’t just dismiss this post as a bitter rant about my personal rankings.
But I do want to bring up the question of how fair the results are and if the way results are currently calculated is working as intended…
From what I can see and assume, the results are just calculated as an average of what you given in each category. So for example if you were rated by 10 people, your score for each category is tallied up and divided by 10, to give you a score for each category. Now this seems a bit broken for a competition like this, where each entry will get wildly different number of votes/ratings.
So in theory if a game was only rated by 1 person, but that person gave the game 5/5 for each category, then it would get a score of 5.0 for each category… This seems wrong to me and allows for wild fluctuation in the results depending on how many people played/rated your game.
Let’s take a look at some examples and see if what I am saying seems to make sense:
Looking at the top 25 list it doesnt take long before you can go down the list and find a game that scored *very* well, but on closer inspection seems to have only been played by a very few number of people…
Lonely Hated Rock – Came 5th overall in the competition and had scores of #8 in theme, #21 in fun and #30 in innovation #94 in mood and #128 in graphics. Very good scores all round! I’m impressed! That is, until I Look at the spreadsheet and find that this game was only played and rated 16 times…
Pocket Planet – Came 10th overall and joint 1st in fun! Well done… 20 people rated this entry.
Pale Blue Dot – 16th overall and #23 in the fun category… but was only played/rated by 20 people.
Necro Gaia – #16 overall, #11 for graphics #16 for fun and #50 for mood. This game actually ranked in the top 100 for 6 categories! Wow.. thats amazing, how many times was that game played/rated? 18!! (Whats worse… the author of this game had a coolness rating of 0… yep, according to the data, they never played/rated any other game.
Using the latest play/rate data from https://docs.google.com/spreadsheet/ccc?key=0Ao74NZQqNUt5dDNvZUJ1UXVqZGkxUGVlVkxlZ3JnM2c#gid=0
I am not bashing any of the entries in my example, merely using them to point out how having fewer people play your game seems to benefit your final result.
It would seem that using an average score to give you a final result is flawed in a competition such as this. Average scores and using the mean is a great metric but should only be used when you can guarantee that each entry will get the same number of data points. If this is not the case you need to look to alternatives and start doing more statistics to get a fairer results.
It really depends on your viewpoint, but as I have pointed out above, if simply using the average to calculate the final score. The competition and results are open for wild abuse and un-fair results.
Maybe somebody could compile a data spreadsheet showing the number of ratings a game got, and ordered by the overall ranking of the game… would be interesting to see how high-up some games can get, by having a very few number of people rate their entry…
EDIT : I put an example in one of my reply comments below but just bringing it up to the original post for more exposure.
Here is an extreme example highlighting the problem in a simple way that shows how the system doesnt work for the current dataset:
With the current system a game that is played and rated by 10 people, all giving the game 5/5 would score a 5.0 in the final rankings… but a game that is played by 100 people and rated 5/5 by 50 and 4/5 by 50 would score 4.75 in the final rankings… now just consider this example and ponder if this seems correct to you? Personally I think this highlights how the final rankings for the games doesnt correctly reflect the ratings a game got.
While waiting for the results of LD, I am keeping myself occupied by coding more voxel engine functionality…
So, I have a bit of spare time today. I might try and play/judge a few games that I haven’t had a chance to… any suggestions?
Feel free to post a link to your game below and, if I haven’t already, I will try to give it a go.
Also if you haven’t already played/rated my game, please give it a try (I will return the favour for you)…
Thanks and fingers crossed for good things happening in 10 hours
So, what great epiphanies have you had regarding your entry into the next Ludum Dare?
I read a lot of Post-mortems and after-project analysis from people and it seems we all like the feedback and suggestions about how to improve in the future… Lets hope we put it all to good use and improve for next time.
I know what I need to improve myself.
Next time I know I have to aim for something a little less technically challenging and something which isn’t so much a great technical achievement in the short period of time, but something which is more of a complete package. I also have found out that people really *REALLY* like fun things to play! (go figure, huh) So next time, I am going to focus less on the technical and polish side of things and really try to nail a fun user experience. Since that is what makes people really warm towards your entry.
Here’s looking forward to the next LD… oh after the results of this one first.
So I have been busy adding new features and playing around with voxels, in the aftermath since my Ludum Dare game, when I initially created the voxel engine for my entry.
(My Ludum Dare 23 Entry)
I have just added support for dynamically loading and unloading chunks and also a simple fog renderer so that load popping in the distance is somewhat hidden from the player. Started using noise functionality to generate a nice flowing landscape but I need to play around with noise a bit more and get used to terrain generation before I make anything look good. (Mountains & caves! )
I am thinking of doing a series on creating a voxel engine and maybe posting a step by step guide/tutorial about voxel techniques to the LD site so that others might be interested in also playing around with voxels and cube worlds.
This always ends up happening to me the further into development I get and the more gamey that my creations become. I usually find that I end up just playing around with what I have made and experimenting with stuff in-game much more than writing more code. lol
Does anyone else notice this with themselves or have a similar problem when making games or writing code?
Also, I find that the more sandboxey or open world or experimental the thing I am creating is, the more I tend to play around with it. The second I implement any kind of 3D physics into whatever I am creating I turn into a 12 year old boy and just spend hours and hours messing around with what I have created and being fascinated with what you can do with physics…
I made a 3D physics engine for my final dissertation during my masters course and I swear I could have coded about double what I finally ended up with, if I hadn’t spent so *many*, *many* long hours into the early morning just playing around with different physics properties and making fun stuff happen in my engine…
I guess that’s one of the problems with coding stuff/games that you truly want to, you end up making the thing you want to play so much, that you just end up playing it half the time!
It’s been a couple of weeks now since Ludum Dare 23 and I wonder what everyone has been up to… I know a lot of people have been updating and improving their games that they entered into LD23 and that is great! It’s super awesome to see people actively keeping up the interest in their game development.
I thought long and hard about what I should do with my entry, post-LD, and finally came to the conclusion that I wouldn’t directly be making modifications to my game or adding stuff/making it better. Since I didn’t really have a grand design plan for my game as I was creating it and most of the gameplay ideas came about quite abruptly during the 2nd day, I decided to let it stand as it is and move onto other things.
So…. I have been spending the time since the competition making my voxel engine even better!!
I have been doing a lot of the core voxel engine related programming that I didn’t get a chance to do while I rushed to get something playable during LD:
I am going to be keeping a dev vlog diary of progress I make and uploading a daily video of features to my YouTube channel:
If anyone wants to keep track of my progress, or see my videos on general game development, and if you like my YouTube channel then feel free to subscribe, I have lots of cool gamedev stuff planned and could really do with more subscribers.
I’ve also been thinking also that I might make a public release of my voxel engine (with all the improvements), if anyone would be interested in that…? I am probably going to be using it to make something for the next LD competition, but I haven’t fully committed to that yet, we shall see how things go.
Anyway, it’s so nice to see all the activity from the Ludum Dare community still going.
So now that Ludum Dare #23 has finished and the dust has settled, I guess its time to write a post about the post mortem and give some insight into my experiences with making a game in 48 hours…
Here is a diary of the major milestones of my 48 hours highlighting interesting points of my development:
I rushed head first into creating my voxel engine, I was pleased with the announcement of the ‘Tiny World’ theme, it seemed as if this theme was perfect for what I was creating… My mood was great!
Still driving ahead with the voxel engine, encountered a few problems with how the triangles and meshes are rendered, so had to go back and improve my rendering engine. Spent a good portion of these hours optimizing how triangles are pushed to the renderer and adding support and features for mesh rendering with display lists and vertex buffers.
Started playing around with different configurations for meshes/chunks/regions… came up with some interesting implementations of how a voxel world could look (sphere worlds, cube worlds, trees). I made sure to leave all configuration/ideas in the code so that I could easily come back to anything which worked.
Added support for cubes/voxels with different textures. Using a texture atlas to store the different textures. i.e. (grass, stone, wood, magma, etc) This would be important since I wanted to make a world that could be modified by using different cube types.
Hit a wall with regards to what my final outcome was going to be… I did have some original ideas relating to a flat, cubed world with tress and houses that you walk around and do stuff as a player, but nothing really inspired me in that respect without completely ripping off minecraft functionality (which I did NOT want to do).
So I went to sleep and hoped to come up with some neat ideas in the morning.
I woke up with renewed vigor and some thoughts about a different direction that my game could take. I decided to make it more abstract and not have a player in the world or have any direct user control, instead focus on world destruction and voxel effects.
The bulk of day 2 was taken up coding effects and voxel related gameplay. I created asteroids and a layering system for my planet, exploding blocks and effects of asteroids crashing into the planet. The vaporize and terraform effect was actually something which came about accidentally, but I liked how it looked so decided to keep it in and make a gameplay mechanic for it.
This period was pretty crucial for me, I was rushing and coding gameplay elements really fast, I had a feature idea and once I got it working I moved onto the next thing on my mind. Asteroids, world vaporize (terraform), exploding chunks of the world, world rebuilding. I needed to make a full game cycle so I decided to add a timer that would ultimately drive the gameplay (destroy the world within the time limit).
I had finished the gameplay that I wanted. Next came the hard part of making it usable and playable. Having a lot of functions that are bound to keyboard keys is no good when you want other people to play your game and enjoy it.
I started to code the game flow:
Start menu –> enter game –> game timer –> score screen –> restart.
Added basic HUD and menu. i.e “Press SPACE to start/restart” and a scoring system.
My plan for the scoring system was going to be more complex with multipliers and additions for which super moves you used, but I didn’t have the time to make this work, so stuck with a simple score and time multiple.
The HUD and user interface needed work, I added these features faily easily but they were basic and static. So I started working on timings and polishing the interface. Flashing “Press SPACE to start/restart”, score screen with accumulating score. Timings and delays on the game flow to add additional polish. For example when you destroy the world, the score screen doesnt instantly popup, it has a time delay, or when you press to restart the game, the game waits until the world is rebuilt before allowing player control and starting the time. etc. This polish and attention to the small details is what makes your game stand out and feel like a proper experience, rather than a load of features cobbled together.
This last hour was mostly taken up with preparing a release package, zipping up the projects and source and testing to make sure a download of the source and executable would build and run, etc… Faily boring stuff but it does take time. I noticed a problem with absolute paths in my Visual Studio project, so had to rebuild a whole new project solution to fix this… luckily my project solution didnt contain too many header and cpp files.
I tested my package, uploaded it and then created an entry on the Ludum Dare website… then sat back and had a rest.
My entry can be seen here:
Overall I had a blast making a game in 48 hours and taking part in my first Ludum Dare. I am pleased with my final outcome and even surprised myself with what I made. I now have a 3d voxel engine that I didnt have before I started the LD48 and don’t doubt that I will be using and improving it from now to create even better voxel games.
Thanks for all the support guys and see you next time.
So here is my finished entry for LD #23.
I managed to do most of the stuff what I initially planned. I didn’t code all the gameplay elements that I wanted but in the end I figure out that 48 hours is not a lot of time for a game with big scope, especially if you make a voxel engine for the best part of the first day!
Here is a video showing off my game playing:
I will be doing a post mortem post soon and trying to capture a lot of the stuff that is still fresh in my mind.
Overall I had a great time and will definitely be entering future Ludum Dare compos.
Wow…. so pleased Can’t believe I managed to get something with some gameplay finished… even if it isn’t the most amazing gameplay ever.
Feel free to checkout my entry here:
Comments much appreciated.
Finished with over a whole hour to spare!!
Just preparing my release package now and zipping up all the source and what not…
Hopefully wont have any last minute problems.
Joy… the fun part of coding…
Great for procrastination… but bad when I still have lots left to finish on my own entry
I WILL do some gameplay… I promise.
Btw, if anyone wants to subscribe to me on Youtube, feel free… I am going to be posting loads of content related to Ludum Dare, and going to be starting a channel devoted to indie game development… I need to start getting some subscribers.
Here it is:
Now I am going to start implementing some of the gameplay features I have in mind and try to wrap this up into an actual game. (Proper controls, game interface, menus, HUD, scoring, etc..)
I feel sorry to say it, but I think audio might be getting the cut, I haven’t even begun to code anything for audio yet and unless I get all the other stuff that I have floating around my mind in super quick, I might have to give audio a miss this time.
All posts, images, and comments are owned by their creators.