LD36 August 26–29, 2016

The Daily Fandom Plays Shatter Point Studios’ LD36 game “Wheel Warrior”!

T.C. Robson from The Daily Fandom takes on the battery-saving struggles of Shatter Point Studios’ #LD36 entry, “Wheel Warrior,” in today’s gameplay video!

Check out the game for yourself and leave feedback by clicking here, and check out Shatter Point Studios’ other Ludum Dare games by visiting their profile! Also, visit The Daily Fandom on our website or YouTube channel!

Tags: LD36, Let's Play, Let's Play Reviews, the daily fandom, youtube

R. Lastey post-mortem

(mirror of article on my site)

This weekend I participated in yet another Ludum Dare. This one was exceptional, however, because there were no ratings. It was also exceptional for me, because it’s the first time I submitted a (mostly solo) Jam entry, meaning I had 72 hours for creating the game. The theme was Ancient Technology, a clear winner compared to the other themes.

Apart from Ludum Dare, there was another important event – moving to our flatshare in London (I’ll study here, woo) from our temporary hostel accommodation. The plan was to move in as soon as possible in the morning, but naturally, got there around 3 in the afternoon. Luckily I could get my hands on a computer for some two hours before that, in a café.

In a way it wasn’t so bad, because for the longest time I wasn’t really sure about what kind of game I was making.

The future idea

From the very first moments I was considering a bit of a twist of the theme – it is the far future, humans discover ‘ancient technology’ (something from our time), completely misunderstand it but are amazed nonetheless. Like discovering ‘windows’, then placing them in the middle of the rooms instead of in the walls, or discovering forks and knives, then using them like chopsticks. You get the gist.

In a way it’s similar to Asimov’s ‘The Feeling of Power’, although that wasn’t my intention!

The alien idea

Although it was a funny idea, my girlfriend insisted it was too complex – and indeed, I don’t think I could have a good gameplay while also revealing a story like that (in a fancy way).

The next idea was still quite similar – humans in the distant future travel to a distant planet, where they discover ancient alien ruins. The player would have to decipher the alien language, solve puzzles to enter the ruins, and explore. At the very end, the player would find the ultimate treasure! … a rick-roll, and the aliens have a laugh and leave.

Occam’s razor

It was still a bit complex of an idea, but I realised it could be made much simpler by simply removing the aliens and making it a human ancient temple. So the player became Richard Lastey, a somewhat-obvious reference to Rick Astley, who inherits an ancient family estate and explores it. At the end he finds, of course, the melody of Never gonna give you up, and proceeds to become a pop star.

With the plot prepared, I set out to design the actual gameplay. I thought a couple of puzzle-types interleaved with ‘archaeology’ would work well enough. The setup was a bit similar to my LD27 entry, Thade, but not quite as heavy on the story-telling. This time, I wanted to avoid a game where the gameplay would be completely lack-luster because I tried to have a very complex plot. (Which is why the intro and outro consisted of two ‘newspapers’!) I also decided to make the game un-loseable – there would be no time challenges, no way to fail. Even if it takes two hours with a track pad, it’s still possible! Originally I wanted to make this more interesting, however, by introducing a rating system based on your accuracy and time spent doing the archaeology. I didn’t have time for this, unfortunately.

The lighting

One of the first things I worked on was the ‘archaeology’. This involved a simple particle system with some fancy lighting. The game was actually a 320×240 scene (scaled up to 640×480), which is small enough for doing some pixel-by-pixel operations without a major loss in performance.

First, I created a couple of light maps, which would show how light any given pixel would be around a light source. I wanted the light to follow the player’s mouse in certain cases, so I needed 640×480 bitmaps for the lightmaps – so there’s a 320×240 clearance in each corner of the central light source. The bitmaps themselves were just simple white-to-black radial gradients, like so:

About 10 of these were created at game start, each with a different radius. The next step was to apply this to the environment somehow – and a simple alpha overlay would look too cheap. I thought I would attempt simple bump-mapping – instead of drawing graphics for the archaeology bits normally, I would draw the normals. So, instead of deciding which colour (and therefore light level) each pixel has, I would decide which way each pixel is pointed and then, based on the light intensity and direction, I would decide its colour.

This didn’t happen in the end, unfortunately, although I could have invested a couple more minutes into it. What I had in the end was graphics that would ‘shift’ their limited 5-colour palette into darker shades if the light was not close enough. It still produced some nice effects.

