« first day (544 days earlier)      last day (4479 days later) » 

3:00 PM
Just an example, I don't have Goombas :P
 
You probably should have goombas if you want to be successful
 
Nah, Slimes replaced Goombas. :P As they're free of any copyright issues. ;)
 
But on a more serious note...
I'm not familiar with the message passing technique... though I probably should be but in my head the logic makes sense
 
I'll just be using events which is built into the C# language. :)
 
I think I get it... your saying in the AIController events would be triggered to Move Left / Right / Jump / etc and in the case of a goomba you just don't set a Jump event?
but its available if you ever wanted to use it
 
3:06 PM
Yeah, basically.
I'd write a GoombaAI, which would inherit the AIController. So when creating a Goomba, I'd give it the GoombaAI.
 
yup
 
But if some effect would cause it, the Controller could be set to a PlayerController instead, and the player would control the Goomba.
If he hits jump, nothing happens, as the Goomba doesn't listen to jump events, only left and right movement events.
 
ah yeah
ok
So the whole Goomba Entity is what reacts to the events which are triggered by the Controllers
 
If Controller is set to null, the entity would simply stand around doing nothing.
Yeah
So there are two kinds of controllers Player and AI. Player is the user input, and AI will be inherited for each type of AI needed.
I think this will be pretty sexy. And it allows easy integration of another idea I've been having.
 
Sweet
I'm probably going to steal these concepts to some extent
Definitely got me thinking
 
3:11 PM
A very distant/future idea, but basically, allow people with handheld devices to play the game as the bad guys. So they could join in, and they'd control either a random Goomba or maybe a Goomba in a friends area.
 
Could be fun
 
Of course, they shouldn't control something too powerful, but I think it could be a fun aspect, that you're not only playing another faction, you're actually playing the bad guys. :P
And it opens up an whole other market possibility.
The idea needs to be completely thought through, but it's on the idea list. :P
 
Ideas is what I tend to lack so your in good shape from my perspective!
 
I have a ton of ideas, but I need to be better at focusing. :P
 
3:33 PM
@JohnMcDonald Could you run something for me quick, and tell me your performance?
I'm just curious about your FPS running the lighting demo from here: legeria.net
 
ah, I'm at work and I don't have the XNA framework installed, let alone a graphics card
but I can test some stuff tonight if you'd like
 
<3
I'm just messing around with the lighting system right now. I wonder if there are some places where I can find experts on shaders.
Basically, I can have low light cell resolution, which gives a great lighting range, but less precision.
Or I can have high cell resolution, but that'll cost me light range.
 
averaging 72-74 fps
 
Ouch. :/ I should find a way to optimize it. I wonder how blur is done in only two passes. I have to do 32 passes for that shader and emission radius.
 
32 passes? What kind of shader is it?
 
3:43 PM
Well, it looks at the neighbor of all pixels, picks and combines the max values, applies "resistance" and then sets the color according.
This way I can have some light cells block light partially based on the resistance layer.
 
Is your game tilebased?
 
On the CPU I could do it in four passes, one for each four directions the light spreads.
Yes.
 
Ah gotcha
Hmm
 
But for it to be parallel and run on the GPU, I needed to make a parallel approach.
Which requires many more passes for the same effect.
 
Ah, would be nice if you were using Dx11. You could just throw all the tiles into a structured buffer
and pass it to the gpu
 
3:47 PM
Yeah, but I'm aiming at lower end systems.
 
Yeah, so the flood filling is entirely on the cpu at the moment or do you already have a shader approach started?
 
The floodfill is entirely on the GPU at the moment.
Here's the code: pastebin.com/z8PcrSjM
Very simple, but ineffective since it requires so many passes.
 
Looking at it right now.
 
I could increase the range it looks from the current pixel, but that will only save me one pass for each range increment but at the same time eat up more GPU power for each pass.
 
Hmm
Can't think of a better approach, but then again I've never attempted lighting for a tile based game.
What's the resolution of your render target? It shouldn't be too time consuming to run those passes if you can submit the render calls all at once.
 
4:01 PM
It's only 80x45 pixels. One pixel per tile. But that actually doesn't seem to be the real bottleneck. Doubling the resolution doesn't cost me any frames.
It seems the bottle neck is the actual begin/end of the passes.
 
Yeah, the bottleneck would be setting the device state and sending the rendering calls.
 
Quadrupling the resolution doesn't cost me much either.
It's definitely an issue with the amount of passes and not the data.
Or the actual process
 
