LD 41 April 20–23, 2018

REPLY WITH YOU BROWSER GAMES!

Hey everyone !

I’m currently at work and figured I have some free time at noon where I can play & review some games. I'm currently on a macbook but I prefer playing browser games. I’ll try to play and rate as much as possible. As I've mentioned before, I'm loving the submissions so far but I feel like the reviews have been lacklustre this year. Lot's of copy/pasting going on and I'd love to change that.

If you'd like to get some more ratings stop by my submission and I will gladly return the favor!

PLAY MY GAME IN BROWSER HERE!

Here’s a short list of undervalued games that I played and really enjoyed. (& left an ellaborate review): * https://ldjam.com/events/ludum-dare/41/delve
* https://ldjam.com/events/ludum-dare/41/type2flap
* https://ldjam.com/events/ludum-dare/41/shuffle-climber
* https://ldjam.com/events/ludum-dare/41/ultimate-game-simulator

Draw Me Something - Sorta Post Mortem, in which I write a book

First off, yay 20 ratings! <3 Thanks everyone who's played.

win2.png

Now, I knew before theme voting was even happening that I wanted to do a game where you somehow drew what was in it. The original idea was that you would just draw the player character and maybe I'd somehow animate that via code? I was hoping for the "You start with nothing" theme, because it's the one that seemed to fit a drawing game the best, but I was going to try to shoehorn my idea in anyway I could. I was pleased with combining genres too, because heck, drawing can be considered a genre.

I decided this time around, I was going to stream my development if I was able. I'd never done a dev stream before, didn't really expect anyone to show up, and half expected that I'd find I was unable to code while on camera. But I wanted to try it anyway.

Friday
Friday was the only night of the jam I didn't have to work, but unfortunately the theme drops late in the evening for my timezone anyway, so I ended up having to do all my coding super late at night anyway. Ended up waiting until two in the morning to start, because I wanted to stream as much of the dev as possible and that was when I would be free to do so.

I managed about two hours of work that night. The entire time was spent getting a rudimentary drawing mechanic down and working out how to save it into a sprite. My original plan was to outright save a screenshot of the drawn area, and then get gamemaker to load it up as a sprite. But that meant html5 was out. But then a friend nudged me in the direction of utilizing "surfaces", a concept I still don't totally understand but that let me directly copy part of the screen into a sprite, which was amazing and let it function on html5. Kinda. There were other things preventing it from actually functioning properly on web, but it wasn't the sprite saving.

Went to bed pretty happy that night.

Saturday
Full day of work. Yay retail.

Anyway, did some art after dinner. Improved the current ui from boxes and lines, to something that could remotely pass as an art app. Paintbrushes and canvases, all that. Also got some fonts in place.

Started streaming and seriously devving around midnight. Went for about five hours that night. Built most of the drawing stages. Got them all assigned to different objects in the game. Figured out what was causing html5 to crap out - apparently html5 is a lot more sensitive about the ways you create your arrays than the windows builds are. Which is fine. Annoying, but fine.

Then spent a bunch of time picking out colors to overwrite the enemies with. The hope was to pick colors that would be distinguishable, even if a player was colorblind, but that still looked good otherwise. Friends helped me google and we sorted out a pallet that we think would work. Didn't really have anyone to test it on though, so it's more of a fingers crossed kinda situation. Also took away the color black so that enemies would have to get a color, and added little feet shadows so you could always see the color they were even if they were drawn all in dark grey.

Ended the night by starting work on the shooting mechanics. Enemies were given a random color, player was given ability to walk around and shoot. A slightly awkward control scheme was born. WASD and Arrows, I dunno, seemed like a good idea at the time, though I think people may find that a little confusing at first.

Sunday
More work, woo.

By this point, I was utterly exhausted, having gotten maybe three hours of sleep each night. Decided that I probably couldn't stream AND dev at the same time that night and opted to just code privately. I knew I wouldn't have time the next day to do much more than last minute bug fixes, so it was going to have to be a "work until it's done" kind of night.

