1. :wtc:
Somehow that bit of text actually makes more sense to me backwards...
Funny x 3 Disagree x 1 (list)

2. I added physics to my voxle engine thing. this feels way to laggy to be right though.
Artistic x 7 Programming King x 2 Optimistic x 1 (list)

3. At this rate if I every fix this memory leak the code will be so debug ready it'll fix it self.

Edited:

Sorry if I'm spammy about this stuff. This would be content if I managed to get it working so I somehow try to fill it with my progress.

4. At this rate if I every fix this memory leak the code will be so debug ready it'll fix it self.

Edited:

Sorry if I'm spammy about this stuff. This would be content if I managed to get it working so I somehow try to fill it with my progress.
I don't think anyone minds, as long as it's not some dumb argument or a post about something super irrelevant to programming or anyone here ( like apples ) it's a decent post.
Agree x 6 (list)

5. This is the first time I've found a real, legitimate occasion to use C++'s switch without breaks/returns in a case in order to flow into the next case for execution.

I don't know if there is a faster way to do this, but if anyone wants an algorithm for tracelines on voxels, here is the beginning of one:
Code:
```	/*
Find the major axis (normal axis with largest absolute value)
Make a new normal with the major axis set to 1.f
Find the closest grid plane with that normal behind the trace position
Find the closest grid plane with that normal in front of the trace position
Find intercepts with both of these planes

Every block between those two intercepts must be checked for collision
*/
thereIsSomeCodeHere();

// Find the two nearest plane positions
thereIsSomeCodeHere();

// Adjust positions if out of bounds
thereIsSomeCodeHere();

// Flip plane1pos and plane2pos if the planeNor is negative
thereIsSomeCodeHere();

// Find minor axis intercepts for plane1 and plane2
// Err...this actually just finds the hit positions on plane1 and plane2, so all axes are accounted for
thereIsSomeCodeHere();

// Find the changes in the minor axes - first round them to integers
thereIsSomeCodeHere();

/*
Note that there are only 4 possible collisions because the use of a major axis at the start limits the maximum angle to the entrance/exit plane to 45 degrees
Entrance
Entrance side
Exit side
Exit

Entrance is plane1
Exit is plane2

Note that if dx+dy+dz = 2 (or if the sum of the differences of ONLY the MINOR axes equals 1) then we only have 3 possible collisions
Entrance
Entrance side == Exit side (For case logic, just use this as exit side - simplifies things a little)
Exit

Note that if dx+dy+dz = 1 (or blah equals 0) then we only have 2 possible collisions
Entrance
Exit

Should we consider the entrance collision? This is the exit collision of the previous trace, so no.
*/

// Find the normals and positions for the minor axis planes
switch (dx + dy + dz)
{
case 4:
throw 90210; // Unexpected number of possible collisions
break;
case 3:
{ // Consider collision with entrance side
}
case 2:
{ // Consider collision with exit side
}
case 1:
{ // Consider collision with exit
}
break;
default:
throw 90210; // Unexpected number of possible collisions
break;
}```
Did not expect to see that in a traceline algorithm

6. Just made a quick video of the game I'm working on to show you guys.

At the moment I'm working on path finding for the AI, it's going well. They just some times follow the navigation nodes in the wrong direction.
Those animations are brilliant! Did you make those?
I'm super jealous
Agree x 7 Late x 2 (list)

7. From a map editor's perspective, do you guys think it'd be better to allow the map editor/maker to place their own collision map and place the scenery/entities/etc separate? Or should I just make it so you have a bool on the creation of a scenery that says to either make it collidable or not.

8. Monsters spawn while you walk around now. They only spawn on a non-visible, walkable tile, provided the monster minimum_dangerlevel >= the dungeon's danger level. The same applies to dropped items, by the way, stopping rare items being dropped on low level dungeon floors.

You can gain experience from killing monsters and gain levels now. Every second level you get a free point to a random stat (in this case power).

http://gyazo.com/8c9660b24ab536b270dd3cee410c3285.png
The agility bonus is -11, by the way, because of the hat. It's cursed or something I dunno.

Also added a way to see what items you have equipped. It's just an inventory filter for the moment.

http://gyazo.com/cd70e812cded56282cf4d56c09cbed1e.png
Artistic x 6 Programming King x 3 Funny x 1 Zing x 1 (list)

