Posts Tagged ‘unity3d’

3D modeler and beginner riggeranimator looking for a team!

Posted by
Wednesday, May 17th, 2017 3:23 pm

Hello I’m Ovidiu aka: Hamsterspit and I am a 3D modeler artist that also is learning how to rig and animate and I would like to get to know people who are interested in making small surreal games or games that I can relate to and where my skills can be handy.

Check out my style at: hamsterspit  to see if you can relate to what I do and will go from there!

Peace!

Synthwave Ride – my “music” game for miniLD 73

Posted by (twitter: @snake5creator)
Monday, April 10th, 2017 4:27 pm

link to game

So I’ve finally finished this game I’ve been working on for ~2 days now. It’s not 100% done but still quite close (80-90% maybe?), much closer to completion than is usual for me, which is a nice change from my usual 20-30% completion level.

Having released a music album recently, it was rather exciting to see that the theme for this miniLD is “music”, so in part this is a chance to expand on existing artwork to produce something new. And on the other hand, I found this to be an opportunity to develop a game from A to Z, which I hadn’t done for quite some time.

The concept was initially meant to be a bit more complicated (2+ different waves to use) but I though it would be harder to play as well as harder to adapt this idea for phones. Hopefully that’s where the game will end up in a few days or so.

Among concepts I skipped before starting to make this one was a racing game and physics based downhill game where the player could shape the mountain. For all their promise, it was hard to imagine them working (development time, increasing difficulty, gameplay simplicity) so I chose something much more easy to imagine and thus design – indirect control for obstacle avoidance.

I hope you’ll enjoy the game and have at least as much fun playing it as I had making it.

game over

I’m in ! #LD38

Posted by (twitter: @Lothrinn)
Tuesday, February 28th, 2017 10:22 pm

Hello everyone, my name is Lothrinn, I’m from France and this will be my first Ludum Dare ! I know it is a little bit early to register for this one but anyway 😛

On this one, I will work alone and I know it will be extremely difficult as it’s my first LD and my very first event of this genre ! I started coding very recently (2 months ago) and I’m slowly learning C#, working with Unity. I’m actually in university majoring Art, intending to enter in another uni specialized in videogames developement.

I know as it’s my first LD I might not be able to finish my game in time or erasing the biggest bugs but who cares ? I’m here only to have fun, to discover my limits and to learn from my mistakes ! I’d also love to see the awesome work you all will realize ! I strongly believe this event will be really interesting and will help me to progress.

Of course, I’m participating at the Jam, the Compo would be too hardcore for me 😛 I may even stream my progression during the whole event !

So, see you all in April and good luck !

 

PS : Oh, I almost forgot : I’M IN !

PPS : I apologize for my poor english, I’m trying my best :p

Free the Frog Post Mortem

Posted by (twitter: @GaTechGrad)
Monday, January 30th, 2017 7:55 pm

My post mortem for Ludum Dare is a little late.  I got really sick in mid-December (right after LD was over) and was in bed for three weeks.  I’m happy that I was able to finally finish this post mortem tonight.

This article was originally posted on my website at http://levidsmith.com/free-the-frog/.

Free the Frog Post Mortem

Ludum Dare 37 was the twelfth time that I competed in the 48 hour game development competition. I wanted to create something with gameplay similar to the classic arcade game Frogger.

Free the Frog in Unity editor

The trick with this game was getting the movement controls right. I wanted to make it so that you could press the gamepad in a direction, and the frog would immediately move to the next “square”. Therefore, the movements were discrete, so I could not use my typical methods for doing continuous movement. The area where the player can move can be thought of as a big chess board. When a direction is pressed, the frog’s location (a row and column stored as integers) is updated. Then, the frog is pulled to that new location. I had to add a boolean variable to track if the frog is moving, so that no new input is accepted until he reaches his destination. This type of movement is great for a game like this, because the player can clearly see if they will avoid an obstacle, which eliminates any case for bad collision detection.