Did some default sprites. What? Bet you didn't know you could skip some of the drawings if you just couldn't be bothered. Or more to the point, I wanted to prevent invisible enemies in case someone hit done by mistake or something. Drew the sprites in the game itself, so they'd have the right (terrible) look, but turned them into actual sprites via screenshot and Paint.NET.

DbbUqRXW4AA1IG1.jpg large.jpg

Got walls in place - originally wanted to have a more interesting arena, but that ended up scrapped for time. But players couldn't escape the box they were in, so there's that. Added two more drawing segments so that the walls could be semi-randomized. If I do any updates to the drawing part, I may mark these two as optional. Because you can totally skip one or both and the game is fine with it.

Walls gained the ability to be painted. Got some really simplistic enemy ai in place. They literally just run at the player. Nothing fancy, and I definitely think it could be improved to look more natural. Buuuuut, it worked. And I got a level timer in place.

Then level definitions. Decided on ten levels. I don't know why ten; it just felt like a nice round number. Levels are actually stored in an array...where every line of the array contains another array. Enemy spawn rate, and the chances for each enemy type. There's probably cleaner ways to do it. I didn't really have any time to really balance this; my only goal was "not impossible", and I think it ended up on the easier side once you get the hang of the controls.

Once all of the game mechanics were in, I started working on the more polishing type things. Ground got painted when you missed a shot. Title screen was created. And KEYBINDINGS! Goodness, I've wanted to do proper keybindings forever. And they worked.

Music and sounds were sorta last minute. Using Sfxr was easy enough for the actual sound effects, but music was more of a challenge. I'm not really a music person. I tried composing a few things on BeepBox, but by this point it was 4:30 in the morning and everything I wrote sounded exactly the same and was really annoying. So I opted to generate some music on Computoser, and I think that worked out well. And while I was polishing things, I added buttons to adjust the music volume and un/mute the sound effects.

I was all set to release.... But then, of course, the html5 version basically explodes on me. No. Really. DbdgKi6WAAA_Y5T.jpg

By this point, it's 6:30 in the morning. Strongly considered just releasing the windows version and trying to fix the port later. But it wouldn't stop bugging me. Manage to get the images to stop skewing by messing with texture groups - just let me tell you, while I love Gamemaker, there's definitely some unintuitive wonkiness with the html5 exporter. Now, the sprites were fixed, but the text on the controls page was still screwy. Lots of digging and experimenting, and it comes down to the html5 version not reporting keyboardlastkey properly, which was going through the "key to text" script I have, and parsing so wrong it wouldn't even display anything. More experimenting, and finally (FINALLY) I get it working with keyboardkey instead.

Finally, by eight in the morning, I had a completed game that worked, looked and sounded good, and had more polish than I'd ever put into a game before. Swore I wasn't touching it for at least a week. So of course someone had a good idea and I had to put it in last minute. And then a few hours later, an unfair bug that damages the player for no reason, so I had to fix that.

Conclusion
Ok, so sleep deprivation is bad. But in this case I don't regret it, even if I'm still feeling the after effects a bit. I learned a TON from making this game. I will probably be referring back to things in it for ages.

If you'd like to play, you can do so here on my game page, though I do have my 20 ratings and you're welcome to pass by if you're looking for people who actually need ratings. And you can find my stream archives Here on youtube if you care, and on the rare occasion I stream I can be found over on Mixer.

Mettle Gear: Peace Rider Playthrough

Here's a video of me struggling to complete my own game on easy! You can play it here and do much better. Has a web version! Whoa!

https://www.youtube.com/watch?v=wVTGOYJv0-Y

Also: If you want to make your capture files needlessly huge then a film grain and chromatic aberration post-process is perfect.

This game is bug-free, I promise!

If you haven't already, you should definitely check out our combination of Tower Defense and Farming Sim.

Looking forward to your feedback!

BugFree?: https://ldjam.com/events/ludum-dare/41/bug-free

bugfree.png

Add webplayer

I juste add webplayer on my itch.io page.

It's my first try wthis HTML5 exporte so if you see a problemes seend me a comment pls.

My game SpashLogo.png My game

