Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 23 24 [25] 26 27 ... 81

Author Topic: Cloud Scream > Development on Pause  (Read 86907 times)

SolarShado

  • Bay Watcher
  • Psi-Blade => Your Back
    • View Profile
Re: WorldJem Renamed: Cloudscream
« Reply #360 on: November 14, 2009, 09:32:09 pm »

(Again: Java programmer here.)

I'd probably have a class that handles world gen by creating "world" objects.

Two (extreme) options for the world gen class:
  • a single public (static) method, that uses hardcoded parameters
  • world gen objects are one-use (more or less) and gen. parameters are set by the constructor
Of course, there are several combinations of features that fall in between those extremes. Finding the balance is up to you.

BTW, the practice of hiding the inner workings of a class from code that uses that class is called, IIRC, encapsulation. And it really makes updating/changing code easier.
Logged
Avid (rabid?) Linux user. Preferred flavor: Arch

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: WorldJem Renamed: Cloudscream
« Reply #361 on: November 14, 2009, 10:35:40 pm »

Actually, SolarShado's second idea would work very well with the "settings" system you mentioned on MSN Orange...

Anyways, looking forward to seeing how your rewrite progresses!  Especially since ToA is likely to need one soon...
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: WorldJem Renamed: Cloudscream
« Reply #362 on: November 15, 2009, 04:21:48 pm »

I'm having a hard time understanding the relationship and uses of classes. I can see a class working for my tiles, but a system of adding data to those classes, and stuff like that seems so confusing. I'll figure it out. Alfie is helping.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: WorldJem Renamed: Cloudscream
« Reply #363 on: November 16, 2009, 01:32:18 pm »

Muahahaha! Today is a glorious day for The Orange!
I officially will be caught up with my work completely, so no more stresses.
I'm going to dive headlong into some sample code given to me by a couple of key contributors,
and I should have some class related progress to show for it soon.

Sorry for the huge hold up lately. Expect more from me now!
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

timmeh

  • Bay Watcher
    • View Profile
    • My Portfolio
Re: Cloudscream: Back on Track
« Reply #364 on: November 16, 2009, 02:34:38 pm »

Awesome!  Looking forward to it!
Logged
On the Wall is a Masterfully engraved carving of Urist McHardcastle and Goblins. Urist McHardcastle is surrounded by the Goblins. The Golbins are stamping on Urist McHardcastle. Urist McHardcaste is laughing at the Goblins. The carving related to the prolonged and bloody death of Urist McHardcastle in the Fall of 1659, the Winter of 1659, and the Spring of 1660. On the engraving is an image of Cheese.

Jack_Bread

  • Bay Watcher
  • 100% FRESH ♥HIPPO♥
    • View Profile
Re: Cloudscream: Back on Track
« Reply #365 on: November 16, 2009, 02:38:10 pm »

Yay! ;D
Glad to hear tat!

LegoLord

  • Bay Watcher
  • Can you see it now?
    • View Profile
Re: Cloudscream: Back on Track
« Reply #366 on: November 16, 2009, 07:46:03 pm »

After getting from where you started to the thing you have now in roughly a month, no need to worry about taking so short a break.  :) 
Logged
"Oh look there is a dragon my clothes might burn let me take them off and only wear steel plate."
And this is how tinned food was invented.
Alternately: The Brick Testament. It's a really fun look at what the bible would look like if interpreted literally. With Legos.
Just so I remember

jplur

  • Bay Watcher
    • View Profile
    • http://www.parker-portfolio.com
Re: WorldJem Renamed: Cloudscream
« Reply #367 on: November 17, 2009, 01:27:58 pm »

I'm having a hard time understanding the relationship and uses of classes. I can see a class working for my tiles, but a system of adding data to those classes, and stuff like that seems so confusing. I'll figure it out. Alfie is helping.


I never use classes or anything OOP, but I am wondering if you would want to use a class for a tile entry.  IMHO the tile should hold the smallest amount of data possible, so if you could get away with just using a few bytes to hold booleans and integers then do so.

But I don't use C++ so I'm just rambling, maybe there is an advantage of using classes or structs for tile entries.

And glad to hear your getting some free time, I'm jealous but excited to see what's next with this
Logged
I ended up finding out you can speed up pregnancies by changing the mother to a cat to knock them up and changing back before labor

Alexhans

  • Bay Watcher
  • This is toodamn shortto write something meaningful
    • View Profile
    • Osteopatia y Neurotonia
Re: Cloudscream: Back on Track
« Reply #368 on: November 17, 2009, 01:34:11 pm »

Dude... Why do you think that a class will take up more space than a struct?