XNA right? Unfortunately I'm not sure what kind of access you have to the directx api
But once setting the device state you should be able to issue some equivalent of Draw(bufferSize, drawCount)
Instead of draw(bufferSize, 1) over and over if that's what your application does.
 
Hmm, I had a suspicion that I might be able to get much better results without XNA. I've been thinking about switching to SlimDX for a while, maybe I should do it.
 
Well, I'm all for it, but I'm bias and love directx
:P
 
user4704
4:08 PM
It's a pity Microsoft doesn't share your sentiment.
 
Hehe, I'm all for DirectX too, I don't plan on having cross-platform support.
My biggest concern about switching to SlimDX is the need for remaking the whole content manager part of my game.
 
yeah, yikes
 
You sure xna doesn't give ya more control over how you submit the draw calls?
 
Not really. :P
I should look into that I guess.
Well, I'm using a spritebatch for this. I could use the GraphicsDevice directly for better performance perhaps?
 
4:11 PM
No clue, but sounds promising
Now if only I could fix my lighting bug!
 
user4704
SpriteBatch does some fairly smart things.
 
Lunch time! Later folks
 
Problem is I have to do .Begin/.End for each pass.
 
user4704
How do your passes differ? You may still need to do that in D3D as well (or the equivalent)
 
All passes are identical
I wish I could just apply the same pixel shader over and over on the internal buffer.
 
4:43 PM
@Gajet Thanks for the bug report! I know exactly what is happening, and no, there is no way to go back to the main menu. That task is buried somewhere in Trello.
 
5:14 PM
I was thinking about creating a development log for a project I'm working on as my hobby. but unfortunately I don't have access to pay for any hosts!
is any one of you kind enough to share their host with my project?
 
user4704
Just create a free account on wordpress.com or tumblr.
 