if your want MAC os build add comment too

Guardian of the Depth Time Lapse

https://www.youtube.com/watch?v=UQNof9kU-P0 https://ldjam.com/events/ludum-dare/41/guardian-of-the-depth

FTL fans. Come here.

https://ldjam.com/events/ludum-dare/41/ssss

Play my Game on Windows XP

Hey there XP users, are you there? Anybody? If you want to, you can play this game and please add a comment if you use Windows XP, this micro-poll would be interesting to have for our discussion about deployment which raises the question what to support in your game.

Also note that XP is only the minimum OS target, you can play this on ALL Windows versions.

Here is the game: https://ldjam.com/events/ludum-dare/41/no-brain-jogging

screen 02.png

Reached 20 ratings on Age of Pacman!

Thanks everyone for taking the time to play my game and give very valuable feedback. That's how we all get better bit by bit creating games for Ludum Dare.

I've reached about 20 ratings in most categories and that's awesome. Here is some gameplay if someone is interested:

gameplay.gif

Rating other games!

I'm free to play a lot of games this weekend so feel free to leave a comment and a rating on Age of Pacman and I will definitely check out your game and give constructive feedback! :smiley:

Play Age of Pacman!

Really near to the 20 ratings !

I'm really near to the 20 ratings ! help me to get them ^^

Capture d’écran 2018-04-27 à 12.19.24.png

https://ldjam.com/events/ludum-dare/41/dancing-car

TURBOSTUNTS - Gotta go fast!

https://www.youtube.com/watch?v=NXaeY3K3fVA

https://ldjam.com/events/ludum-dare/41/turbostunts

Fat Panda! Design Process

Hi everyone! Today we are going to talk about the desing process of our puzzles - runner game, Fat Panda!

Logo.png

After we decided how the scene-view will be our designer started to think about the puzzles you will encounter in the game. This is how the designer write about how it will be (It is in spanish, sorry 😉):

numbers_puzzle.PNG

And this is the mockup that our artist make to specify how it would see in the game:

NumbersPuzzle.png

And... Do you want to see how it was finally implemented on the game? Check it out our game!:

https://ldjam.com/events/ludum-dare/41/fat-panda

Thanks to everyone that is rating our game, your feedback is very very very much appreciated!

(We are working on what you are telling to us about the game, thank you very very much!)

Thank you to everyone who rated our game!

It means a lot to us and we want to improve it after the event is over.

You can check it out here if you missed it: https://ldjam.com/events/ludum-dare/41/you-have-my-word

12_3.gif

Jeff From Accounting - A Retrospective [Code/Design]

Why hello there reader!

Following is a brain dump from my perspective of making Jeff From Accounting.

@hi-im-greg has covered a lot of the art process in his post which you can find here - a recommended read if you wish you know how to do a jam after having appendicitis... sometimes I think that boy is actually a machine.

I’ll be digging into the game design, gameplay systems and technical challenges I dealt with during the jam.

The Unity project - including code and assets - can be found on github here

[Spoilers] If you've not had a chance to play our game yet check it out here


Day 1

We started pretty late on saturday - around 12pm - with a coffee and fryup at a local café. Over food we discussed the theme but initially we were frustrated by the inherent juxtaposition of combining impatable things. We toyed around with some ideas we had pre-jam in unlikely pairings such as making a Dungeon Keeper clone rhythm game, but nothing really felt right. Greg was keen on making an FPS, something none of us had done before and I had been thinking about typing games like the classic ZType and Typing of the Dead. So we spun on that for a while and out popped the idea for reloading what you type, which led us to a typewriter gun and subsequently the office theme. Offices are boring though, and inspired by Davey Wreden’s excellent ‘The Stanley Parable’ we decided to go for a surealist styling.

Our work was kind enough to lend us office space for the jam so we cosied up in a meeting room and assaulted the whiteboard for an hour, sketching out the floor plan and trying to scope out features.

Whiteboard.png