9. If you're going to add ranged/magic attacks it would be neat for the stat increases to be based on/influenced by what you use most often.

10. Just thought I'd push my XNA project over to the 360 for a laugh but apparently Xbox 360 / .NET Compact 4 doesn't support System.Xml

That's sort of fucked me in the ass if I ever wanted this to be available on Xbox Live because all my config files are in XML.
Funny x 7 Optimistic x 1 (list)

11. Just thought I'd push my XNA project over to the 360 for a laugh but apparently Xbox 360 / .NET Compact 4 doesn't support System.Xml

That's sort of fucked me in the ass if I ever wanted this to be available on Xbox Live because all my config files are in XML.
You sure? I was using the latest game studio and had access to Xml, I think it was limited though and I used it for serialization.

Edit:

Here: http://msdn.microsoft.com/en-us/libr...limporter.aspx

12. Well I'm trying to use System.Xml.XmlNodeList and it says I'm missing a reference.

Edited:

Which usually means the namespace you are using doesn't exist in .NET compact.

13. Well I'm trying to use System.Xml.XmlNodeList and it says I'm missing a reference.

Edited:

Which usually means the namespace you are using doesn't exist in .NET compact.
You'll have to use a hacky method :(

14. http://anyhub.net/file/2BQ7-newphysics.png
Bitmap with PNG extension. D:

Actually, you needed that to use the tag, I guess.
Agree x 1 (list)

15. Just thought I'd push my XNA project over to the 360 for a laugh but apparently Xbox 360 / .NET Compact 4 doesn't support System.Xml

That's sort of fucked me in the ass if I ever wanted this to be available on Xbox Live because all my config files are in XML.
Is this the Wrestling project? Would copyrights and other legal stuff not mean you couldn't release it on live?

16. Is this the Wrestling project? Would copyrights and other legal stuff not mean you couldn't release it on live?
Yes of course. If I was desparate to release it I could re-brand it but I'm not. It was just an experiment.

17. Yes of course. If I was desparate to release it I could re-brand it but I'm not. It was just an experiment.
Wasn't it just a game for the intros, no actual fighting?

18. Wasn't it just a game for the intros, no actual fighting?
No that's just as far as I'd got in 2005. The goal was to have everything.

19. Monsters spawn while you walk around now. They only spawn on a non-visible, walkable tile, provided the monster minimum_dangerlevel >= the dungeon's danger level. The same applies to dropped items, by the way, stopping rare items being dropped on low level dungeon floors.

You can gain experience from killing monsters and gain levels now. Every second level you get a free point to a random stat (in this case power).

http://gyazo.com/8c9660b24ab536b270dd3cee410c3285.png
The agility bonus is -11, by the way, because of the hat. It's cursed or something I dunno.

Also added a way to see what items you have equipped. It's just an inventory filter for the moment.

http://gyazo.com/cd70e812cded56282cf4d56c09cbed1e.png
I would pay money for this game. Pretty well polished :)
Agree x 9 Friendly x 2 (list)

20. Man, having a todo list helps out a ton.

I have a bad habit of starting to implement something, then realizing I need to implement something else for that original idea to be completed, so I go do that, realize the same thing, and end up with a ton of unfinished classes and functions. I ended up going through all my code and noting what needed to be done to what files, made a new file called TODO.txt and started noting what I had to accomplish. Ended up getting a lot done, including z-indexes for my batch rendering, and memory management for my content management class.
Winner x 3 (list)

21. start using //TODO if you're using Visual Studio or Eclipse (probably works in most other IDEs too, but those are the only ones I've worked with), it'll let you browse all //TODOs in a single list, with the todos all split up between you files.

Or if you're coding in C# and you're lazy, #warning.
Agree x 4 (list)

22. It seems everything I do with the XMLNodeList I can do with XML serialization instead.

So that's tomorrows little project.
Winner x 5 Informative x 1 (list)

23. Graphics.MeasureString is a harsh maiden.

Winner x 5 Artistic x 1 (list)

24. I've come to the conclusion that it's not my code thats causing my program to die, it's SFML. Which is very odd, it worked before spring break.

I thought the DLL's might have been corrupted so I recopied them but that didn't do anything...

Edited:

It's happening in my other SFML projects too... even though I'm dynamic linking against DLL's in different places....
Are you on an ATI card? I think I had the same problem as you, I solved it by building and linking the latest version of SFML 2.0 (Laurent fixed an ATI bug that was in the last driver update).

25. Yay! Automatic Tweet Fetching Ltd. I really should: Tweets > 1 ? "new tweets" : "new tweet"

Edited:

Here's the repo for Chirp. It took about 30 minutes in total to make.
https://github.com/mtwilliams/Chirp
Agree x 2 (list)

26. This really doesnt look very exciting (and it isnt).

Its a mipmap i just created showing the distribution of planets in a solar system (Bodes law, even though it doesnt work irl)

That planet on the right is 17775000 pixels away, which translates to 711000000 miles. Wonderful stuff
Informative x 2 Artistic x 1 Dumb x 1 (list)

27. Would anyone be interested in working on a community project akin to "A Whiff of Steam" from the Love2d forums? There's a lot of talented/hard-working people here, and with some organization, I think we could work together to make a really cool game. I for one, think it would be a blast to make some attempt at this sort of game: http://www.terraria.org/

Edit: By community, I just mean some sort of Github project that we could fork off of and merge as wanted.
Agree x 8 (list)

28. Just implemented trigger zones that basically activate a function when you step on them and can interact with just about everything the map can.

So, the first thing I did was make a trigger area that sets an entity on fire when he/she stands on it.

Ahahahahahaha
Informative x 3 (list)

29. I don't litter my clean code with filthy, filthy //TODO: comments.
Dumb x 3 (list)

30. I don't litter my clean code with filthy, filthy //TODO: comments.
That's a reason why you should use them. You do what you need to do to get rid of them.
Funny x 11 Zing x 1 Agree x 1 (list)

31. using //TODO: helps when you're scrolling through your classes looking for something quick to fix, and I don't think it dirties up code that much, it's on par with adding comments (which I hope you write, at least occasionally)
Agree x 7 (list)

32. Can anyone explain this?

It's printed as the correct number, then VS locals lists it as a completely different number?!?!

33. Can anyone explain this?

It's printed as the correct number, then VS locals lists it as a completely different number?!?!
I've got an idea of what might be going wrong: try printfing the value.

34. I've got an idea of what might be going wrong: try printfing the value.

Can't do the print again, getting a winsock 10054 error (connection closed by the remote peer), sometimes this happens when trying to use loopback.

35. Got the initial part of my GUI thing done, I just created a panel class, every element of the GUI will be derived from the Panel class. Each panel has children panels in it that are also drawn, etc. Oh it's also pretty skinnable, so that's a plus.
Programming King x 4 Winner x 1 (list)

36. I don't litter my clean code with filthy, filthy //TODO: comments.
then finish things
Agree x 4 Zing x 1 (list)

37. Added a quick message box, gonna add image panels and text panels next. After that click events.

38. Just about finished tracelines. Got digging working pretty easily, and regenerating the mesh happens very quickly.

Click to view uncropped

The traceline algorithm uses 4 ray-plane intersections at most per layer. To reduce the number of layers it must go through (and to reduce floating point error), it defines the layer plane as the plane that lies most closely to perpendicular with the trace normal.
Programming King x 6 Artistic x 2 (list)

39. Just about finished tracelines. Got digging working pretty easily, and regenerating the mesh happens very quickly.

Click to view uncropped
The traceline algorithm uses 4 ray-plane intersections at most per layer. To reduce the number of layers it must go through (and to reduce floating point error), it defines the layer plane as the plane that lies most closely to perpendicular with the trace normal.
How do you build your meshes? I can't for the life of me rebuild them fast enough to be playable.

40. I have a separate VBO for every 8x8x128 voxels. I build them every time a change is made (dig block, place block). I use a triangle strip and render with glMultiDrawArrays(GL_TRIANGLE_STRIP, vaoFirst, vaoCount, vaoPrims);
Oh, I also only build faces that are not adjacent to other faces (0 chance of being viewed). Instead of translating to X, Y, Z coordinates when checking for this visibility, I simplify the formula and keep it in terms of the index.
I'm also doing some lazy culling and just rendering chunks within a 50.0 meter radius (will be larger when I get frustum culling and start running without the debugger) (each cube is 1.0 meter wide).