On top of these graphics I rendered some dust particles, which changed pixels to different, mostly random, shades of the palette. When dusting them off, they would show as little sprite clouds.

The final step in making the lighting look pretty was some dithering. This is a useful technique in pixel-art and when working with limited palettes. In my case, instead of having a hard threshold for deciding whether a given light value is the first or the second shade in my palette, the threshold is slightly different based on the location of the pixel. This creates a pleasant-looking transition between two shades:

The alphabet

One of the puzzles for the player would be to decipher the ancient language. This was just English with every letter substituted for a different symbol. The symbols were simple enough to think up, as variations of a 7-segment display:

At some point I thought of a way to make the player actually have to ‘do’ something to solve the alphabet. Because the writing was just a substitution of English, having an easily-recognisable pictogram associated with a word in the ancient language would make it possible to determine the connection between the two alphabets. This puzzle has some additional benefits – it ‘brings together’ all the archaeology from the previous levels, although this could have been made even more obvious to the player. For example, I could have displayed the puzzle to the player after each level, without showing the missing letters or pictograms. They could try to solve the discovered pictograms, or they could decide to find more letters and pictograms instead.

The lightchess puzzle

This is the only -actual- puzzle in the game. People liked it, but I only had time to make two levels – one essentially a tutorial, the other one quite difficult. I thought I should have a chessy puzzle somehow, and having thought about the n rooks / n queens problems recently, this seemed an interesting concept. I am especially happy with the lighting in this puzzle, which changes depending on the player’s progress.

I don’t know if this puzzle is truly original, but I personally never played anything similar. Some people have pointed out that this could be a puzzle game of its own. The only problem is that I have yet to find the optimal way to create the levels themselves. The two were really just sketches in my notebook that happened to work.

Apart from these, I did think of the base for one or two more levels, but they would probably be too obvious – the solution could be inferred too easily from the level itself. Maybe they could serve as tutorial levels. To create more difficult levels, I would probably have to resort to some sort of genetic programming, with the fitness measure being the difficulty of the level, measured using the number of moves to reach a solution, the number of possible solutions, and the number of possible positions in that level. So, nothing for a Ludum Dare!

The problem with vines

At some point I thought vines would add a more authentic archaeology / exploration vibe. While this idea might not have been wrong, the realisation of it was. What I came up with was a simple variation on the mouse-cheese maze (trace the line from the mouse to the cheese). Simple enough … But very tedious, not only to play, but also to create:

I had to draw the maze on paper, then code that in. I think I did realise it was not that much fun when I decided to replace one of the later vine parts (that I couldn’t be bothered to create anymore) with spider invaders, which provided some comic relief, although hardly any challenge at all.

I wish I had thought of something more creative and fun to do with vines. Unfortunately, I didn’t, and I didn’t exactly feel like not using a part of the game to which I had already committed so much time.

The jam continuation

After 48 hours, I had a game submitted. It lacked music, the graphics were not completely fleshed out, the spider invaders were not there, and so on. I was mostly happy with it anyway, … But on the third day I woke up (around 10 am) to this piece of paper from my girlfriend:

And just like that, I couldn’t not participate in the Jam! With the extra day, I could afford to polish the game a lot more. I didn’t feel bad about asking my friend, Jano, for some help with the music. I spent a couple of hours on a call with him, trying to communicate how the songs would sound better (with varying degrees of success).

The music

So I was quite happy with what I had in the end – a couple of little tunes for different parts of the game. The music is, once again, procedurally generated at runtime, using my own nsmod audio library. I plan to release this library along with the nsmod DAS soon, I promise! The actual DAS still has no recording capabilities, however, so I had to resort to quickly writing code for processing bitmaps into pattern data for the songs. Obviously I didn’t think I had the time to learn to use an actual music programme. So this is how I drew my songs:

The black and white bars at the top are a guide, corresponding to the black and white keys of a piano. Little dots outside of the guides are ‘drum’ (really white noise) patterns. As stupid as this is, it was just a very LD-esque technique. Got the job done in the limited time I had, and it used environments which I felt pretty confident in (haxe code and Photoshop). Hopefully I don’t have to resort to such measures again though!

Wrapping up

I think those were the most interesting parts in the development of R. Lastey. Once again, this LD is not rated, so I won’t get any results apart from the comments from other people. So this time the feedback is much more important than usual! In other news, Danae (a.k.a my girlfriend) streamed lots of games on her channel, here. Timelapse and source for this game coming soon … And, two bonus journal pages!

