It's time to try and code this.

Planning on (and trying to for the first time) code Casual Fluffies.
I’m up help, ideas, and much more in the comments since I’m gonna be doing this while checking up on some other stuff.
Wish me luck guys.

27 Likes

Good luck! coding seems diffucult

4 Likes

i wish i could help, but my coding skills are at “dick drawing” level.

so good luck!

Best of luck, it’s certainly difficult to pick up where another project left off because you’re not sure how the original devs accomplished certain things on the back end, their scripting style, etc.

1 Like

We’re in guys, what do I try to (I guess) code first?

1 Like

Thank you for your efforts o7

What language are you coding in?

English, and as of now, I’m having a struggle on finding where the error is.

1 Like

Oh sorry lol, I meant which programming language (eg: Java, C#, Python, etc.)

Good luck on finding the error!

Well I’m using Unity for it since it’s a Unity based game (and I have no clue is Unity is based with Java but who knows)

2 Likes

OH COME ON!

Edit:
I don’t want to come off as aggressive or a killjoy, but if you don’t even know the programming language you need for Unity scripting (it’s C#, read: c-sharp), your chances to actually make this thing run are minimal.

Edit 2:
Your script is missing a ; (semicolon) after a statement. If you use an IDE, it will show you the possible place or places where it’s missing.

2 Likes

Thank you for the help dude, and I probably do gotta learn and read up on C#.

1 Like

You’re welcome. If you have any questions, please contact me.
The best introduction to Unity and Unity scripting would be CodeMonkey’s Youtube channel.

Again thanks dude, and I hope I ain’t bothering anything, I watched the video and it said I didn’t have any errors for some reason on the C#

Here is the error that is in the code


I had a question on where do I even find the error in C# even though it didn’t say there was none?

Use an IDE like Visual Studio or Visual Studio Code (VS Code is more lightweighted and may be easier for you for the beginning). An IDE helps you identify those errors before you pass the script into Unity.
The error message clearly says you have two syntax errors: one in line 1344, position 78 of the file FluffyScript.cs (that’s what the numbers in the parentheses mean), and another at the exact same position. Maybe the “}” at this position is wrong? But I would need to see the whole code to make a suggestion on how to fix this.

Here’s the download for the Casual Fluffies Source Code, and yeah I’m actually using Visual Studio and Visual Studio Code for this, I have no clue why they didn’t find it.

I recommend starting with pathfinding, because having fluffies move around is obviously the first step in getting them to do anything in general.

I’d also recommend joining the modular fluffy project by making anything you do as reusable as possible. Making a whole game alone is a big undertaking, but making it one piece at a time with other people has much better chances of succeeding. We’d have already had a finished breeder game years ago if every new project could have built on the foundation of the previous ones! :blush:

1 Like

Okay, so I took some time to look at the project files of Casual Fluffies.
I downloaded Unity version 2018.2.17 (the lastest version in which the project files were saved) to avoid any problems which may result from missing backward compatibility.

Looking good so far: a lot of beautiful assets to work with. But the error messsage on the bottom is strange. It’s the same error message @UndeadG0D already wrote about.
So the problem is within the FluffyScript file. I opened the file in Visual Studio to examine the error. Note: the whole file has a whopping 3064 lines of code. It definitely needs some refactoring.

So here we have the culprit: looks like line 1344 in the Die() function is not complete, which is a mystery, because how and why did this line make it into the final project files? As far as I can tell, it looks like the original creator tried to write a statement to set the eye of a fluffy corpse when it dies, but only in case the eyes are missing. I commented it out, and the game runs:

As you can see, the missing line doesn’t change the functionality at all right now, but I need some time for testing and researching the project. If you have the files provided by @UndeadG0D and Unity installed, you can try it yourself. Just remove/comment out line 1344.

Edit: Currently playing it for the first time. This is more elaborate than I realized.

1 Like

Studying the code right now. It’s a bit of a mess, but really elaborate.

Fixed a bug in the current version where eyes didn’t show the correct sprite when cut out (it only appeared on fluffy corpses).

Before:

After:
bugfix-missing-eye2

Fun fact: fluffies only have ONE single eye in this game, despite being able to turn sideways.

Also, I found this gem:

bloody-diarrhea

Update:
I read every entry in the Casual Fluffies Dev Blog and am currently documenting my findings and ideas for features and fixes. I’ll share the code and my documentation after making a major rework to the whole code, because this an even greater mess than I realized, and I’m wondering how anyone can maintain this without becoming suicidal. It’s Quick-and-Dirty incarnate!

I’m not trying to crap on the legacy of CasualDev, because he did an amazing job in the short time he worked on the game, but as an aspiring software engineer, there are just some things I need to point out:

  1. There is not a single case in which enumerations are used. He just passes integer values into methods, which is confusing as hell since I DO NOT KNOW what FluffyState == 4 or limb == 11 is supposed to be! I believe he did not know that enumerations exist in the first place, because it would have made everyone’s life so much easier.
  2. Not using switch cases. Instead, he’s using nested if/else statements, which makes it impossible to follow the logic he’s trying to implement.
    (I believe his first coding experience was in Python since Python is infamous for not having switch cases.)


Why would you implement a getter method that returns nothing? You need to pass a new List object every time you want to use this method (which is actually the way the method is called in other parts of the code)!

  1. The OnCollisionEnter2D() method consists of 400 lines, but it’s supposed to only handle the fall damage of a fluffy! Well, in fact it also handles the logic of every possible message that a fluffy who witnesses their baby, speshuw fwiend or just some distant adquaintance falling to their death might say!

  2. For functionality that needs to check if other fluffies are in a certain range, the game searches every object with the fluffy tag, then checking for every fluffy if it’s in range. This leads to a non-linear runtime behaviour, meaning the more fluffies, the slower the game runs. Why not define a single global variable that keeps track of every fluffy that exists during runtime and check that instead?

  3. Duplicated code blocks instead of defined methods for repeating functionality. See 4.

TL;DR I’m working on it, but it will take time till I produce something I can show you.

3 Likes

Fluffy Leonardo code