FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Arc: The Road to version 0.10
Goto page 1, 2, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic     Forum Index -> ArcLib
View previous topic :: View next topic  
Author Message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Mon Apr 10, 2006 3:54 pm    Post subject: Arc: The Road to version 0.10 Reply with quote

Branched from previous topic: http://www.dsource.org/forums/viewtopic.php?t=1410&start=30

Here's my plan to get to v0.1. Stuff in italics is complete ...


#1) rename existing directories to stabalize and match what I have outlined in the above .png file. Once this is done, the directory structures should be stable until v0.1 is complete. I'm also thinking of moving the creature class into the gfx module.

#2) need to move collision code to arc.phy.collision and write the Sprite class. Once the sprite class is done and tested with all collisions only then would I recommend you to use it.

#3) FreeType font rendering

#4) Sprite Class!

#5) Update docs

#6) Create testing branch and fix errors + details

#7) Beginner Arc Tutorials

#8) create stable v.1 trunk, have some download files, tutorials, announce on digitalmars newsgroup, announce on dsource, and party!


Last edited by clayasaurus on Mon Jun 12, 2006 11:32 am; edited 17 times in total
Back to top
View user's profile Send private message AIM Address
Phr00t



Joined: 03 Mar 2006
Posts: 203

PostPosted: Mon Apr 10, 2006 5:02 pm    Post subject: Reply with quote

Quote:
Once the sprite class is done and tested with all collisions only then would I recommend you to use it.


OK, so BoxFrame, PixFrame etc. will exist while the Sprite class is under development. After Sprite is solid, you will deprecate BoxFrame, PixFrame etc.?

Quote:
branch version 0.1 in a different trunk


Hrm, so are you going to be updating the current trunk as you make progress, and then create a new trunk with the same material for "release"?

Quote:
I suggest you start planning your game top down design style with freemind!


