dhim

LD32

I am in

LD 32 will be my first.

Edit : first post mistake… half of the post got deleted :(

I’ll we be doing some sort of html5 game.

I recently played with the WebGl and the WebAudio Api and so I have a “code base” of a few hundred code lines that will be available on git before hand from which I’ll pick up stuff to set up audio and graphic support. The rest will be from scratch. My tools will probably be :

IDE : Sublime

Languages : HTML + bootstrap, CSS + sass, Js + Jquery + PhiloGl + nodejs for the backend

Graphics : Pen and paper + some illustrator/photoshop

Sound probably : bfxr

Music : if any it will be generative stuff made with some oscillatorNode

Probably host everything on heroku with code source on Git.

Compo starts a 3am, I’ll probably sleep early and wake up around 5am to starts fresh.

 

Update 1

Last night I had guests for dinner, lots of lasagna and wine and the Compo started at 3am! Tried to have a little sleep before starting, with no great success. The theme was one of my least favorite and the first hour a drag. No ideas, not feeling it nor well. I went to sleep with the battle of jericho in mind, the music was an unconventional weapon to fell the walls. Though no ideas for game mechanics that I liked.

Woke up with a better (in the sense I like it better) idea : a puzzle game where sound is your weapon to solve it. I am thinking something like a minesweeper with sound clues. It is simple enough and I am excited by the prospect :)

Let’s go : the source code will/is here :

https://github.com/GameDhim/ld32

the game will/is available here :

https://ld32.herokuapp.com/

LD33

I am in

Second compo for me. My first one went very well with a #22 on innovation :). It focused on a  simple gameplay ( a minesweeper with an audio twist ). This time I’d like to do something with a bit more depth, maybe something strategic or rpg like.

My personal challenge is to include some music, preferably procedural because I love this kind of stuff. I might try some stuff this week end so I know a bit more for the compo.

Like last time the game will be a pure html/javascript game, with the use of jquery/bootstrap probably to build the page quickly, If heroku is still a viable solution the game will be there.

Set up

I am still in :)

I have set up a github repo : https://github.com/GameDhim/ld33 mainly based on the previous game I submitted : a web page, some basic css etc. The game is/will be hosted at heroku : http://ld33.herokuapp.com/

I have some libs ready to be used :

  • PhiloGl for webGl stuff
  • Some AudioContext plugins I built to produce piano sounds / or voices etc
  • bootstrap for the web page

Graphic : I will probably use a pen and paper, illustrator, photoshop

Sounds : [bs]xfr or directly produced in javascript

Music : Procedural or bust

Gameplay : I’d prefer something akin to a board game. I have started to think on the last 20 themes, I won’t say anything about the ones I love or loath, I don’t want to jinx anything :).

Ready for my second ludum dare.

Good luck to everyone

Ludum Dare 46

I am In

Unprepared, with not a lot of time on my hands this weekend... I'll try to put out something small

I want to use blender and unity this time. I have dabble last couple of week with them.

Keep the Bee, (jeez) Alive

Just woke to to the theme,

the idea is to keep the bees alive. - You should provide shelter to protect the fragile beehive, - And at least a flower left in the garden ( either cactus that should rain, or flower that should get some water )
- The setup the abandoned world / ruin of the clip of staying alive, some sort of desert condition - They must be protected from weather condition ( rain, wind ) - I liked the idea of you have 1 min to prepare before the next weather condition - You have pieces of the ruin ( brick, wood... ) to build the shelter. You must give away one piece at each round ( or rebuild everything with one less item ? )

Progress on Keep the bee (jeez) alive

Slow day, as I spend a lot of time with the familly.

I have some assets : Background scene that look like the set of the bee gees staying alive clip. Some building block to build the shelter for the hive. Some sort of a hive. Screen Shot 2020-04-19 at 00.00.44.png

As for the game play... you can point at an object, and a target light ball appear, for now the ball interact with the world. It should attract the selected object to move it and place it.

nothing weather related yet.

Yeah! I have finished another compo!

This sensation is exhilarating! Finish a compo!! I have a kid now, so it was not a 48h rush! I have done my first 3d game, with music ! My My! I am so excited. The game is not good neither it is really a game... but well. You have a goal, a score. I am not sure you can escape the game though...

First time really using Unity, it's a fun fun thing. Easy to code, the doc and help online is great. I have use the shader graph to animate some wings, particules, ray, UI, music, collision ! 3d model with blender, completely influenced by Imphenzia on youtube

I am tired, I have to work tomorrow, but I have to wait for the unity builder to finish its job! I hope it works!

Screen Shot 2020-04-20 at 01.52.33.png

