Not at all!
First, you can determine the number of paths simply by looking at the diagram. You can also add up the arrows. Count the number of arrows leaving the "start" box, and every time an activity node explodes into two, add another path (or if it explodes into three, then count two - and so on). Now you know how many total paths.
Next, identify the activities in each path (i.e. Path 1 = A,B,D; Path 2 = A,B,C). Now just add the durations of each activity node in each path ... and violia! You have just found the critical path! It's the path with the highest number.
And now I can get float too! Simply subtract the next highest path from the critical path. Say you get the number "2". That is now the float for every activity on that path (unless a node is already filled in from a previous path).
That's it! I have critical path AND float and never calculated using FP/BP. I also use this as a check when I do FP/BP, because the floats should obviously equal each other.
Is that clear as mud?