I wanted to have a lot of mechanics in this game, which have been lacking in my previous game jam games. I wanted each level to introduce something new. I got this idea from watching Super Mario Bros 3 videos a few days earlier, where each level had some new mechanic or concept added.

  • The first level just introduces the player to the game, so the player just has to maneuver around the board to reach the exit.
  • The second level introduces the guns, which is the first time that the player can actually lose a life. The guns only shoot one bullet at a time and can be easily dodged.
  • The next level reuses the gun that I created, but this time it shoots three bullets in a row. It’s a nice way to create a new obstacle with minimal development effort. Using Playmaker makes altering the standard gun relatively simple.
  • The next obstacle introduced is the spikes. I think the first spikes may be a little unfair, because they start hidden and pop up right as the player is moving through the game level. If the player looks closely, they can see the tip of the spike when it is down, but maybe there should be some other visual cue. I used a simple Blender cylinder and moved the vertices at one end together to create a cone. I used Playmaker to move the spike up and down, waiting for a few seconds after each position transition. The frog is killed when it collides with the collision box around the spike.

    freethefrog_postmortem003

    Moving spikes surrounding a warp area

  • There is one beneficial power-up in the game. I think one of the flaws of the game is that there are too many negative obstacles at the beginning, and not enough things to benefit the player. The speed booster power-up decreases the amount of time that it takes to move to the next square. I put a long row of spikes, which makes it necessary to use the speed booster to pass. I used trail and error to determine how many spikes would be required in order to have to use the speed booster. Unfortunately, only one level uses the speed booster power-up, so I would have also liked to use the speed booster in another level.
  • Another object that the player can interact with is the warp object. I made it so that there are two varieties of warp points, one red and one blue. The red warps to the other red point, and the blue warps to the other blue point. On the first level with warps, I made it so that red warp is easily accessible and the blue warp is surrounded by spikes. If the player takes the blue warp, then the exit is easily reachable. If the player takes the red warp, then the exit is blocked by spikes. It seems to be good game design to reward the player later if they choose the more difficult path first.
  • The remaining levels don’t introduce any new obstacles or powerups, but I tried to make them unique by using different obstacles together to make a unique challenge to reach the exit. The seventh stage is probably the most difficult, where the player must move at the exact time to avoid the combination of gun bullets and spikes, which move at different rates. However, I had to ensure that there was a small period when the path was passable, to ensure that the level could be completed.

For the graphics, I used Blender as usual to model, texture map, and animate the frog. However, when the frog dies, I used the cell fracture plugin for Blender to make an animation of the frog falling apart into pieces. This effect is probably more suitable for non-organic objects, but I liked the effect so much that I had to include it in this game.

FreeTheFrogDeathAnim

As for the music, I used GarageBand on my Mac Book Pro again for composing the music. I didn’t do anything really out of the ordinary. I used the drummer track to lay down a unique beat. I made a couple of melodies, which I alternated and swapped instruments. Sometimes I would slightly modify and mix the melodies to keep the music interesting. The music for the game level is one minute and twenty eight seconds, which I think is the right length for it not to be too repetitive. I did a few quick searches for classic game level songs, and most songs seem to be around 90 seconds to two minutes before they loop.

As I did for my last Ludum Dare game, I used text files for storing the level layouts. Each character in the file represents either an object, obstacle, powerup, warp area, exit, or starting position. The text files are assigned to TextAsset objects in Unity, and then parsed in my game code using the Split and ToCharArray methods. The text files are stored in the Resources folder in the Unity project, which makes them accessible to the C# script. One issue was that I had to also encode the direction the guns were facing, because they could face either left or right. Having a gun facing right on the right side of the room would be pointless. Therefore, I used a capital letter if the gun is facing right and a lowercase letter if the gun is facing left. Ideally, the game would have a level editor, which would store the level data more efficiently. However, levels can be created and modified much more quickly by using a text editor, which is a big plus for a two day game jam.

Level parsing code and example level

Level parsing code and example level

There were some things that could have went more smoothly while developing the game. I forgot that when you call Destroy on an object, it doesn’t actually get destroyed until the next frame. So trying to do a while loop to delete all children objects while the number of children is greater than zero will result in an infinite loop and crash Unity. You would think by now Unity would give the option to break out of an infinite loop without crashing and losing all of your work since your last save. There was actually a way to attach the process to the debugger in the IDE and set a breakpoint and mess around with the variables to get it unstuck, but that method is very convoluted and probably wastes more time than just restarting Unity and losing whatever progress you’ve made. There is an editor script that automatically saves when you press play button that goes in the Editor folder, so I should remember to always add that script when creating a new project.

Free the Frog