in iran both are filtered
and it takes some effort to bypass filtering.
considering 512kbps is considered high speed here, I don't really like the idea of surfing the internet using web proxies, or similar tools.
:(
 
I just canceled my hosting because I want to move to windows hosting in the future (I was on linux)
Otherwise I'd totally offer up
 
5:38 PM
windows hosting is so expensive in comparison
any particular reason you need it?
 
LEGO Universe is shutting down.... I guess I'm glad I didn't get the position at NetDevil.
 
hmmm just skimming through yesterdays logs
@ http://chat.stackexchange.com/transcript/message/3196906#3196906
@ClassicThunder if you want `public void SetState(State state)` for all classes that are States you can do `public void SetState<T>(T state) where T : State`
but unless you have a particular use-case that requires the actual type, I'd suggest just using SetState(State)
 
6:26 PM
@Jimmy How can you specify a type without a parameter name? That public void SetState(State) will not compile
 
I was being lazy
I meant public void SetState(State state)
 
@tylerrrr07 you can omit parameter name
there is no restriction about that, actually that's how you define unused parameters, without compiler complaining about them being unused
at least that's how it's done in c++
 
hmmm I don't think that holds in C#
 
yeah, I don't think you can do that in C#
 
@Gajet or run your blog off of github : pages.github.com
 
6:29 PM
that's a choice I will really consider, but I usually considered github as a code sharing center, rather than a weblog!
I rather use codeplex, instead of github.
 
@Jimmy did your example actually solve the question being asked about passing a type and enforcing what types can be passed?
 
@tylerrrr07 maybe I didn't understand the question
 
@Jimmy I believe he was asking to be able to pass just the type as a parameter and not an instance of an object of that type
 
that is a classic anti-pattern though
it usually means your code is doing something it shouldn't be
 
Thats why I was having troubles understanding why he wanted to do that
 
6:36 PM
it has some uses though
 
it sounds like he might need to search this chat history for a discussion on double dispatch, visitor pattern, and dynamic keyword
 
for example think about "sizeof"
is "template <class T> function()" invalid function in C#?
 
@Gajet, the generic version should work off the top of my head
 
in c++ I can call such a function this way : "function<int>()"
 
void Foo<T>(T item) {
Console.WriteLine(sizeof(T));
}
 
6:38 PM
But isn't T an object?
 
T is a type
 
@tylerrrr07 that was for Gajet. I'll get to your example in a minute
 
err... item is an object
The guy who brought up the question wanted a more specific version of void Foo(Type type) where Type actually is typeof(T)
I think I'm explaining that right
 
sidenote: I love languages which doesn't have managed memory specially the part that you can implement manage memory yuorself :D
 
You trying to say that he wanted to pass in a type?
 
6:40 PM
Thats what I understood
 
like: public void MyFunction(Type variableName){...}
because you can do that
 
14 hours ago, by ClassicThunder
I want on object of type type not an instance of the class
 
string GetState(object state, Type stateMustBeThisType) {
    if (!stateMustBeThisType.IsAssignableFrom(state.GetType()))
        return "invalid type";
    return "ok";
}
 
@Jimmy thats what I told him but he was preferring something that would warn on compile or something like that
 
AFAIK it's possible in both C# and Java, but I'm not sure about their syntax
 
6:42 PM
@tylerrrr07 the version that would warn on compile is GetState(State state);
I don't understand
 
but state is an instance of State
he wants to pass State
 
no he doesn't
otherwise the method wouldn't be called "SetState"
 
yeah, why would he want to be passing in only State.GetType(), that's just wrong (or typeof(x))
 
Read the chat log... I swear thats what he's saying
specifically the one I just linked
 
I assume he's misusing terminology
 
6:45 PM
Or trying to use reflection to generate a new State on the fly from a Type?
weird
 
Now my confusion at least feels justified.....
 
7:02 PM
ooohhh wait I see
@tylerrrr07 you might be right
he just wants
SetState(typeof(EnterCombatState)) would be his callsite
I miss the obvious sometimes
 
I wonder if I can compile time validate strings against static data in C#.
 
hmmm one of the really odd things about F# is that printf format strings are compile-time validated
I'm not sure what exactly is responsible for that
printf "%s" 1.0 is a compile time exception
 
ReSharper yells at you when you use String.Format and Console.Write* with wrong format and arguments.
 
hmm so it might be possible for you to add in resharper rules?
 
Well, it should validate against data from an XML file.
 
7:06 PM
@tylerrrr07 @ClassicThunder the solution is to instead of doing
`SetState(typeof(EnterCombatState))` you do
`SetState<EnterCombatState>()` from `public void SetState<T>() where T : State { }`
 
The idea was when adding items to creatures, the item data is in an xml file along with names.
So if I wanted to add "Copper Dagger", it'd make sure an entry by that name existed in the xml.
 
@ClassicThunder the call site looks almost the same, you simply remove the typeof and change it to a generic type parameter
 
@Jimmy this makes sense... but now that I see it I'm really confused about its usefulness
 
yeah, it seems too much data-in-code for my liking. The problem is that sometimes you want things other than a simple type specifier
 
you can't even use T within that method can you?
 
7:13 PM
no, you can't :P
 
can you identify what type was used in the method call? or is it just T (in this case State)
 
it's T, and all you know is it's a State
 
I know if I had a state I could do if (State is EnterCombatState)
 
well, you could do
 
but I don't have a state
 
7:14 PM
typeof(T) == typeof(EnterCombatState)
 
I'm not even sure why are you talking about a question a guy asked who is not even here?
 
ah I got it now
 
well, he gets the messages since I've been @'ing him
 
I wasn't thinking of your where T : State as part of the method definition. Whoops!
This now appears more useful
thanks for sticking with me
@Gajet plus I am actually very interested in the answer :)
 
I mean if he was here he could make his question clear, but now you are trying to solve a problem which may even never existed.
 
7:21 PM
I'll take over the context of this problem out of curiosity. If his problem turns out to be different no big deal because my problem is now solved
 
@tylerrrr07 this approach breaks down as soon as your state objects have to maintain .... err.... state
like, what if you want

class MainMenu : State {
public MenuOption SelectedOption;
}
so of course, I'd prefer to pass the State object around, instead of using it as a fancy Enum
 
@Jimmy for sure
@Seems like the usefulness of this, except for maybe some uses of reflection, is a hierarchical, or fancy as you put it, enum
 
7:42 PM
I guess rendering a scene with 309k vertecies and 95k triangles @60fps, is not very bad. knowing that I've got only a single light source and my mesh only has a simple texture (no bump map, no normal map, etc.)
@thedaian finally first phase of my mesh generator is complete
those numbers was for a map of 30x30 which was drawn 9 times.
it seems I can go up to 200x200 map, which will result in 4248k triangles, and it still renders @35fps min
 
Cool
What sort of hardware are you running this on?
 
he's running it on a pirate ship, obviously
 
7:58 PM
a desert explorer pirate ship?
 
it's my laptop,
which is powered by a 720QM cpu, and nvidia 230M graphic card
 
so...many... monkey d luffy icons
 
at least someone know what onepeice is! I was going to lose hope in Game developers
 