hehe college is keeping me all too busy Wink Almost done... just a month more. Smile I'll be working on FreeUniverse as free time allows, and when v.1 rolls around, I'll port as needed (hopefully it won't be too much of an issue Very Happy )

Woah, freemind! That looks pretty cool, but I think I'm gonna stick with ambiguous code comments for now Wink

Quote:
announce on dsource, and party!


yay! party!
yay! big forum topics
everythings big in .... the warbots forum? Laughing
Back to top
View user's profile Send private message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Mon Apr 10, 2006 7:20 pm    Post subject: Reply with quote

I've changed the directory layout to the one I've described for version 0.01 and updated most if not all module names, enough so pong and prim compile. I'm done for today, must do HW.

Quote:

OK, so BoxFrame, PixFrame etc. will exist while the Sprite class is under development. After Sprite is solid, you will deprecate BoxFrame, PixFrame etc.?


Not deprecate, as the Sprite class will make use of them. Rather, it will be out of sight out of mind.

Quote:

Hrm, so are you going to be updating the current trunk as you make progress, and then create a new trunk with the same material for "release"?


Each 'release' will have its own separete SVN in the tags/ folder, so users can just use the release and get bug fixes without having to worry about major overhauls being done for the next release.


Quote:

(hopefully it won't be too much of an issue Very Happy )


Most likely not, but it depends on how much code you have written by the time .v1 is released.

Quote:

yay! party!
yay! big forum topics
everythings big in .... the warbots forum? Laughing


Laughing
Back to top
View user's profile Send private message AIM Address
Phr00t



Joined: 03 Mar 2006
Posts: 203

PostPosted: Mon Apr 10, 2006 9:12 pm    Post subject: Reply with quote

Quote:
I'm done for today, must do HW.


Hah, HW Smile Are you in college / what classes do you take?

Quote:
Rather, it will be out of sight out of mind.


OK, that is OK as long as you minimize overhead when it is not needed... I'm sure you'll be doing this already.

Quote:
Each 'release' will have its own separete SVN in the tags/ folder, so users can just use the release and get bug fixes without having to worry about major overhauls being done for the next release.


Hrm, does this mean you will have to maintain bug fixes for each release...? And I won't be able to just keep doing a "CVS update" on my "arc" directory to make sure I'm getting the latest version -- I'll have to checkout a new trunk? Sad

Quote:
Most likely not, but it depends on how much code you have written by the time .v1 is released.


Welp, I'll be up to the task when good changes are being made Smile

[ edit ] Oh yeah -- what program did you use to create your "font" files? Did you just use an image editor to place those characters into their boxes? We don't need freetype if it is easy enough to convert TTFs into the fontmap...

[ edit2 ] I updated to the new directory tree, and tweaked my FreeUniverse game to compile with it -- all still works Smile

This isn't any critical at the moment... but for your animation class, will it be easy to add animation to an already existing sprite, or will it be more like a sprite does not animate -- only an Animation class object does...?
Back to top
View user's profile Send private message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Mon Apr 10, 2006 9:54 pm    Post subject: Reply with quote

Quote:

Hah, HW Smile Are you in college / what classes do you take?


HW is done now. Surprised

A Minnesota state school (although was raised in NH and transferred from a college in PA, twice, don't ask.), taking math foundations of algorithms, software engineering, web programming, mass media, and psychology. you?

Quote:

OK, that is OK as long as you minimize overhead when it is not needed... I'm sure you'll be doing this already.


Actually, now that i think about it, if it is simple enough I will just have 1 sprite class. Either way it shouldn't affect the sprite interface.

Quote:

And I won't be able to just keep doing a "CVS update" on my "arc" directory to make sure I'm getting the latest version -- I'll have to checkout a new trunk? Sad


Now that I think about it, I will have 3 trunks for arc, development + testing + stable.

Once I think my code is ready for release I will upload it to testing, test it a lot + fix major/minor bugs, tweak performance, improve algorithm, once testing phase is over then I will put it in the stable trunk.

Maybe you can stay concurrent with the testing branch and help me test things out before release?
Back to top
View user's profile Send private message AIM Address
Phr00t



Joined: 03 Mar 2006
Posts: 203

PostPosted: Tue Apr 11, 2006 8:58 am    Post subject: Reply with quote

I'm at UMass, my 5th year, Computer Engineering/Computer Science minor -- I'm currently taking Algorithms (I'm in that class now!) and Artificial Intelligence -- and a senior design project http://www.ecs.umass.edu/ece/sdp/sdp06/wolf/

Quote:
I will just have 1 sprite class


I would think you could do it as one class... Why I am so interested in this project, is because I made a 2D game library much like ARC in C++ for OpenLayer / Allegro... but I wanted to get away from C++ because D is so cool Smile I just had one OPAL_SPRITE object, and it included routines for animation / collisions / even sounds that would play when certain animation frames were reached Wink

Quote:
I will have 3 trunks for arc, development + testing + stable.


Yes yes, this sounds better Smile

Quote:
Maybe you can stay concurrent with the testing branch and help me test things out before release?


Sure! I'll update the CVS in the testing branch, and see what breaks in my FreeUniverse game Wink

Any word on the font question Question I'm planning on using fonts very soon in my FreeUniverse game...
Back to top
View user's profile Send private message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Tue Apr 11, 2006 10:36 am    Post subject: Reply with quote

Quote:

Sure! I'll update the CVS in the testing branch, and see what breaks in my FreeUniverse game Wink


Cool, but as you can imagine testing branch won't be up until I think I'm done with v.1. Also, I'm sure you're aware dsource uses SVN and not CVS?

Quote:

Any word on the font question Question I'm planning on using fonts very soon in my FreeUniverse game...


I'll add freetype to the 'things to do before v.1' list. I think I'll have arc support both freetype and bitmap fonts.


Last edited by clayasaurus on Tue Apr 11, 2006 10:57 am; edited 1 time in total
Back to top
View user's profile Send private message AIM Address
Phr00t



Joined: 03 Mar 2006
Posts: 203

PostPosted: Tue Apr 11, 2006 10:51 am    Post subject: Reply with quote

Quote:
Also, I'm sure you're aware dsource uses SVN and not CVS?


yes yes Smile simple typo!

Quote:
I'll add freetype to the 'things to do before v.1' list?


Oh, ok then, sounds good!
Back to top
View user's profile Send private message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Tue Apr 11, 2006 9:00 pm    Post subject: Reply with quote

#2 is done, i think i tested most collisions. freetype here i come.
Back to top
View user's profile Send private message AIM Address
Phr00t



Joined: 03 Mar 2006
Posts: 203

PostPosted: Tue Apr 11, 2006 9:07 pm    Post subject: Reply with quote

Quote:
#2 is done, i think i tested most collisions. freetype here i come.


Awesome. I'm getting pretty buried in my College work at the moment... so you will have made good progress before I can get back to FreeUniverse, I can't wait to get back into it -- I'm definetly still monitoring all this progress during HW breaks.

I understand how you said FreeType was confusing to just display text.. how do you plan on interfacing with FreeType?

FONT myfont = new FONT("font.ttf");
myfont.setColor(font_id,r,g,b,a);
myfont.setSize(width,height);
freetype.print(myfont,x,y,"Hello world!");

?

[ edit ] ahh! I'm having a problem with your latest ARC checkout -- I've converted over to Sprites, and now I get this problem when trying to draw them:

textured 0 gfx/title_screen.png with colormode GL_RGBA
textured 1 gfx/testship.png with colormode GL_RGBA
textured 2 gfx/testship.png with colormode GL_RGBA
Please use PixFrame, BoxFrame, or RadFrame
Error: AssertError Failure frame(75)

It seems to be calling "draw()" as a frame object, even though you are initializing frame as a BoxFrame when I do my constructor which looks like:

menu_bg_image = new Sprite("gfx/title_screen.png",COLLISION_TYPE.BOX);

Sad
Back to top
View user's profile Send private message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Tue Apr 11, 2006 10:24 pm    Post subject: Reply with quote

Quote:

I understand how you said FreeType was confusing to just display text.. how do you plan on interfacing with FreeType?


I don't know exactly, but it will be something similar to the code you posted though.


Quote:

Please use PixFrame, BoxFrame, or RadFrame
Error: AssertError Failure frame(75)

It seems to be calling "draw()" as a frame object, even though you are initializing frame as a BoxFrame when I do my constructor which looks like:

menu_bg_image = new Sprite("gfx/title_screen.png",COLLISION_TYPE.BOX);

Sad


It is possible to post a simple test case of this? When I write a similar contructor it works fine *confused*

[edit]: I think I might of solved your problem, and I'm also curious why you are using the

void draw( float argX, float argY, float argAngle,
short r, short g, short b, short a,
float argPivX, float argPivY)

function.
Back to top
View user's profile Send private message AIM Address
Phr00t



Joined: 03 Mar 2006
Posts: 203

PostPosted: Wed Apr 12, 2006 8:11 am    Post subject: Reply with quote

Quote:
I think I might of solved your problem, and I'm also curious why you are using the

void draw( float argX, float argY, float argAngle,
short r, short g, short b, short a,
float argPivX, float argPivY)

function.


That is just what I was using when I had a BoxFrame object. There is no real good reason in which I'm using that big function instead (less function calls? Smile ) I will probably change to just draw() eventually -- but the point is, draw() and draw(float argX, float argY ... ) behavior should be the same. If you want to restrict a user from calling the draw(float argX...) function, make it private or protected.

[ edit ] yes, you fixed it
Back to top
View user's profile Send private message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Wed Apr 12, 2006 10:00 am    Post subject: Reply with quote

Phr00t wrote:
Quote:
I think I might of solved your problem, and I'm also curious why you are using the

void draw( float argX, float argY, float argAngle,
short r, short g, short b, short a,
float argPivX, float argPivY)

function.


That is just what I was using when I had a BoxFrame object. There is no real good reason in which I'm using that big function instead (less function calls? Smile ) I will probably change to just draw() eventually -- but the point is, draw() and draw(float argX, float argY ... ) behavior should be the same. If you want to restrict a user from calling the draw(float argX...) function, make it private or protected.

[ edit ] yes, you fixed it


The draw(float argX, float argY,...) functions are going to be used by my other classes (such as animation). For users, I'd recommend just using the setColor(), setSize(), setPosition(), setPivot() functions, although I'm not going to restrict the use of it. Since I havn't gotten to the animation class I don't really need them now so I was lax in testing them.
Back to top
View user's profile Send private message AIM Address
Phr00t



Joined: 03 Mar 2006
Posts: 203

PostPosted: Wed Apr 12, 2006 8:37 pm    Post subject: Reply with quote

Quote:
Since I havn't gotten to the animation class I don't really need them now so I was lax in testing them.


You should test a class's public functions, at least minimally before moving on to other things Confused

Quote:
The draw(float argX, float argY,...) functions are going to be used by my other classes (such as animation).


It sounds like the 'animation' class will just be a Sprite, but with animation support...? If that is the case, why have a Sprite class?
Back to top
View user's profile Send private message
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Thu Apr 13, 2006 5:22 am    Post subject: Reply with quote

Quote:

You should test a class's public functions, at least minimally before moving on to other things Confused


Embarassed

Quote:

It sounds like the 'animation' class will just be a Sprite, but with animation support...? If that is the case, why have a Sprite class?


#1) You might want an object without animation
#2) break code into chunks to make writing an animation class trivial

[edit]
#1) New project name!
#2) As for freetype, the dsource bindings seem to work and I will probably base my code off of Nehe's, so I just need to code a lot to get it done if everything works properly.

[edit2]: Also, the reason I originally called it a 'frame' was that it was just a 'frame' of an animation. Maybe I should revert the name back to Frame to avoid confusion, and change my Creature class to Sprite, as my creature class will have the functionality you are looking for in 'Sprite,' such as multiple animations with ability to give sounds to animations.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> ArcLib All times are GMT - 6 Hours
Goto page 1, 2, 3, 4, 5, 6, 7  Next
Page 1 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group