Powerup to increase move speed

I didn’t care much for the Ludum Dare 37 theme “One Room”, so I made the story explain that the frog is stuck in one room. When the frog reaches the quantum accelerator artifact, then he is warped to the same room in a different time and dimension, which is why the room changes every time. I actually based the story on the opener from the 90’s television show Quantum Leap. The idea of the room changing each time probably came from my years of playing Castlevania, where it’s the same castle in every game but configured differently for every game.

I have a few ideas on future additions to the game. The bland gray background should be replaced, and it would be nice to have water filling in the empty areas around the blocks. The individual squares could be replaced with lillypads that the frog can walk across. The game could also benefit from more levels. The models and texture maps for some of the obstacles, such as the guns and spikes, could be improved as well.

BreakAround PostMortem/Last Chance To Play+Rate Plus More!!

Posted by (twitter: @xanjos)
Monday, January 2nd, 2017 1:26 pm

It’s a bit extremely last minute seeing as there’s only a few hours left until judging ends but I’ve just uploaded the post-mortem for my LD37 entry BreakAround which you can view by heading down to my blog.

breakaround

In other news, I will be doing a livestream on my Twitch channel at around 9/10pm-ish GMT where I will be (yup, you guessed it) playing and rating some of your Ludum Dare entries. If you would like me to play/rate your game during the stream, you can do so either by filling in my small Google Form or leaving a comment when you play/rate my game so I can check it out (or alternatively just leave a comment here) otherwise when the stream does go live, feel free to send your games in the chat.

Take care folks!

Cardboard Drift timelapse

Posted by
Saturday, December 31st, 2016 2:56 pm

Last weekend to play/rate BreakAround!

Posted by (twitter: @xanjos)
Friday, December 30th, 2016 4:19 pm

Click the gif to play!!

Well as the post title suggests, seeing as tomorrow is New Year’s Eve (which means some of you will probably be off partying somewhere) and there’s only 3 days left until voting ends, this is the last weekend to play and rate my entry BreakAround (For those of you with a Google Cardboard VR headset do give the postjam version I made a go as well).

I still have my little Google Form set up for anyone who would like to play/rate their entries as I’ll most likely be at home during the weekend (otherwise I’ll probably go through them all on Monday) and I might try doing a small rating livestream but to sign off, here’s a few clips of people playing my game.

Clip from a Twitch livestream (Click here for the full video)

 

Have a happy new year peeps! 😀

When an entry becomes much more

Friday, December 30th, 2016 9:26 am

Hi everyone!

Last summer I made my first Ludum Dare entry, it was in the #36 and the Compo section indeed. It was a great experience and I was amazed by all the feedback I got. And I didn’t want to waste it.

These months I’ve been dedicating some free time to adapt and improve the game and I’ve just proudly pubished it today for Google Play.

I’ll leave you the link to the game and some related stuff.

Game: https://play.google.com/store/apps/details…
Music: https://senseitorguet.bandcamp.com/track/high-above
Entry: http://ludumdare.com/compo/ludum-dare-36/…
Twitter: https://twitter.com/DiegoCTorguet

Thanks for the support and happy holidays :)

SPACE JUNK – post LD plans

Posted by
Monday, December 26th, 2016 5:33 pm

I’ve received a lot of positive comments and feedback from Space Junk which has inspired me to polish the game and aim for release on Android, iOS and probably the desktop computer platforms as well. I need a game to see how the process works of releasing on mobile markets and this could be a good game for that I figure.

So now, post LD, I have started to fix a few things like improving performance (combining real-time shadows with lightmaps) and tightening up controls to remove lag etc. I will also be adding a lot of content to the stream of junk. Not only things to avoid, but also interactive objects:

SpaceJunkPostLD4

Adding content in the junk stream is a really good way to continue to learn Blender modeling and character animation. The more I get to practice that the more I’ll be able to speed up my future LD games and hopefully the repetition will make the skills stick so I don’t have to relearn every 4 months =)

I also have to learn (and test) how to monetize games these days as well (my days of shareware 16 years ago appears not to be viable any more? hmmm… it was outdated even then come to think of it =) But I have figured out a way, I hope, that the game is fully playable from the start, for free, and then play time will gather experience points to unlock characters junk and other stuff – all doable by playing or accelerated through integrated ads or realistic (read super cheap) IAP.

