Cross Sound - Sound puzzle game created with codea

Hi everyone,
I am working on a game called Cross Sound
I stopped for a year since I was not able to create good graphic and sound for the game… but now I will have more time and I thing it could be nice to share the game with you.

It’s a sound puzzle. The idea come from the game crossword that everybody know. The letters are replace by sound. You get a hint for each vertical and horizontal line of the grid. This game is very good to practice your memory. First levels are easy but when the grid get bigger… this game really start to be challenging.

The grid also have silence so this is where the game really start to be challenging… you need to figure out where the silence is by using both the vertical and horizontal hints.

  • Unlock new sound
  • Challenge mode (story mode)
  • Multiple difficulty level

I really enjoy creating this game on Codea on the Ipad and hopefully I will release the game when I am happy with the sound sample and the graphics…

I use a lot of sound assets available in Codea… I have a hard time to find good wav sound file for this game…

hope you like the video!

youtu.be/d89nYb5CUVA

test…

Very interesting, thank you!

Cool.

You can use <video> tags in your posts and put the link in here like this:
So you have to put a code in forums like
<video>http://youtu.be/d89nYb5CUVA</video>

actually, you don’t need the HTML tags. The link below has none. The reason that the YouTube link at the top didn’t embed properly, is that it is in the form youtu.be.com/....

If you take that link and open it in a browser, it changes to to a youtube.com/.... link, and if you paste that in this forum, it will embed as shown below.

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

Very nice thank you I was looking for a way to do that actually!

I love it

OH man would you be at all willing to share with me your code for the touch circle menu of items around the finger? I have had an idea like that for a long time and seeing you doing it here reminded me, but I really like the responsiveness and timing of your long press – to – appearance timing… and wanted to see if I could try it directly?

my idea was to make a branching menu for creation of nodes in a creative modular tool where they initially pop out in a circle like this and as soon as you start moving toward one of them it starts to branch out into hirarchial menus… i think it could potentially be a really fast way to get around a complex menu system, since all you have to do is start moving toward the general root level idea of what you want to accomplish and naturally are following the levels toward the specific end selection.

has anyone seen anything like that?

also really nifty and clever game idea, I am way into sound, and I was entirely under the impression Codea did not have any way to load an actual sound file and play it back from my reads of the manual?? did I miss somethin?

reminds me a bit of simon btw… I think with slight a bit of graphic design tweak and marketting clever you might be able to make a hit of this little sound game :wink:

it all comes down to the graphic sexyness with apple apps… look at the icons of the current front page of app store, games ui etc… for realz if you would be open to it I could likely quadruple your potential sales of this in about an hour of design tweaks of the font and a few of the icons/colors

hahah nevermind my earlyer requerst of the code, after watching again I think I can make what I wanted from it in about a half hour :wink:

@AxiomCrux You can use .wav files by putting them in Dropbox->Apps->Codea folder, then using sound() to sync them in, but most of these sound used were either built in or generated by using the sound generator.

@niorg2606 would you be willing to provide a literal example of a line of code for playing a wave file using sound()?

I have dropbox connectivity and loads of wave files I can pop in to test. Is this ability documented in the manual? I feel like I read the section on sound multiple times and somehow I thought it was only possible to either play arbitrary data supplied as a string (which I have done, and sounds kinda cool like a modem) and use their built in sfx synth model which is cool but as DSP and synthesis is one of my main interests in life at the moment it is not open ended enough for me to use.

@AxiomCrux you would do something like sound(“Dropbox:FileName”).
To my knowledge, it isn’t documented. It could be used as example code, though.

@AxiomCrux The best way to make a sound is to assign it to a variable. First, sync your dropbox with the .wav files in it, then:

--Create the sound
local sfx = sound("Dropbox:sound")

--Stop the sound
sfx:stop()

That needs to be added to the doc, thats a powerful and critical feature… is there any more info? I’ve looked for sound in the manual and on the forum a ton of times and most of what I found was general requests for more sound functionality and somehow no mention of this…

Does sound(“xxx”) immediately play that sound? Is there any more control or can I manipulate the data at all? Like does sfx = sound(“xxx”) make sfx a table of the sample values?

See this link for more sound info.

https://codea.io/talk/discussion/5310/hidden-sound-functions

For anyone interested, here some code to download a .wav file and save it in the Documents folder. After it’s downloaded, tap the screen to play it or stop it. This loads a small Star Wars wave file. Just be careful of what you download.

function setup()
    str=""
    
    -- change wavName to what you want saved in the Documents folder.

    wavName="starwars"

    -- change location to the wav file you want to download   

    location="http://www.wavsource.com/snds_2017-06-18_4861080274558637/movies/star_wars/circle_is_complete_x.wav"
    
    http.request(location,didLoadMusic)
end

function draw()
    background(0)
    fill(255)
    text(str,WIDTH/2,HEIGHT/2+200)
    if play then
        text("tap screen to stop",WIDTH/2,HEIGHT/2)
    else
        text("tap screen to play",WIDTH/2,HEIGHT/2)
    end
end

function didLoadMusic(data,status,headers)
    writeFile(wavName,data)
end

function writeFile(fileName, data)
    local file = os.getenv("HOME") .. "/Documents/" .. fileName..".wav"
    wFd, err = io.open(file, "w")
    if wFd == nil then
        str="error creating the file"
        return
    end
    wFd:write(data)
    wFd:close()
    str=fileName..".wav    saved in the Documents folder."
end

function touched(t)
    if t.state==BEGAN then
        if not play then
            s=sound("Documents:"..wavName)
            play=true
        else
            s:stop()
            play=false
        end
    end
end