Hi! I made a multiplayer RTS that runs in your browser, and need someone to help me test it. Play against me at rawskill.ch
(Silverlight required)
 
Last time we talked about anime/manga
People weren't happy :p
 
8:05 PM
indeed....
@MarkusRoth I'm connected to someone, but i have no idea what to do
 
select the little circles with the left mouse button
send them around with the right mouse button
attack me :)
you can select multiple units by drawing a box
i think you got it :)
 
oooh, you can highlight people
 
@thedaian It's an RTS
 
why is it so slow
 
indeed, but i couldn't tell what were my units and such
 
8:08 PM
it doesn't seem slow for me
then again, my ping to the server is 20ms
otoh, my game with thedai seemed to be pretty smooth
btw, capture yellow neutral circles to make them outposts that produce units for you
hold down your right mouse button to draw shapes
that way, you get formations
 
oh, am I playing against someone
 
yes
there is no single player mode
 
Who am I pwning?
 
you prolly just pwnt me :)
 
Who did I just pwn?
 
8:12 PM
is there some way I can see who I'm playing against
 
hah, yeah
 
not yet, no
 
reminds me of Galcon and Mushroom Wars, except that you can control individual units
 
okay I'm pwning someone
oh, yeah, it's galcon, except slow
 
it's galcon with pathfinding :)
 
8:13 PM
Oh
me apparently
 
lol
i was wnodering why my opponent wasn't bothering to take any nodes
 
galcon with obsticles and pathfinding
 
haha
 
and individual unit control instead of "squad" control
I was also inspired by Galcon and made a SCII map based on the concept: youtube.com/watch?v=AsCYnm38Tzk&feature=related
I called the game mode: "Conquest Madness"
 
who am i pwning this time? :)
 
8:17 PM
I guess you could use a more powerful pathfinding
 
i believe you might have just pwned me
 
what were your issues with pathfinding?
:)
 
well, it's a good start
 
thank you.
 
ships seems to have too many collisions with planets
 
8:18 PM
i'd be grateful for any inputs of any kind
 
i'll have to tell phil that people are making galcon clones :P
 
I had a guy that was headed toward somewhere, doesn't matter, then hit a circular wall on his left edge (barely) then he turned around and followed the edge all the way around to the opposite side of the wall and then resumed his original course
@thedaian Is the Phil the guy that made Galcon, and you know him?
 
John: thanks for the input
and rawskill is not really a galcon clone at all, it just shares some graphical ideas
 
@JohnMcDonald yes, and more or less yes
 
@thedaian Cool, and more or less cool
 
8:21 PM
:P he hangs out in the Ludum Dare irc channel, and so do I, so I've at least talked with him quite a bit
 
yeah, I can't remember when I first played Galcon, but it was before steam and before the iPhone versions
 
and beside it takes more than one order to move a ship to target position
 
I'm losing this time just because of that!
 
i believe there's a lot of lag when there's more units in the game
 
8:22 PM
you should really think about this game as an RTS. positioning of units is important, not just sending them from "planet" to "planet"
 
also it might help if there was a basic, but working, single player mode
 
thedai: that there is
 
@thedaian You mean the objective is to collect units??
 
objective is to collect planets,
but that will result in collecting units
 
i am terrible at positioning units in RTS games :P
 
8:23 PM
That's true @MarkusRoth, that does add an extra layer of strategy, much like my SCII map
 
i don't have sc2, or i'd try your map. it sounds interesting.
 
btw, I suck royally at these sorts of games, but I still love to play them
 
some units seem to ignore orders. i can't figure out why that is :)
 
John, we should play each other! we might be evenly matched :P
 
someone is just beating me badly
 
8:26 PM
@thedaian I do have to get some work done, but why not, ready?
 
guess it was me
 
good job!
 
ok: basic single player mode if you wait at the "finding connection" screen, and something for inputing your name
 
@thedaian gogogo
 
I think the game is mostly about reflexes at this stage
 
8:27 PM
thedai: yes, you really should be able to enter your name and see the name of your opponent.
i'm gonna program that soon, thanks for the input
I don't really want single player mode, though. it's not interesting to me.
 
Boo yeah
 
good job, john
 
So you win as soon as you take out the main base eh?
 
yes
 
seemed like it
 
8:29 PM
It would make more sense if you had to take out all of the "planets"
 
not quite sure about that rules, tbh
i might change it to what john suggested
this way, it adds danger to expanding too fast though
i think that is a good thin
 
Galcon, Mushroom Wars, and that SCII map of mine do that
yeah... maybe
 
