Using 3.3 V ... 3.8 V LEds on a 6 V battery is going to be horribly ineffcient. You wast almost 50 % of the available power in the current limiting resistors.
To improve efficiency, you have at least 3 options:
- Check the brightness of 2 LEDs in series with a small resistor (e.g. 10 Ω) on the 6 V battery.This may just work - or not, depending on the LEDs and your expectations.
- Use a switch mode regulator to step-down the 6 V from the battery to 4 V with high efficiency. Then make the parallel connection as suggested by Bob, using a series resistor R = (4 V - 3.5 V)/20 mA for each LEd (3.5 V is the average LED voltage drop according to the data you have given).
- Or, to reduce the number of resistors required: use a step-up regulator (instead of a step-down) to create 22 V from the 6 V battery. Then pack 6 LEDs in series with one resistor R = (22 V - 21 V)/20 mA (21 V is the average voltage drop of 6 LEDs in series). Use 5 of these 6 LED strings in parallel to complete the full 30 LED circuit.
This is imho a very efficient simple solution (more efficient, but a bit more complex solutions exist involving constant current switch mode LED drivers which is, I think, beyond your scope).
Note that the resistor in cases 2 and 3 is 50 Ω which may not so easy to get. Use a standard 47 Ω resistor, 250 mW power rating instead. My choice of a 1 V voltage drop across the resistor is arbitrary.
You can reduce the voltage drop and accordingly use a smaller resistor to reduce waste power even more. This comes at the cost of reduced control ober the LED current as a small change in LED voltage drop will cause a comparatively higher change in LED current.
You can increase the voltage drop and accordingly use a larger resistor to improve current stabilization. A small change in LED voltage drop will then cause a comparatively smaller change in LED current. This comes at the cost of more waste power.
It's your's to make the choice.
Cheeers,
Harald