(those were all the journal pages I had)

Tags: journal, making of, photos, post-mortem, postmortem

City of Words Post-mortem

Most profitable:

+12p -5h Referred to hint to spell 4 words in Morphos.
+3p -1h Referred to ancient tech terms in Civilization.
+2p -1h Illustrated 3 of 9 plots.

Least profitable:

+0p -3h Paper prototyped geomagic squares Friday night.
+0p -2h Unit tested controllers instead of models.
+1p -2h Wired about 30 UI and 30 components in Unity editor.

Key to estimates per feature:

p: players engaged.
h: hours worked.

I suspect a few more would play with all 9 plots illustrated, so now I illustrated all 9. You can play WebGL and Android here: City of Words

Post-compo: Illustrated 9 plots

Desert Strife Jam AI (with code examples!)

TL:DR KISS

The Post-Jam version is still far away (I’ve hardly had any time to work on it yet) so I might as well talk about the AI of the Jam version and the plan for the Post-Jam AI.

Version one

The first version of the AI was finished in the morning of the second day. It had one goal and one goal only, EXTERMINATE! In simple terms each unit finds the closest enemy and moves towards it. They also check that the path to the enemy is not blocked, by simply finding a path to it. This could cause slowdown with bigger maps and larger unit counts, but here it is just fine and dandy.

VIEW CODE (embedding doesn’t work unfortunately…)

Version two

So far the AI doesn’t take into consideration the main mechanic: scavenging technology. Implementing such behaviour, the quick and easy way, requires nothing more than adding technology distance checking into the previous code. If there’s technology closer to the unit than enemies, then that is what the unit will go for. On top of this the unit won’t move until it has completely excavated the technology.

VIEW CODE

Version three

I could have stopped here, but there was an annoying deficiency in the artificial thought process. The units don’t prioritize actions; In other words, an attacking unit is sometimes blocked by a scavenging unit.

The fix is slightly more elaborate than the previous step, but by no means complicated: tally up the best actions from all units and choose the most important one based on the target type and distance. Here’s the final AI in action.

NEW STUFF!

VIEW CODE

The future?

There are still a few things I’d like to implement in the AI, namely threat assessment and intelligent positioning. As luck would have it, there’s a single technique which can be used to achieve both of these goals: heatmaps! A heatmap is simply an extra tilemap which contains values based on unit proximity and threat level (if you are lazy you can even reuse the world tilemap objects for this purpose). Heatmaps can be used in selecting the target (lower threat value is preferred) and in pathfinding to choose the safest route to the target.

Conclusion

Keep it simple and you’ll go surprisingly far.

Play Desert Strife here

Tags: AI, animated gif, code, gif, Net C#, unity

Comments

seththefirst
06. Sep 2016 · 18:52 UTC
Have you thought about Utility based AI.

I think that you have a very nice use case for it. =)

TVGS plays Ludum Dare 36 Playlist update #2

A ton of videos have been exported from our livestreams last week, so let’s hop right to it! As usual, here’s our always-up-to-date playlist below:

Our latest videos are:

TVGS Streams LD36 Games on Twitch Tonight 7PM EST!

 Come watch us play submissions for Ludum Dare 36!  If you want us to play your Jam or Compo entry, add it to our list and let us know in the chat! We will be starting around 7pm (Eastern Time).

If you can’t join us today, we will be streaming on Tuesdays and Fridays during the judging period.

Twitch Stream: https://www.twitch.tv/techvalleygamespace

Submit here: https://goo.gl/forms/ennA32Tp0O

My new game

Hi guys and gals, I just want to post that i started the development of the sequel of Ancient Tower Defense, my LD36 entry. I think it got pretty good feedback for a first ever try,

and i’m really proud of it! The new game will contain the things that the first missed, and i will listen to the feedback my game got to improve the second one.

I hope this project will turn out at least as good as the first one.

sequel

Tech Valley Game Space will be streaming on Twitch again today at 7pm!

Come watch us play submissions for Ludum Dare 36!  If you want us to play your Jam or Compo entry, add it to our list and let us know in the chat! We will be starting at 7pm (Eastern Time).

If you can’t join us today, we will be streaming on Tuesdays and Fridays during the judging period.

Link: https://www.twitch.tv/techvalleygamespace

Animated gameplay of my own Civilization