Code: [Select]
struct tile
{
int something;
bool active;
};
//When you declare an instance of the class, the compiler will allocate the memory as it deems fit (in this case, probably 4 (int) + 1(bool) + 3 to make the 8 byte pack (this may differ from operative systems, I think).
class tile
{
private:
int something;
bool active;
public:
int GetSomething();
int GetActive();
void SetSomething(int some);
void SetActive(bool act);
void CalculateWhatever(int factor);
};
//When you run an instance of this... The data allocation will be EXACTLY the same.  Try it with the sizeof operator.  The methods aren't a problem.
Logged
“Eight years was awesome and I was famous and I was powerful" - George W. Bush.

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: Cloudscream: Back on Track
« Reply #369 on: November 17, 2009, 01:36:01 pm »

Each tile will hold multiple ints and bools.

Int type
bool visible
bool stuck(cohesion)
bool gravity
int water

I'm sure I'm forgetting a couple.
But you can see why it is so difficult to manage tiles.
To copy a single tile is to write around ten lines or so of code.
If it is a class, there can be functions for doing that, and multiple variables can be held in one array.

I'm making progress, believe it or not. I've made a game that creates a virtual 3D space,
then tests those spaces for contents.
It's using classes and class functions for everything so far.
This exercise is really helping me see the capabilities and connectivity of classes.
It might even fully evolve into the final game... that happened to this game before.
That's why the files are called "test1" by default.
Cloudscream was originally a variable juggling version of its old self, which is probably deleted.

Damn. It's going to take a while, and a few releases before I feel comfortable with the new name.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

deadlycairn

  • Bay Watcher
    • View Profile
Re: Cloudscream: Back on Track
« Reply #370 on: November 17, 2009, 02:37:19 pm »

I can't help but think of a transformer when you call it that. Maybe massive robots could be a super-secret HFS? ;)
Logged
Quote from: Ampersand
Also, Xom finds people that chug unidentified fluids pleasing.
Quote from: Servant Corps
Ignorance of magic does not give scientists the power to resist fireballs.

Duke 2.0

  • Bay Watcher
  • [CONQUISTADOR:BIRD]
    • View Profile
Re: Cloudscream: Back on Track
« Reply #371 on: November 17, 2009, 02:55:35 pm »

 Cloudscream is Starscreams programming younger brother.

 "Cloudscream! You have nothing to make the Scream family proud! All you do all day is sit inside and make games! And not for Energon!"
Logged
Buck up friendo, we're all on the level here.
I would bet money Andrew has edited things retroactively, except I can't prove anything because it was edited retroactively.
MIERDO MILLAS DE VIBORAS FURIOSAS PARA ESTRANGULARTE MUERTO

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: Cloudscream: Back on Track
« Reply #372 on: November 18, 2009, 11:11:37 am »

Progress continues under the hood. I now have extremely flexible classes for everything, and I'm re-adding the old features, one by one. Up on the menu today is to add openGL back into the mix, and have it start drawing in 3D again.
Then I will need to add the geometries back in, and finally the physics.

Each part of the program needs a drastic rewrite, so moving over into classes could possibly take all weekend.
I'll be diving into pointers as soon as I've finished this though, which will really speed up all of the systems present in my game. (Not just water, but gravity, visibility, cohesion, and other stuff.
I'm also going to consider adding a more complex draw mode,
that only draws 3 (!!!) polygons per tile instead of all 6.

So basically, I'm trying to at least quadruple the run speed of this thing, leaving room for new physics ahead.
I can also consider combining my physics functions into a single function that only runs through once, further improving performance.
Basically, I have a ton of possible ways to optimize this thing as I add in new stuff.
Frame rate shouldn't be a problem anymore.

By mid next week I will probably be adding NEW features. Look forward to it.
Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: Cloudscream: Back on Track
« Reply #373 on: November 18, 2009, 07:30:17 pm »

One possible slowdown is also data transfer, but I think that openGL has a smart enough system to gather data to send it all at once.
Logged
Eh?
Eh!

Outcast Orange

  • Bay Watcher
  • [SOMETIMES_SQUID]
    • View Profile
    • The Outcast Orange
Re: Cloudscream: Back on Track
« Reply #374 on: November 18, 2009, 10:53:14 pm »

Do you mean drawing the screen? It can draw a the entire universe near instantly.
The reason it slows down is because it has to read the visibility status of each square before deciding whether to draw it or not.

Today I get a tile class built in and fully functional, so instead of reworking the whole thing in order to get it to properly register the change, I only have to add the variable to the tile class.

My next mission is to get openGL linked on my laptop, so I can add the graphics back in.
Here is the crazy thing:
My laptop is better than my desktop in almost every regard.
I bet you were all thinking:
"It's a Wednesday, I'll expect nothing out of Orange today."
But no!
I have a functional laptop with me now! So programming can happen on my busy days!
Tomorrow things will fly.


Logged
[7:53:55 PM] Armok, why did you demand that I don't eat you?
[7:54:34 PM] [Armok]: woooooo

Burried Houses - Platform Explorer Demo H - Cloud Scream
Pages: 1 ... 23 24 [25] 26 27 ... 81