If you haven’t tried Space Junk yet, it’s available here: http://ludumdare.com/compo/ludum-dare-37/?action=preview&uid=112319

Thanks again for a great LD and I hope you all are having a good Christmas and that your new year will be packed with creative game development!

Stefan / Imphenzia

Cardboard Drift – WebGL Build

Posted by
Monday, December 26th, 2016 5:33 pm


Cardboard Drift

WebGL build is now available. Try it out.


Cardboard Drift WebGL

HourGlass Collector. When simple things are not so “simple”.

Posted by
Saturday, December 24th, 2016 12:39 pm

First of all, I want to thank everyone for the provided feedback. We appreciate that!
It was an awesome jam and we had a lot of fun. So I decided to tell you our story.

A story of HourGlass Collector

HourGlass Collector

Team

  • Skorpyo. Team Lead, Programmer, Project Manager.
  • Fourcy. Game Designer, Level Designer, Artist.
  • Xcentric Noizz. Composer.

Theme

    “One Room”. This theme was unexpected. But it turned to be a very interesting one. It wasn’t a hard one for us. The idea immediately popped up in my head. Our game designer polished it and we started our project.

Game Design

    Fourcy started to make game design. First thing he made was a list of game elements. They were used as game objects. With this list I could make a set of placeholders to test mechanics, controls and other stuff. I started coding while Fourcy was working further on game design.

elements

     Next step – game mechanics. Our game has a lot of different game mechanics. Fourcy came up with around 15 of them. Not all of them made it to the end. Some were changed, rebalanced or trashed. I will not show you the full list cause this will ruin your game experience =) At this point Fourcy started to work on art.

Art

    All sprites were made by Fourcy. He used Sai as graphics editor.

char animation standingarch door spawnerspikesbutton map

 Level Design

    Fourcy spent a lot of time polishing this “level”. It had to contain lots of “game layers”. This was the result of “brainstorming”.

leveldis

    There are 3 spawn points on the map. A button works as a trigger and spawns hourglasses. Active spawn changes in a clockwise direction. (This is a hint for one of the levels)

Coding

    This game was made in Unity3D (C#). After recieving list of game elements I started to work. I made a list of placeholders and started to implement base logic. Here we began to move and jump. What a platformer without jumping?

     Spikes added (yellow box). First real danger. By “danger” I mean DANGER. See these corpses?

    Working with placeholders saved a lot of time. I’d made almost every game mechanic before we had sprites ready. But with sprites it looks better.

Music

    Our game is almost ready. We need one more thing – a good soundtrack. This is where our composer starts to shine. Provided with gameplay and pictures he made an OST that changed the game. It was no longer a boring platformer but a funny game that attracts you from the start and keeps you till the end. If you like the OST and want to listen more, search for Xcentric Noizz.

Testing

    We asked everyone we could to try our game. We knew it was hard so we made the game a lot easier. We can’t make it even easier because it will become boring. We did our best to balance the difficulty curve. But there’s always room to improve. And thank you for the feedback and gameplay videos. This helped us to find the problem.

Thanks for reading!

Click here to play HourGlass Collector

Post LD

Posted by
Friday, December 23rd, 2016 5:55 pm

Finally finished the post ld version, of my entry. Now it’s how it should be :)
And here it is goo.gl/WHdKo7 !

screenshot

screenshot

“Ludum Dare: The Game” Post-Mortem!

Posted by (twitter: @ddrkirbyisq)
Thursday, December 22nd, 2016 4:14 pm

If you haven’t already, go play and rate my entry, Ludum Dare: The Game!

postmortemtitle
This time around I entered the compo division and decided to spend my 48-hour LD making a game about…making a game in 48 hours for LD. So meta! xD It’s lightly inspired by Game Dev Story, but certainly has its own unique spin on things.

postmortem1

I came up with a couple of other ideas for the “One Room” theme, including some sort of game where you need to tetris-pack furniture pieces into a gridded room, but the LD game seemed particularly exciting to me and I was already coming up with a bunch of ideas that I wanted to implement for it, so it was a no-brainer that I should run with it. It was a relatively obvious play on the theme — I mean, there I was in my room thinking “Hmm…if there’s only one room, what kind of room could it be? …oh, what about the one I’m literally in right now?“…but even so, I decided that I should just go with it and not overthink things too much.