@MarkusRoth main reason for single player mode is to give people a chance to play the game and know how to play without getting beaten down by someone who knows all the tricks
usually, in RTS (and FPS) games, single player mode is the tutorial level
 
@thedaian: i understand. i'll have to write a manual at some point. the goal of the game is that it is so simple that you learn it within the first game or two.
and i believe i proved (well, you guys proved) that that is possible
 
protip: no one ever reads manuals
 
8:32 PM
well, a help screen explaining the basics at least :)
 
@MarkusRoth I'm running it in chrome and it's pegged one of my cores
 
they all are children of konquest
 
I've stayed in this game for the past 20 minutes
 
@Jimmy: The pathfinding is pretty CPU hungry, I can't do much about it
@Jimmy: That is very nice to hear :P
 
@MarkusRoth yeah i think you might want to work on the pathfinding
 
8:34 PM
@MarkusRoth there are too many question and answers about pathfinding in GD.SE
 
I can't even switch tabs without a major delay
 
you can use the ideas
 
To be honest, that's most of what I worked on. I even published a paper on the method I invented. I'm not about to start afresh :P
I do recognize that the lags are very annoying
and that there are still quite a few bugs
the game does run on the two cheap netbook i bought for a demo, though, so I think performance isn't really an issue.
 
6
Q: pathfinding with obstacles in a Warcraft 3 like game

fairstarConsider A* searching on a tile based map. A straight forward code would be: If there is an unit inside that cell, then it is unreachable, this is ok. But there is map resolution issue. When I look into Warcraft 3, there monsters and structures does have different radius, and you can walk very c...

7
Q: Real Time Dynamic Pathfinding?

AndreiI'm currently doing some pathfinding research and my simulation is the following: I have a 3d scene with a start and end point represented, I'm capable of creating navigational meshes, waypoints and polygons to aid with pathfinding. I've tried an A* algorithm and some of its variants and they wo...

these might help
 
Thank you
 
8:37 PM
since they have answers which I approve!
 
I actually have implemented a collaborative pathfinding approach with a hierarchical waypointing system, path smoothing, newly invented data structures and all together much too much stuff
the last thing i need is more pathfinding complexity :P
 
mmmmm, newly invented data structures
 
you don't need more complexity
you need it to run without lagging
 
true :)
 
actually I'm not sure it's the pathfinding that's lagging
 
8:39 PM
but that's more a problem because i can't use direct client-to-client UDP packages as most can
 
maybe it's just that chrome doesnt like silverlight
 
it's all HTTP to the server
 
is the pathfinding running every frame?
 
and sometimes using too much new algorithm will result in bad performance
 
no, every round. rounds are 333ms and upwards
however, if your ping is over 100 ms
your ping becomes the limiting factor
as a http POSt is required each round
to increase performance, i really should implement COMET
 
8:40 PM
Win a Unity Pro license by twitting or facebooking Unity: unity3d.com/2012
3
 
are the posts asynch?
 
yes, the animation runs in a seperate thread
but the game calculations can only continues after the response of the POST has been received
 
I guess IE works better with your game
 
how do you figure?
 
I played in IE
and it was just a little better than chrome!
 
8:49 PM
ok. makes sense i guess, Silverlight and IE are from the same stable.
 
today i just had a funny stuff with my chrome.
I tried to open google docs, but suddenly a wild window appeared "there is something wrong with your browser, hold shift and press refresh button"!
after trying a couple of times and getting same error I tried opening that document in IE, it was opened with no problem at all
 
Android Humble Bundle: humblebundle.com
AND you can redeem those same games on Steam? Cool
 
it seems firefox8.0 is same as IE
 
good job on winning, anyhow!
and interesting
i have been testing in chrome a lot, and have never notices any issues
 
holy wow. Good find on the bundle.
 
8:56 PM
I just think there are less lags in IE and firefox
 
i'll look into that
 
I use chrome for my every day uses, but my heart is with IE!
 
Lately I've found chrome to be a memory hog and at work at least I've been using Waterfox (64 bit optimized firefox)
Still using chrome at home
 
i never really enjoyed firefox
 
man, I can't get enough of FF. Especially the Awesome Bar (tm)
 
8:59 PM
at this point, most all browsers are good enough
 
If it weren't for the Awesome Bar (tm), I would have switched to something like Chrome because it works better with Google apps, and as you all know, I'm a Google fan-boy
 
i agree
 

« first day (544 days earlier)      last day (4479 days later) »