View previous topic :: View next topic |
Author |
Message |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Mon Apr 10, 2006 3:54 pm Post subject: Arc: The Road to version 0.10 |
|
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Phr00t
Joined: 03 Mar 2006 Posts: 203
|
Posted: Mon Apr 10, 2006 5:02 pm Post subject: |
|
|
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 Almost done... just a month more. 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 )
Woah, freemind! That looks pretty cool, but I think I'm gonna stick with ambiguous code comments for now
Quote: | announce on dsource, and party! |
yay! party!
yay! big forum topics
everythings big in .... the warbots forum? ![Laughing](images/smiles/icon_lol.gif) |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Mon Apr 10, 2006 7:20 pm Post subject: |
|
|
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 )
|
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](images/smiles/icon_lol.gif) |
![Laughing](images/smiles/icon_lol.gif) |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Phr00t
Joined: 03 Mar 2006 Posts: 203
|
Posted: Mon Apr 10, 2006 9:12 pm Post subject: |
|
|
Quote: | I'm done for today, must do HW. |
Hah, HW 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?
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
[ 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
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 |
|
![](templates/subSilver/images/spacer.gif) |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Mon Apr 10, 2006 9:54 pm Post subject: |
|
|
Quote: |
Hah, HW Are you in college / what classes do you take?
|
HW is done now.
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?
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
Phr00t
Joined: 03 Mar 2006 Posts: 203
|
Posted: Tue Apr 11, 2006 8:58 am Post subject: |
|
|
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 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
Quote: | I will have 3 trunks for arc, development + testing + stable. |
Yes yes, this sounds better
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
Any word on the font question I'm planning on using fonts very soon in my FreeUniverse game... |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Tue Apr 11, 2006 10:36 am Post subject: |
|
|
Quote: |
Sure! I'll update the CVS in the testing branch, and see what breaks in my FreeUniverse game
|
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 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 |
|
![](templates/subSilver/images/spacer.gif) |
Phr00t
Joined: 03 Mar 2006 Posts: 203
|
Posted: Tue Apr 11, 2006 10:51 am Post subject: |
|
|
Quote: | Also, I'm sure you're aware dsource uses SVN and not CVS? |
yes yes simple typo!
Quote: | I'll add freetype to the 'things to do before v.1' list? |
Oh, ok then, sounds good! |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Tue Apr 11, 2006 9:00 pm Post subject: |
|
|
#2 is done, i think i tested most collisions. freetype here i come. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Phr00t
Joined: 03 Mar 2006 Posts: 203
|
Posted: Tue Apr 11, 2006 9:07 pm Post subject: |
|
|
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](images/smiles/icon_sad.gif) |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Tue Apr 11, 2006 10:24 pm Post subject: |
|
|
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](images/smiles/icon_sad.gif) |
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 |
|
![](templates/subSilver/images/spacer.gif) |
Phr00t
Joined: 03 Mar 2006 Posts: 203
|
Posted: Wed Apr 12, 2006 8:11 am Post subject: |
|
|
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? ) 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 |
|
![](templates/subSilver/images/spacer.gif) |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Wed Apr 12, 2006 10:00 am Post subject: |
|
|
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? ) 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 |
|
![](templates/subSilver/images/spacer.gif) |
Phr00t
Joined: 03 Mar 2006 Posts: 203
|
Posted: Wed Apr 12, 2006 8:37 pm Post subject: |
|
|
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
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 |
|
![](templates/subSilver/images/spacer.gif) |
clayasaurus
Joined: 21 May 2004 Posts: 857
|
Posted: Thu Apr 13, 2006 5:22 am Post subject: |
|
|
Quote: |
You should test a class's public functions, at least minimally before moving on to other things
|
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 |
|
![](templates/subSilver/images/spacer.gif) |
|
|
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
|