Overall I’m really happy with how the game turned out! It’s a completely new style of game for me and is heavily UI-focused — you play the game using your mouse only, which I’ve never done for LD before! Getting to branch out and try something new was pretty fun, and although I definitely ran into some troubles and rough spots (more on that later), everything turned out alright in the end. I also managed to achieve my goals for this LD, which were pretty simple — to take care of myself, do a good job, and have fun!

As always, let’s take a look over what went well and what didn’t go as well.

 

What went well:

Game idea

The “LD game” game idea was one of the first main ones that I came up with and even before I had settled on it my mind was already buzzing with different interesting ideas that I wanted to incorporate. Sometimes you get a good idea and you just feel great about it! There are actually a ton of unused ideas that I would have loved to include but didn’t have time to implement, including:

– An entire “pre-compo” phase where you get to choose what to prioritize: purchasing supplies, getting rest, watching the keynote, making an I’m In post, writing starter code, etc.
– Having to select between multiple coding frameworks, e.g. Unity vs C++ SDL vs GameMaker, each with its own pros/cons
– A pet cat that you can feed, play with, and pet to improve your happiness
– Animations for each of the actions, like coding, making music, etc. that would change in intensity during high productivity (a la going Super Saiyan)
– Random events, like power outages, bluescreens, getting sick, kitchen fires, telemarketing calls, noisy leafblowers waking you up from sleep, etc.
– Option to “phone a friend” for help, either with debugging, remotivating yourself, playtesting, etc.
– Different “moods” for the character portrait (right now it’s always just the same smiling face)
– Very simple minigames that you play for the different actions instead of just waiting for time to pass. Different coding frameworks and game genres/design ideas could correlate with different minigames
– More choices for what to work on when designing/doing artwork/etc.
– More choices for what direction to take the game, e.g. focus on speed but sacrifice quality
– A “brainstorming” phase where you get random ideas and have to decide which one to stick with — affects starting points and other bonuses

As a result of me being so hyped about the game idea, I actually did a record-breaking amount of work on Friday night. Usually I spend Friday night purely on brainstorming as well as setting up a basic project and then going to bed, but this time around I kept chugging along until pretty late in the night doing artwork and implementing things. Here’s what I had at the end of Friday night already:

progress_1

While none of the actual gameplay is there, the basic room is already fully drawn, the dialogs are working, and all of the basic tech is in place! That’s pretty good for Friday night!

 

Unity (specifically, coroutines and UI implementation)

Holy cow, I would NOT have been able to pull off this game using my old Haxe toolchain. This was my first time using Unity for a solo compo entry, and it overperformed again! For this game I needed to create a whole bunch of different UI dialogs, complete with word-wrapping, 9-slice background images, etc. and doing all of that programatically would have been a legitimate nightmare — having to deal with a full compile cycle every time I wanted to tweak the positioning of a UI element would just take way too long. Thankfully the Unity 5 UI system worked out really nicely and I was able to just place everything using my visual editor. Whee!

Screenshot 2016-12-22 13.06.01

I also made =extensive= use of coroutines, which are basically a way for you to have a function yield and execute across multiple frames. A lot of the flows in my game were time-based, so it made much more sense to write something like:

// Displays a dialog box, then waits until it closes.
yield return DialogBox.Show("Starting a new atcion!");
// Start playing sounds, etc.
...
// Wait for 5 seconds until action completes.
yield return new WaitForSeconds(5.0f);
// Show results, then wait until results display is closed.
yield return ResultsBox.Show(
 "I finished!",
 new[] { string.Format("+{0} Art", art) },
 new[] { "icon_art" }
);
// Cleanup, stop playing sounds, etc.
...

There was a little bit of trickiness around making sure that there were no messy interactions between different flows (I used simple locks to guarantee that only one dialog sequence could be showing at a time), and making sure that you could interrupt a flow if you decided to start a different action (in that case, I needed to ensure that we still did the appropriate cleanup for the old action, stopped playing any action-related sounds, etc.).

postmortem2

One thing I did miss slightly was the ability to get return values from coroutines. I had a common case in my game where I needed to show some sort of selection UI, such as picking between two choices, or selecting a new action to do, and it would have been nice to write:

// Yield on a coroutine that returns an int value.
var myCoroutine = StartCoroutine<int>(ChoiceBox.Show("Which thing should I do?", "Do this thing", "Do that other thing"));
yield return myCoroutine.coroutine;
// Use the int value for something.
int selectedChoice = myCoroutine.returnValue;

While you can’t do this out-of-the-box with Unity, you can write your own coroutine extension methods that will allow you to achieve the same thing. There are several different proposed extensions, and I’ve actually used this particular one before to achieve exactly what I described above, but unfortunately I just didn’t have that tech set up and I couldn’t be bothered to re-implement it again during the compo. Instead I had a rather janky approach where I passed in an anonymous lambda method into the coroutine which it would invoke with the return value:

// Pass anonymous method to set selectedChoice to either 0 or 1.
int selectedChoice = -1;
yield return ChoiceBox.Show("What thing should I do?", "Do this thing", "Do that other thing", {val => selectedChoice = val; });
// Use the int value for something.
...

This is a bit uglier, but works just fine in practice.

 

Overall gameplay

While there are a bunch of things I’m not quite as happy with about the gameplay (more on that later) and a bunch of things that I didn’t have time to implement, the gameplay and content of the game turned out to be pretty fun overall despite its rough edges, and the feedback that I’ve received so far indicates that people are having a good time with it. I think the main thing is that it’s just FUN to think about trying to manage your time by doing these different things and seeing the results that happen. When you first start playing the game you don’t really know in advance what kinds of benefits or disadvantages each action has, but I think that’s sort of the fun itself in that you’re sort of exploring the different options available to you. This also gives the game a bit more replay value as when you play it a second time you’ve got a better handle on what needs to be done and what options are important.

I also learned my lesson from Grow Your Love (which was way too punishing with its grading) and ended up with a completion/grading scale that I think people will have an easier time with. It’s always hard to balance your own games because you’re always the foremost expert on them and as such have such a huge leg up on everybody else, but I came up with the “requirements” system that would serve as a rough difficulty adjuster, and then made it so that you could aim for a higher overall score on subsequent playthroughs.

postmortem7

In the beginning I had this hastily-thrown-together algorithm that would calculate your final overall score and just spit out a number with absolutely no explanation, and one of the features I decided to spend my last precious hours working on was the detailed scoring breakdown, along with revamping the scoring system itself. This was WELL worth it, as being transparent about how you’re actually graded means the player actually understands why they received the rating they did and allows them to know what to change during their next playthrough. Plus it’s just fun to be given a detailed report on your actions :). A lot of key changes like this happened during the later part of the compo and I’m really glad they made it in.

 

Artwork

While pretty much all of the artwork for the game was static (I had noooo time to put in fancy animations), I’m actually pretty happy with how the room came out, and had quite a bit of fun drawing it as well. This is probably the most intense pixeling I’ve done for LD (art is definitely my weakest area), and I’m happy with how the game came together stylistically. I used a few different references for the room graphics, including random pixel art rooms that I found via google, as well as Earthbound / Undertale graphics. The dialog box visuals also fit very well, as did the font that I chose.

 

Random names, comments, and the “refresh page” joke

One of the funnest parts of the entire creation process was developing the random game name generator, which can come up with hilarious titles such as “Tabla Hero”, “Retroidvania Maker”, and “Bullet Hell: Championship Edition”. The generator isn’t actually that complicated, as I didn’t have time to make anything fancy — it just selects from a random bank of prefixes and a random bank of suffixes and puts the two together.

Here are the prefix/suffix lists for the Rhythm Game genre, for example:

prefixes = new[] { "Bongo", "Tabla", "Dubstep", "Chiptune", "Bagpipe" };
suffixes = new[] { " Hero", " Band", " Karaoke", " Idol", " Raver" };

So you can have “Bongo Band”, “Dubstep Idol”, “Bagpipe Hero”, and so on and so forth.

The random theme selection is a little more simple, as I just put in a list of all of the themes from the theme voting rounds for LD37 and have it randomly pick one.

The randomized comments were also fun to make, and I think add a nice touch to the final scoring. All of the comments are pre-written, but the game selects different ones to give you based on your ratings in each of the categories. Also, you get more comments if you have a better community rating (mostly from posting to the LD blog).

progress_3

Finally, the “refresh page” theme announcement joke at the beginning of the game is something I just knew I wanted to have, as it’s (funnily enough) such a consistent and iconic part of LD. So that made it into the game pretty early on.

 