Long Long Long Post Mortem : Keep the Bee (Jeez) Alive

LudumDare 46 - a post mortem

https://ldjam.com/events/ludum-dare/46/keep-the-bee-jeez-alive

This game was my come back to ludum dare after a long break ( last time succesful compo was LD32). I went a completely different route from usual (from scratch html/javascript game) to using Unity3d and blender to produce models. Before the long ~in details~ rambling about the tools and choices I made for this game, lets recap the highs and lows of this edition :

inB4 TL;DR

  • Unity3d is a great tool to quickly produce a game, the mix UI/editor and code is very nice. The general UI of unity is somewhat lacking ( keyboard shortcuts ( why can't a delete stuff without right clicking ), the shadergraph ui is clunky )
  • I love that I was easy to have a physique systems, particles, shaders, sound and music without to much trouble.
  • I did the game across the weekend, with time for the family. I mostly worked early in the morning during baby's nap and until late at night. The last push was a blast.
  • I spent way too long on small details and as always not enough on having a game. It lacks clear objectives or a compeling reward systems.
  • The game idea come from :
    • One of my first blender render, is an animation of a cactus characters in a desert.
    • Keep it Alive, had me thinking about staying alive, the bee gees about bees and voila. The set is model to look like the set of the music video from the beegees.
  • I hate the HoweverYouNameItCase where Methods/Properties start with a Capital letter! Using Atom without a good autocompletion/autofixing feature hinder me a lot.
  • Compiling the web version took a lot of time, and resulted in botched shadows :(

I made a Post Mortem Version of the game : https://github.com/dhmmasson/ld46/tree/master/keepTheBeeAlive-PostMortem Original game : https://ldjam.com/events/ludum-dare/46/keep-the-bee-jeez-alive

Unity

About the tool

I learned about Unity watching a Quill18 LudumDare livestream a long time ago. I was puzzled by how he just seemed to create a bunch of unrelated scripts. Sebastien Lague youtube series on procedural game generation on unity hooked me. à I loved how you could program the editor as well as the game. His videos taught me a lot on how to organize my code using scriptable object to store some game logic :

  • the "levels" are a collection of building blocks that drop from certain points. I had plan on having a succession of levels, where you had less and less blocks or smaller or harder block to place. You would start with the large stones, and planks and end up with the brick and branches In the end there is only one playable level with a collections of all the available blocks ( to show off the assets I had designed ).

  • the weather scenarios : are a collections of particles effects + post processing. Same idea than before. I planned to start with a succession of sun/rain where you would have a minute of sunshine to prepare ( one of the not selected theme ) before the rain. Harder level would have different weather effects ( thunder, hail ). I only manage one, I had fun playing with the particle effects and the collision with the cactus to actually simulate them being water by the rain. The splashing effect is lost on the resolution I think.

Game mechanics :

the flower and the bees :

the bees are particles, At some point late in the development ( maybe on sunday, I should check the git log ) I had to add the bees ( they were in the title ) I didn,t had the time to program any kind of flight management ( nor the energy or a clue on how to do something believable) I had just finish messing about with the rain, so handling them as particles was kind of obvious. There are three kind of bees :

  • the ambient bees small that just buzz around the bee hive so it look more like a bee hive.

  • The angry bees that emit a bzzzz and buzz widly around the bee hive.

  • the wandering bees few and large, they circle around the main area ( with some speed over time in the particle management ). The cactuses have an attractor to help them "find" the flowers. On hitting a cactuses the score some points depending on the flower levels of the cactus. In the post mortem version I added some nice trail :)

the cactus :

the cactus are Plants, meaning they have water level associated with a number of flowers and a mesh. This allowed me to quickly manage the growing state. I just did multiple meshes in blender and link them to the same gameObject in unity. No need to fuss around where the flower should attach to the mesh and so on. I had plan on multiple cactus variants and other kind of flower with different water requirement ( the cactus in my original idea, needing no water and withering under the rain ) and the flower doing the contrary. In the LD version I have only one cactus with three states dry - flowering - too wet. In the post mortem version the cactus have more flowering states so that you see them growing. I should have added some instructions and some UI help to see more clearly the water requirement and actual level if I ever wanted to implement a better/richier version of this idea.

Moving the blocks :

that was the fun part. From the beginning I wanted you to build a shelter from random junk as the set of the music video for staying alive is some sort of abandoned ruin of a village. Doors and windows are in shambles and that gave me the idea.

Moving the pieces around in a direct way in 3d is tricky, I struggle to design in 3d in blender and in unity, both of them have different camera management and keyboard shortcut and this is a pain in the... In both software this is my biggest struggle. Being able to orbit around the correct point is something I experienced in my human computer interaction research lab years ago through the work a a phd student. Ever since I feel like a piece of me is missing... anyway I wasn't going to invent something brilliant in a matter of 2 days. I sketched something I must have done in previous projects, using a spring joint to loosely connect object to the mouse.

The elasticity of the spring allows in some sense to compensate for the fact that the user is not part of the physical engine. Finding the right strength for the spring is the key. I opted for something quite hard and with a lot of damping so that the object don't wiggle to much around. I also used quite heavy objects to stabilize everything.

To project where the user was pointing on the screen to a 3d position I used the native raycasting implementation. I opted for a two step process, if no object was selected the ray casting would intersect with the objects, left click sets the first anchor point. I like that the moving object anchor is set where you click on the object, rather than the center of mass. To highlight that a small sphere is visible on the object when you hover over it. ( The idea come from blender sculpt mode ). Once selected the object glow orange and the ray now intersect with a target plane.

The sphere, and the selected object are highlighted through the emission attribute from the shader. I discovered the emission parameter in some blender videos recently : I love the effect a bit to much. I am glad it worked well in the final version.

More Interaction ideas :
  • Target plane motion : moving the plane from front to back was plan but not implemented for LD ( it was heavily commented on ). I implemented that in the postmortem version
  • Push mode : At first the target sphere had a collider and you could also push object around with it. I disabled it to finalize my spring action.
  • Ghost mode : the object is transparent to collision with the other will pressing ctrl and moving

PostProcessing :

It was there in the template project, I just built upon to have 3 ambiances, one for the rain ( the one I used from the beginning ) a sunny, more yellow, less grain version, and a splash ( blurry ) version.

Shadergraph :

I started unity this year to implement some shaders I made on shadertoy for a research project. So I knew the HGSL and I can spend HOURS playing in shaders... not good for a compo. On the other hand I love graph programming ( grasshopper for Rhino is amazing for procedural 3d design ) and the shading graph in blender is very well made. It was a first for me to use Unity shader graph. I had seen some promising video online ( some force field, and a waterfall ). But man is the editor a pain in the butt... Moving around is a pain, Disconnecting a socket is a pain, adding a node is a pain. Why does unity hate keyboard shortcut (delete ??). It slow, clunky, berk! but you can plug and play some nice stuff. In the LD I finally didn't do much. I used Imphenzia texture mapping technique in blender and in unity. - I did something super cool but invisible : the wing of the bee bat through the shader. I mapped the x coordinate of the texture to a sinusoidal vertex displacement. In blender most of the bee vertex are mapped to some (0, Vc ) coordinate ( where Vc is the position of the color in the texture ). The wing vertex are map ( u, Vc ) where u is propotional to the position on the wing ( 0 close to the body, 1 at the tip ). Meaning that the vertex move more at the tip.

What I wanted more :

  • there is a lot of brutal change of values. I'd love to have a easy to use continuous change of properties. gameObject.position.transition( vector3(0,0,0), 0.1f ) ;
  • I made a lot of "state machine" : for the targetSphere, for the flowers, for the weather... I wish I had something more generic : Maybe something like the Animator in unity ?

Big mistake : I had a memory leak in the cactus mesh update, where I was instantiating the mesh again and again. Not such a big deal in the LD version as there was only two variants. In the post mortem version, I added 3 new flowering states, and the ability for the cactus to dry. It got pretty bad pretty quickly.

3D models - Blender

In the past I have used sketchup, fusion360 and Rhino + grasshopper to do 3d modeling. I very recently learn to use blender. Imphenzia on youtube made it sound so simple to quickly model low poly models that I wanted to try for myself. The four softwares have a completely different take on how 3d modeling is done but this post mortem is already long enough so I won't expand there too much. For some repetitive task like the stone around the door I would have done a better job on fusion or grasshopper. However Imphenzia UV mapping technique (mentioned in the Shadergraph section) allowed me to quickly color and texture the elements. It is very limited in what you can do, so no tweaking make for a speedy process. Blender on the mac tend to crash every so often, not on this weekend. Pray the software gods!

Sounds and music

I composed the music on sunday, 6 hours before the deadline, having done most of the programming ( well it was not a game, but you could move stuff around and bees, and rain ). It was done online on a web app called Noteflight. I have composed on and off on it for some time now. The music was heavily inspired by staying alive ( I started with the chords and some of the notes from parts harvested from google ). Then I just copy paste and tried some contrapunctal stuff... Anyway I badly copied the theme at some point... I can't even hear it. In the end I slapped some trumpet, it always adds something that I like. I am quite proud of the music.

The sounds where created even latter, with even more stress about the remaining time. As it was super late, baby was sleeping; No noise allowed so I reverted to use Bfxr. I used it a long time ago, with no real or current experience of it creating realistic bump noise was a nightmare. Implementing the sound was terrible too. I wanted to cycle around some bump noises to avoid repetitiveness. In the end for the LD the blocks reference the same 4 audiosource, and stimulates some of them on collision. This result in a mess on init, and

Atom

I love atom to the bits, but as a complete unity noob it was lacking a bit in term of exploring the api. I used a package autocomplete-unity that helped a lot. I am considering installing visual studio to ease the development of future unity projects and games.

Ludum Dare 48

I am in!

4:17 am, I should go deeper and deeper into sleep. But this we I am with familly so time is of the essence, I'll try to do most of it during night times.

Ideas :

  • visual effect deeper and deeper = Hypnosis / transe => using autostereogram ( magic image ) to put the player into a transe like state
  • gameplay one of this game where your piece fall through holes of various shape continuously and you have to navigate this verticale maze deeper and deeper
  • visual effect the magic texture goes from grass to deep soil
  • Music I have this descending music rift I have played for years that might be used to do a reverse shepard tone

Tools :

  • Unity
  • VS studio
  • git
  • blender

Plan

  • 4:30 - 5:00 - Github + VSstudio + Unity
  • 5:00 - 7:00 - Have a prototype falling game
  • 7:00 - 8:00 - Read all code about autostereogram and shader
  • 8:00 - 10:00 - morning with the familly and the baby
  • 10:00 - 12:00 - Shader code
  • afternoon - Familly maybe some music
  • 21:00 - 23:00 : first assembly

Day 2 will see

Autostereogram ! Can you see in 3D ?

I am making a game for the few that can see autostereogram Can you see the shape in 3D ? Screen Shot 2021-04-24 at 18.11.08.png

you should see that with the oblique bar on top of the plane with a hole Screen Shot 2021-04-24 at 18.11.13.png

Gameplay is mostly done, you are falling deeper and deeper through holes, you have to move your paddle to fit. It's a classic ! The twist is in the 3d visualisation with autostereogram and you should go deeper and deeper into trance!

Any comments are welcome!

Prototype Done ! Enter a deeper and deeper trance if you can see 3D

Enter a deeper and deeper trance mode with this game. Let your eyes relax until you see the 3d effect. You can control your pad with the arrows and fall deeper and deeper through the slit.

Press space to reset the counter if you hit something.

It is just the first day prototype : - It's a classic move your pad through hole shape descent with the twist that all is in autostereogram (magic image) - THere is ever deeper and deeper music!

Screen Shot 2021-04-24 at 18.11.08.png

Day 2 - Polish

Today is a busy day for me, so as yesterday I can only work a bit in the morning a bit in the evening. The prototype is functional you can read about it and try it here

Whatever you do , DO NOT TRY TO SCAN IT with a QR code scanner!


Today : - 6:00-9:00 Add title screen, Menu, config ( music off for starter ), Pause button - Day off with friends - 21:00-3:00: Final Rush Make it beautiful

Day 2 - Polishing

Today is a busy day for me, so as yesterday I can only work a bit in the morning a bit in the evening. The prototype is functional you can read about it and try it here

Whatever you do , DO NOT TRY TO SCAN IT with a QR code scanner!


Day 2 Today : 6:00-9:00 Add title screen, Menu, config ( music off for starter ), Pause button Day off with friend and familly 21:00-3:00: Final rush!

Color palette and menu

The game is much more playable! There is a menu. You can pause and reset! I added a color palette, It's nice and warm. The music is so... Transilvaniesque... I adjusted the optical parameters so it's easier to acquire the 3d. Test it there

Deeper Trance

Deeper Trance is done! 3h before the deadline with a busy weekend with the familly!

It was fun, for my 4th LD i actually made something that is a game!

I have played 3 times on the theme : Gameplay : you fall deeper and deeper Graphics : The autostereogram put you deeper and deeper in trance as you play ( not guaranteed ) Audio : the audio is continuously deeper and deeper in pitch Cover.png you might be able to read Deeper Trance in 3d if you know autosterogram and if the image is not too compressed by the website

try it here

Deeper Transe : Post Mortem - Part 1. Dev process

I am very happy with my 3rd successful entry in Ludum Dare. Deeper Trance is a very simple game with not one but two illusions : * One visual: all the display is an interactive image magic ( you may have seen them as kids ) that give you the illusion of depth * One auditory: The theme music is getting deeper and deeper in pitch continuously never stoping akin to a Shepard Tone

Can you see the rotating cube (with compression to fit in 4mB this gif is not as good as the actual game) rotatingCube_small.gif

I have been getting a lot of views and nice comments, but you can still go check if you can see the effect if you'd like!

I'll make a post about improvement ideas post-Ludum Dare (part-2) and one about reviewing 100+ games (part 3)! (I love reviewing games !)

Post mortem:

I was so excited for this ludum dare, this is my once-a-year treat for myself. Last ludum dare was a blast, it was my first time using Unity, that solved many of my issues for developing games, allowing me to implement quickly my ideas and ship something in 48h while taking time for familly . I found that I could code in the early morning while everyone slept, during baby's naps and after dinner (this year time was even tighter as I was spending time with familly and friends!). My last game had 3d, a very nice mood, music and SFX. It only lacked to be a Game.... There was no goal, no progression. It was just a fun sandbox playground.

My goal for LD48 was make a game first. It was to be simple and I should be spending time on the game mechanics. I tend to have crazy ideas, being super creative and ending up far from my goal.

I had one game idea coming in: I have this tile-based puzzle I am exploring as a Research project. I don't know the solution to the puzzle and I was expecting to make some sort of foldit where players explore possible solutions and would help me. Making the idea into a game would require a fitting theme and finding some sort of fun gameplay.

I woke up a 3:40 (40min in). The theme was not fitting for my ideas. I considered dropping out and spend the week end with family. But I had the idea right away in my bed to do a game of falling through levels and use that shader I had developed a year ago for another research project. A colleague was working on autostereogram and I had the idea of a new algorithm to implement it on shader. Apparently reading my entry à 4am I already had the idea of reversing the Shepard tone (which is usually higher and higher). I had this old riff I played on the guitar as a warmup exercise that could work for this idea.

So at 4am after a coffee I draft a plan for the development : Day 1 was mostly free, but I had a barbecue planned with friends for day 2 from 12 to 19. So most of the game should be done on Day 1. Day 2 should only be making it better.

Day 1

  • 4:30 - 5:00 - Github + VSstudio + Unity
  • 5:00 - 7:00 - Have a prototype falling game
  • 7:00 - 8:00 - Read old code about autostereogram and shader
  • 8:00 - 10:00 - morning with the family and the baby
  • 10:00 - 12:00 - Shader code
  • afternoon - Family time and maybe some music
  • 21:00 - 23:00 - first release

Day 2

  • 7:00 - 11:30 - Menu, colors
  • 20:00 - 23:00 - Play testing and improvement in particular
  • 23:00 - 00:00 - Releasing

Everything went according to plan, which is nice and unheard of!

I knew the shader worked for me, it was nice to validate at the end of day 1 with family and other people that they could see/play !

The music idea worked right away. The most fiddly thing was that I invented the riff on a guitar for which I now how to read tabs but not sheet music. But for composition and in particular harmony arrangement I know sheet music. Going from one to another was troublesome. I need to learn sheet music for guitar.

I commited regularly on github so I can tell :

  • I Had a game at 07:51:47 CEST without the shader. Three hours in !
  • I had the first prototype 23:34! Exactly on schedule. It allowed me to test it with family
  • Compo was released at 23:00 CEST (4h before the deadline) Fixing the hosted version on github.io and writing the post

I'll write more but in separate posts, but it took me the better of one day to write this one...

Ludum Dare 51

Find ten pair

Ok, I am in!

The idea :

You have a board of tiles, on each tile is an image of (an animal, a letter, an object...) In each round, you have to find Ten pairs.

  • First, select a tile
  • Second Select a second tile that is similar to the first one. The more similar the more point you get.
  • The two tiles are removed from the boards

every ten second tiles found, you get new tiles to replenish your board based on the score for the round, (on an average round you get fewer tiles than the twenty you just selected)

Games end when there are no more tiles on the board.

you can see the current iteration here

for now there is only the grid and the current selection!

Screen Shot 2022-10-02 at 00.25.03.png

Done for the day

I have clocked 4h of work. I have created an ontology for "similar" things. (I have reduced the scope for the prototype to numbers (odd, even, prime) and letters(upper, lower, vowel, consonant). Since I don't really have time this weekend it will not have objects, animals ... because I don't have time for art (I wanted to generate them with AI)

for now the game is not colorblind friendly (and not friendly for anyone with a bit of artistic taste) :

Screen Shot 2022-10-02 at 02.06.30.png

On AI Creative Assistance

I am coding on VS code with Github Copilot, a lot of the code is produced by Copilot. I wanted to have the art also produced by AI (and maybe the music)

When I am less tired I'll try to write more about that... Is anyone else using AI generator ? (for texture, art, music, code)