After setting up the github repro and doing a bit of IT Crowd style admin we set off to work. Wanting to get something quick and dirty up and running for Greg to be able to move around the environment he was building I started with grabbing the default Unity StandardAsset FirstPersonCharacter. This turned out to be a total letdown, and I ended up spending a large portion of the day rewriting chunks of it, adding enumerated states, head bob blending, refactoring the step cycle to reset correctly on idle and rewriting Get functions that modify state.
(╯°□°)╯︵ ┻━┻

Next up was the weapon and damage system, I’ve written damage systems many times before but as we wanted to shoot letters I had to build around string buffers and character parsing to allow for non alphabetical skipping (spaces in names for example) and case insensitivity. This was relatively simple and pretty fun to write, and it was quick to get Greg’s first pass of the weapon in afterwards. Unfortunately I didn’t have time to finish writing the projectiles so by the end of the day we had some menacing looking enemy capsules with health, but no way to hurt them!

Day1_LQ.PNG


Day 2

Dale had finished the first bit of music and a load of sound effects, while Greg had roughed out Jeff’s office by the end of the first day, so my initial priority sunday morning was to get these setup up properly so we could get a feel of the character in the environment.

After helping Jeff find his office I moved on to reloading. I expected this to take ages as Greg wanted all the keys to move… but as it turns out I can write some pretty dirty code when I want to. Key GameObjects were found by name and bound to Unity KeyCodes on the assumption that they start with the prefix “Key_”.
KeyCode alphaStart = KeyCode.A; for (KeyCode alphaKey = alphaStart; alphaKey < alphaStart + 26; alphaKey++) { Transform keyTransform = children.Find(t => t.name.StartsWith("Key_" + alphaKey)); if (keyTransform) { GunKeyBinding newBinding = new GunKeyBinding(); newBinding.keyCode = alphaKey; newBinding.transform = keyTransform; newBinding.originalZ = keyTransform.localPosition.z; gunKeys.Add(newBinding); Debug.Log("Found key: Key_" + alphaKey); } } Using these bindings I could then loop over Input.GetKey(keyCode) and animate the keys.

Typewriter.gif

Once we had a functioning typewriter it was time to start shooting things!
My first pass implementation for the projectiles was rough and ready, firing text meshes from the muzzle of the gun and ray casting delta moves, getting Health behaviours from the hit object and applying damage. But not having made an FPS before there were a few classic mistakes I made... more on that later, I could now shoot things!

So I grabbed a chair from Jeff's office, made it an enemy, and called it Greg Greg Greg Greg.

Day2_LQ.PNG

The rest of the day was spent tinkering with HUD, Text and weapon shaders, more player movement tweaks, a Music+SFX fading/queuing/pooling system and implementing a GameManager to help control some of the the more global game logic. I also hacked in a UE4 style "spawn at scene camera" helper to speed up game play iteration time.


Day 3

Monday was a late start and coffee was essential, so we made sure to stock up before heading into the office. By the time we all made it there things were feeling a bit tense; I had the core combat done with basic path finding but we were miles behind on what we wanted visually and Greg had only finished modelling the office, corridor and lift. Audio was in a good place though, Dale had been firing SFX at me faster than I could put them in the game and he had already written the elevator music. So I took that as a sign to get cracking on the "elevator experience".

Day3.PNG

We wanted the elevator to act as a calm before the storm, after the first bit of corridor combat against the now family of chairs. It would allow the player to take a breather, enjoy the surreal decor and absorb the mechanics they had experienced so far, ready for the next bout.

I'd not used Unity's timeline before and was surprised at how flexible it was, setting up trigger volumes, sequencing the audio, animating the doors and hooking up music queuing took less than an hour! I'm looking forward to using this more in future projects.

After a quick chat over yet more coffee we decided to scope back our original plan to have smaller rooms off of the main chamber so we could focus on polish. So Greg finished off a quick pass on the floor geometry and I rebaked the navmesh and started setting up enemies in the level.