This Saturday I can share an animated gif of my own turn-base strategy gameplay. I was making it instead of LD36 participation. And continue adding new features working in Game Jam-mode (1-2 days of intense coding – then a pause for regular routine work).

My own civilization gameplay

Here you see how I start, improve terrain, explore territory. Then I found a colony. I begin spending my soft-power points to keep the colony controlled and avoid it declaring independence.

Later you can notice how the colony’s border colour is changed and its own flag appears on the city icon.

As the colony becomes an independen
t country, it gains an ability to found own colonies.

For the debug purposes I s
how the current projects of all the nations on the map (even in the fog of war). In the actual version you’ll see only your projects and those ones which interact with you: propaganda, war, etc

I need to adjust gameplay coefficients to balanse the process of empire growth/collapse.

Within next week I’ll do this, will also integrate convenient controls and informers to make the game ready for the pre-alpha test.

Tags: civilization, turn-based

Comments

sitrus
12. Sep 2016 · 09:12 UTC
The link seems to be broken.
sitrus
12. Sep 2016 · 09:12 UTC
By which I mean the gif.

Playthrough of my Compo Entry

SPOILER ALERT this shows you how to solve all the little puzzles.

Be sure to play the game before watching this. Here is the Windows exe: Game for Windows

The Ancient’s Ones post mortem

So what happened for my first VR game?

Capture_d'écran_091116_053255_PM

What went right:

  • succeeded to “finish” the game both on PC and Google Cardboard, there was plenty bugs but the game was playable (unlike the two last ones)
  • worked hard on audio, I think the result is ok
  • the overall ambient seems to be immersive

What went wrong:

  • spent to much time on useless assets like 10 different type of rocks
  • some assets and effects weren’t Cardboard compatible, especially light effects
  • wanted to make too much in 48h (I planned too much junctions in my scenario but it was too much time consuming, the result is only a 3 endings scenario)
  • still no time to make textures and shaders (again)

Play the game (including updated version)

VR

VR

 

Tags: LD36, post-mortem, VR

Larry Does Ludum 36 – Part 3 – No Mario’s Sky & Dino Hipster Survival

Today we’re taking a trip to the stars to look at the No Man’s Sky Parody called No Mario’s Sky. Then its off to the other end of the galactic timeline to help some T-Rex Dinosaurs save earth from asteroid attacks in Dino Hipster Survival. One should hope that all this ancient technology can save us from all the space terrors.

No Mario’s Sky

Dino Hipster Survival

 

Miss out on the first episode? Watch the LDL 36 Playlist. 

Got a game to Submit? Then use this handy dandy Google Form! It’s fancy!

Tags: Larry Chupacabra, Larry Does Ludum, Ludum Dare 36, Video Showcase

AltBrowser updated for LD36

Better late than never, but I updated my DTBB alternate games browser using the LD36 entries.

If your game was misclassified then I am sorry. Like last time, it’s a bit hit and miss based on keyword detection etc., but in general most entries are properly indexed and categorised.

In short for those who don’t know:

Instant full-text search through all LD36 entries, filter by platform, click to go to the game’s LD page.

Screen Shot 2016-09-12 at 16.42.33

Explore LD36 Games

“Gravity” – Post Mortem

Ludum Dare. An amazing experience. Hundreds of developers getting “together” to make a game in 48 hours. A truly amazing experience. I got to experience this for the first time in Ludum Dare 36.

 

The theme was Ancient Technology, which, for me, was pretty bad, as the game i had planned to do didn’t really fit the theme. But i made it work.

I had created “Gravity” – A puzzle platformer in which you need to control gravity to escape multiple chambers.

I got some decent reviews from everybody here, but i decided to take it a step further.

Since Ludum Dare ended, i started porting Gravity to mobile and making new levels. And guess what? The concept worked perfectly.

I just published it on Google Play and i would love to hear some reviews from you guys!

https://play.google.com/store/apps/details?id=com.NoobStudios.Gravity

 

-OneAndOnlyPorkyPine

 

 

 

Well, my game is getting little to no views, so I thought I’d post here

Try out my game if you want to, it’s pretty okay, it was my first LD.  See here: http://ludumdare.com/compo/ludum-dare-36/?action=preview&uid=107185

Thank you! I need some feedback on the game! 😀

Comments

GhostBomb
13. Sep 2016 · 12:40 UTC
If you want people to comment on your games you should comment on other people games! Then your game will show up higher on the list in Feedback Friends.