Posting animated GIFs

Lastly, this is a minor point, but I have to say that posting progress updates got a lot more fun now that I can capture animated GIFs and post those as well. I’m using ScreenToGif for this at the moment and it’s been working well!

 

What didn’t go as well:

Gameplay balancing

Thankfully, I managed to do an initial rework of the gameplay balance and tweaked a lot of the numbers during that pass. Some changes I made that got into the final game:

– In the beginning productivity affected the speed at which you completed actions! I changed that so that it instead affects the amount of “points” that you earn for each action.
– Point values used to be much lower. For example, a single coding action would get you between 2-3 points. I restructured all of the point values so that your overall ratings would be on a ~rough scale between 0 and 100 (though you can go higher of course), and I think that worked out better.
– As mentioned earlier, the overall rating system went through a big rework. It used to be much more nebulous and also penalized you very heavily for your weakest category by weighting it more heavily in the final average, to encourage you to diversify your efforts.
– A lot of minor tweaks to numbers, including the rate at which each “need” counter goes down.
– For most of the project’s lifecycle there were only the “standard” variants of actions — for example when you coded a new feature, it would always take 4 seconds and you’d get ~20 points (and sometimes a bug). Now, there’s a 25% chance that you get an “I’m stuck feature” that takes 6 seconds, for which you can chose “Read the Manual” or “Search StackOverflow”. One of these choices gives you ~20 points and the other gives you ~30 points, so depending on your choice you could actually be less efficient than normal. There’s also a 25% chance that you get a “long feature”, where you can choose to “Finish it ASAP”, or “Take your time”. Both result in ~40 points, but the “Finish it ASAP” option is 3 seconds faster at the expense of creating a random amount of bugs. There are similar variants for the other actions as well.

postmortem3

These changes did a lot to clean up the overall gameplay. However, even after all of these changes, the game could probably still use some rebalancing. Some issues off the top of my head:

– Having only two food options is pretty limiting, especially since both have their drawbacks (homecooked meal takes a long time, frozen pizza isn’t consistent in providing enough substance). That’s not the worst, as it creates and interesting decision, but I think more choices would have been better.
– Some of the actions are just not beneficial on average right now. I think that’s fine to some extent, but it should probably be a little closer.
– The relative timescales work out really weirdly, as microwaving a pizza takes 30+ minutes for some reason (!). This works out just fine in terms of gameplay, but makes no real-world sense.
– The medidate and bounce on bed actions aren’t too great in terms of their outcomes. They have a 50% chance of a negative/nothing effect and 50% chance of a positive effect, but the positive effect isn’t really enough to outweigh the cost.
– Browsing other people’s posts is pretty cost-inefficient as it gets you the same amount of motivation as posting to the blog, but gets you much less progress points.
– It’s a little too easy to meet the requirements of the harder genres. I DO think that it’s correct to allow people to be able to hit the MMORTSRPG requirements, and I think it’s better that I erred on the side of too easy rather than too hard, but right now it’s a bit =too= easy.
– I did a good job of raising dialogue notifications when your need levels fall below a certain point, but it can be jarring when two or three of these happen at the same time, especially if you’re in the middle of a task.

 

Gameplay format (?)

This one is a bit more nebulous, but at the end of Saturday I was really concerned about the direction that I had taken with the gameplay, as it didn’t really seem very interesting at all. You just chose the actions that corresponded to your requirements, consistently got points (remember, there were no variations yet), and did the corresponding “need” action whenever your need levels were low. There wasn’t a lot of strategy, nor was there a lot of real decision-making. More importantly, there just wasn’t much zany action going on!

In the end I managed to salvage things by at least adding some interesting choices such as the variants mentioned above (which I added for coding, art, music, and design), as well as adding some more “fun” actions such as bouncing on the bed and meditating. But I wonder if it would have been better to focus more on the “storytelling” aspect of the game rather than on the strategy / time-management aspect, especially given that the time-management aspect didn’t involve that many decisions (maybe it would be different if you had to play minigames for the different actions??).

postmortem4

