RocknRoll available for free download now!

Hey there folks,

We decided to release our application “Rock’n’Roll” (Dice Roller) for free! Those who are interested can come and download the application here:

http://www.madogregames.com/dice-roller.php

Please feel free to contact us if you have any questions or inquiries (use the contact form on our page).

Hope you enjoy - we would like to hear back from you!

Thomas P.

NICE!

iPhone version in the works?

I need for Iphone…

Glad you guys like it. Well, I am not sure if there will be an iphone version as I don’t have an intel Mac nor do I own Unity iphone. My financial situation doesn’t allow for extra purchases at the moment. Maybe in the future (sometime next year perhaps).

Thomas

Your application would be wonderful to use in-game, to visualize dice rolling actions. Is it possible to do it in any way?

Hi Simone,

It would definitely be doable. The dice code is pretty modular, so it could be re-used elsewhere - we’re actually planning to use the six-sided dice on another game we’re working on, so I guess it could be packaged as a library. What do you have in mind?

Best,

I’ve have always seen your application more as a component than as a final product.
I think that, since you released your app to the public, it would be very nice to spread your application making it usable as a ‘module’ to other games that need to show the rolling dices to the players (either for free or sold as a component).

I’m not talking for myself only, I think that another thing useful for the Unity community would be to share/sell components of games

Hi Simone,

We may do just that - Thomas and I have been talking about releasing the components and models, perhaps under a Creative Commons license or something similar. I’ll post more once we’ve settled on something.

Best,

I can’t get past the intro screen without the app crashing. I’m running it on MBP using 10.5.6. The console is reporting this:

“Receiving unhandled NULL exception”

It actually looks like to me the app is in some sort of infinite loop at the beginning as it is unresponsive. Are you doing any internet connections at the start or anything like that?

Cheers.

Hi Thylaxene,

Which video chipset does your Mac have? I consistently get a

Exception Type: EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_PROTECTION_FAILURE at 0x000000000000000

on two computers, both having a Radeon X1600, and I’m unable to get past the splash screen on the standalone version. It’s worked well on other machines with other cards, and the widget version works just fine. Is that the case for you?

I reported this as a bug in mid-November, but haven’t heard back from Unity.

Could you please attach here the problem details from the Apple crash reporter?

Thanks,

yep my MBP is using the infamous x1600 chipset. It’s weird bug/error that your app runs fine as a dashboard but not as a standalone.

You sure it’s a bug in Unity? In my experience Null exceptions are usually 100% coder/logic error… and I’ve had my fair share of them! :wink:

Cheers.

Yeah, there isn’t a single thing I’m doing differently in the case of that card, and the app runs on every other circumstance that I’ve tried:

Older G5 mac
Recent macs with HD 2600’s
On the X1600 in the Unity environment, web player or dashboard widget, no matter the quality settings
On Windows, running on its own and in a virtual machine

And it only fails on the standalone player, in Radeon X1600s, and consistently so. Any bug on my end would either be erratic, or show up on any of the other environments.

PS: Oh yeah, the irony - the two X1600s in which I can’t run it on standalone are my own, but it’s run on the machines of everyone else I know that has tried it. :slight_smile:

are you using any special shaders? Have you tried running the app with no special shaders, lights or shadows? I guess there has to be a point somewhere where your app as a standalone works on the x1600… I mean every app I’ve made in Unity runs on my MBP… so something is special with your app, even if that special ability is to expose a flaw in Unity or Apple’s drivers! :wink:

If you need another set of eyes looking at it then feel free to PM and I’ll help.

Cheers.

Hi Thylaxene,

Thanks for the pointers. As far as I know we’re not using any peculiar shaders - here’s the list:

  • Diffuse
  • Lightmapped/Bumped specular
  • Transparent/VertexLit (used only sometimes and not at start up)

Perhaps Thomas can chime in if I forgot one.

If I run the standalone player in Fastest quality it works, but it’s not merely a matter of turning off shadows (tried that). I’ll experiment with the other parameters and let you know. Notice that fantastic quality still works on the editor and webplayer.

So now you’ve got me curious, I’ll build a few test scenes over the weekend and see which ones I get to fail.

Best,

So I’ve narrowed down what’s failing. When the user clicks on the screen for the first time, this gets executed:

AddDice(3, 6); // Add 3d6

It’s relatively simple function (the two parameter version simply adds a default to the materialIdx):

private void AddDice(int count, int faces, int materialIdx)
{
	int dieIdx = -1;
	for(int i = 0; i < diceFaces.Length  dieIdx == -1; i++)
	{
		if (diceFaces[i] == faces)
			dieIdx = i;
	}
	if (dieIdx != -1)
	{
		Transform dieModel = diceModels[dieIdx];
		for(int i = 0; i < count; i++)
		{
			Transform die = (Transform)Instantiate(dieModel, transform.position, Quaternion.identity);
		    die.parent = transform;
			die.gameObject.name = "D"+faces;
			
			// Change the material
			DieController c = (DieController)die.GetComponent(typeof(DieController));
            c.ChangeMaterial(materialIdx);
    		
			SpawnDie(die);
		}
		TurnDieSoundOnOff(soundOn);
	}
}

Where diceModels is an array of transforms, and is filled with a list of prefabs.

What’s crashing here is the Instantiate of dieModel, but only if called soon after start up on a Radeon X1600, on the standalone Mac player, on anything above Simple quality. The quality settings change sent me on a wild goose chase for a while, and I spent some time tweaking with the shadows, lights and anti-aliasing, but it’s neither that nor the shaders. If I don’t instantiate the default dice at load time (commenting out that line), but instead load up with an empty slate then add them through the UI (which calls exactly the same method), everything works fine on the X1600/standalone Mac player combo.

This got me thinking that maybe some resources weren’t being loaded properly on that specific combo. When discussing initially about resource instantiation I was told to reference everything by Transform and Material arrays, since that way Unity knew when to load them. Otherwise, if I attempted to do it by name, I’d have to stick everything in a Resources folder so that they were loaded before the app runs. With that in mind, I tried to stick everything in the Resources folder. No dice.

Skipping ahead a couple of steps, I did find a workaround - instead of referencing the dice models, I created an array of references to the DieControllers, and then do the instantiate based on the DieController’s game object. That’s a change I was moving towards for other reasons (it saves me from using the array with the number of die faces, plus a couple calls), but seems to have helped with this as well.

I’m a happy man - it seems to work now on X1600, on whatever quality setting. Now, if anyone can explain to me why the other code works in most cases except with Radeon X1600/standalone mac player, I’d be delighted.

I’ve updated the download on the site, it works now on my main machine (still need to test on the other one, but crashed consistently here before).

http://www.madogregames.com/dice-roller.php

Best,

new version runs here fine now.

Cheers.

Excellent, thanks for letting us know Thylaxene. Do let me know if you can think of a reason for the other code failing on start.

Best,

Thought I’d share the good news. We are finally on Apple’s website listed as “Staff Pick”. So if you haven’t checked it out yet you probably should now since it’s free!

Roll on!

Thomas

You bragger! hahahahah. Just Kidding of course. Congrats on the pick!