Next I went back to the gun play, added a reticule and raycasts from the camera to resolve fire direction, but quickly ran into what I now realise is a classic FPS problem, if the muzzle is inside something your bullets shoot backwards! As we rendered the player in a second pass this was initially hard to debug as visually the gun was not intersecting anything. In the end I wrote some debug rendering for the projectile motion and hit locations, which highlighted the problem immediately - bit of a face palm moment really...

picard-facepalm.jpg

The next few hours are a blur, lots of stuff broke, got fixed and broke again. Many tables were flipped, more coffee was drunk and finally, miraculously we squeezed out a build for submission.


Post Jam Feels

For a start we were all exhausted, but more than that, proud. It wasn't quite as epic as we had planned in our heads, but giving ourselves time to polish made a big difference to the final presentation and allowed us to address more subtle niggles like text fading, prompts for reloading and lighting.

As I alluded to earlier the projectile implementation was fairly naive, and resulted in a frustrating bug where projectiles would sometimes pass through enemies - something a number of commentators and streamers picked up on. After a day or two of R&R I got a chance to look it over and discovered the issue stemmed from a subtle and annoyingly simple issue with the motion cast.

If an enemy was moving towards the player and the projectile stopped just short of hitting it, the next frame the cast might start within the enemy's collider, resulting in no hit response from the raycast. I feel like this is probably a typical problem with simulated bullets and my quick solution was to offset the trace origin backward by the delta move each frame. Of course this might result in incorrect hits against bodies moving perpendicular or faster than the projectile, perhaps solved by a secondary cast backwards, but a quick fix was all I needed :)

``` private void FixedUpdate() { float distanceToMove = speed * Time.fixedDeltaTime; m_distanceTraveled += distanceToMove;

if (m_distanceTraveled > maxDistance)
{
    OnExpired();
}

Vector3 castMoveDelta = m_castDirection * distanceToMove;
Vector3 traceOrigin = m_castPosition - castMoveDelta; //we trace from one frame back to avoid missing objects coming towards us
m_castPosition += castMoveDelta;

float castDistance = Vector3.Distance(traceOrigin, m_castPosition);

//do cast
RaycastHit hitInfo;
bool validHit = Physics.Raycast(traceOrigin, m_castDirection, out hitInfo, castDistance, hitMask);
RaycastHit damageHitInfo;
if (Physics.SphereCast(traceOrigin, damageRadius, m_castDirection, out damageHitInfo, castDistance, damageMask))
{
    hitInfo = damageHitInfo;
}
if (hitInfo.collider)
{
    OnHit(hitInfo);
}

} ```


Conclusion and Thanks

We have been completely overwhelmed by the feedback you guys have given us and would like to take a moment to thank you all not just for your kind comments but also for the critical feedback on our and every other game this Ludum Dare. This will have been @hi-im-greg and my 7th Jam together, my 13th since LD26, and @dale-smith's first ever!

Lumdum Dare is a fantastic opportunity, pulling us back time and time again to help us grow and test both our creative and caffeine consumption limits :)

We are hugely grateful to all the hard work put into the event by organisers and admins behind the scenes.

And until next time, may Sittatron the Magnificient First of his Name keep watch over you all!

Aaron

Football Fire Duck!!!

https://ldjam.com/events/ludum-dare/41/fire-duck-football

2 (1).png

try cool football with ducks!

Small update

Thankful to https://www.twitch.tv/videos/254855593## and grateful for entertainment, music cheered me up!. . .

Soon coming games. dhfjgadslfghasdljfhagsdjfkasd=8gfhhhahhhshdhjkafjkhsdgjfkhasdkjyfgasdjkfaghsdkfijahsdgfkasgdfasjkdhfgn

Axe and Roses, a barbarian date simulator.

Ever dreamed about dating barbarians ?

Discover Axe and Roses, a barbarian world in time of peace where epic warriors have to find a way to spend their free time.

capture.png telephone.jpg

https://ldjam.com/events/ludum-dare/41/axe-and-roses-a-barbarian-date-simulator

PlatypusCorp

Try to beat this AI.

We have updated the AI in the post-jam version. Please have a go and give us your feedback. https://ldjam.com/events/ludum-dare/41/battle-bots ezgif.com-video-to-gif.gif