So I wonder if it would have been a better call if I had come up with an experience that was a little more scripted instead. Something akin to a visual novel, perhaps, with randomized events pulled from a large set. Each choice you made would still affect your games’ stats, but instead of becoming a game about looking at numbers it would be more of an interesting story with zany things happening. You’d have less control as the player, but as the creator of the game I’d be able to ensure that you experienced many more different events. It would play out similar to a choose-your-own-adventure story, I guess. Again, I’m not entirely sure that would have worked out better and by the time I was considering this option seriously I decided that it was unfortunately too late to really make that design chance.

 

Minor Unity audio issues

This is a really small silly one that I already knew about, but still annoys me so I’m still writing it here.

The current build of Unity has an issue with WebGL builds such that the beginning part of every sound is cut off when played back. The result is that the start of each sound sounds a little different (noticeable especially for the kick drums in the intro sequence, and the text dialog sounds), and more importantly, seamless music looping doesn’t work because there’s a gap. I haven’t tried every possible compression type, but I DO know that making your build with an OSX machine instead of Unity on Windows does fix the issue. So it’s just a platform-specific bug with the Unity build process that hasn’t gotten fixed yet. Luckily I have an OSX laptop so I was able to replace the build after the fact, but this still annoys me. I’ll have to file a bug report for this at some point to make sure it gets fixed.

There was also a minor issue with a small pop/crackle effect that occurred at the end of sample playback, which was especially noticable with the text dialog sounds since I was playing so many of them each second (resulting in a buzzing noise when they all ended). Again, minor stupid things, but just annoying.

 

Overall this entry was a blast to make and I hope you guys enjoy it too!  I don’t have plans for a post-compo version, as I think I like the game enough as it stands.  But thanks for reading through my detailed post-mortem!

One last note: the soundtrack for the game is also available to download for free on my Bandcamp site at https://ddrkirbyisq.bandcamp.com/album/ludum-dare-the-game-original-soundtrack.  Go grab it now! 😀

 

Post-mortem: My first game!

Posted by
Tuesday, December 20th, 2016 5:38 pm

How was it

Really enjoyed my first jam. I was able to come up with several ideas within couple hours, and settled on one shortly after. Mechanic didn’t take too long, spent significant time on graphics and audio (not that they turned out well).

What did I learn

That I can make and publish a game! This is a big one for me, as I have been writing code for a while, but I never really made anything. I used LMMS and sfxr for the first time, and learned a ton about Unity3D. Feedback on my game is also great.

What will I do next time

I will aim for a game that can be completed withing 5 minutes. My submission doesn’t have a satisfying win state, which makes it a lot less fun. I’ll also be improving my audio and graphics skills, so my next submission will be better polished. While rating, I noticed that many games do not have main menus. I will remember this and not worry about it for my next submission :)

Cure4Life Postmortem

Posted by (twitter: @gipzo_)
Tuesday, December 20th, 2016 8:00 am

Hello again, fellow darians :)

I guess this is my final postmortem post for Cure4Life.
Mostly because I can’t come up with anything new to write about this game :)

Firstly, my two older postmortem posts about this game:

Running out of Hands
Swinging the Axe

In this post I want to show you how our game changed from beginning to the end.

Quick tip: Using some sort of CVS (Git, for example) is very useful for this kind of posts.
It is difficult to find some time and capture game while jam is in progress (and if you’re not making timelapse).
But it is pretty simple to make commits to CVS and then, after the jam, go back in time and make some gifs :)

Day 1

After discussing core gameplay I started making prototype without proper sprites.
Managed to make physics-based shotgun :)

oneroom_1

(more…)

BreakAround – LD37 Jam Entry

Posted by (twitter: @xanjos)
Monday, December 19th, 2016 5:31 pm

Well I was going to post this earlier (I’ve been busy this past week as well as being mostly lax about judging for some reason) but here’s my jam entry for Ludum Dare 37 (otherwise known as my “comeback” after failing LD36) which I like to describe (in my own personal opinion) as some horrible combination of Breakout with a 1st person 360 view. Desktop and web builds are available (Although for performance reasons the desktop version is recommended) and there’s also a version of the game on Android/Google Cardboard for those that like their VR.

breakaround

Click the gif to play

Anyway as usual I’ve put up a little Google Form which you can fill in if you would like me to come and play/rate your entries (I’m going be mostly busy for the next week as I’ll be working on important stuff for my main indie game project but I’ll try to go through each submission as soon as possible).

[cache: storing page]