« first day (401 days earlier)      last day (4632 days later) » 

2:00 AM
ahaha
 
only sometimes, I'd like to be able to pull up a chair now and then
 
that would be great to do things in multithreading
 
? Is that a joke? (Exercise while programming == multithreading)
heh
 
yea
 
Nice
 
2:02 AM
even if you can move you can do both stay and move at once
can't
 
fyi, you can edit comments you make
:)
It is amazing
 
ahh :O ok I'm just not used to it
 
So amazing in fact, that it is making me a worse speller in MSN
 
fyi, I can edit comments you make. Bwahaha! evil moderator laugh
 
lol
 
2:03 AM
ahaha
 
:O
 
Time to program an "Actor" object!
Which means I should probably figure out how to make keys do stuff...
lol, to the internetz!
 
:O /me looks at rep
 
actor in which sense?
 
Actor in the Unreal sense
 
2:05 AM
as in the actor pattern? or in the theatrical pattern
 
:p
 
ah nice
the cool pattern
I'm working on actors too
 
Mine's going to be a white circle.
 
No actually... I'm pretty sure he's referring to the Actor in the Unreal Engine sense
 
I think that's "cheating".
Graphics? Pfffft. Who needs those?
 
2:06 AM
yes I call those "entities"
 
@RavenDreamer Heh, we're programmers, right? What do people expect?!!?
 
@PabloAriel Entities is probably a better term.
 
yeah, I've started to use "Entity" as the term for all of my game objects
An "Actor" is something that is controllable
 
cool great we will make a standard
:D
 
Or... is a controller
 
2:08 AM
I have nothing controllable
 
@PabloAriel What kind of game is it then? A screen saver?
 
:)
 
no no, but objects in the game react to game messages
so you don't directly control anything but send input data
there is code that then sends messages to the relevant objects
 
Yeah, that's how a proper Actor/Pawn relationship should work
In Unreal, the Actor is controlled by a: player, AI, or network controller
A Pawn, is something that can be controlled, like a player's model, or a vehicle, or...
Separating the two is actually quite rewarding, and simpler than it sounds
 
2:13 AM
in my case a network controller would be bound to the framework or the game world, then processed and made it a movement message or whatever
yes it's easier to work with them
I think this will help me later if I want to make a scripting language
 
Yes
I know that I have posted (and will continue posting) this everywhere on SE, but: udn.epicgames.com/Three/NetworkingOverview.html
 
ahh coool great!! thanks!
 
Amazing article on how Unreal has implemented their networking system, although also useful if you are only doing Player vs AI
It describes how to organize it really well, and opens up the door to networking in the future
It's so simple, and is very powerful, the concept of Actor and Pawn.
Like... I get excited (can you tell?) when this comes up. In UT2k3 for example, when a player is killed, only the pawn is killed, the actor continues on and is given a camera to control. When it's time for the player to respawn, a new pawn is created for him, and the actor is pointed to the pawn and away he goes.
 
yes it is
 
Also... When a pawn walks up to a vehicle and presses the "enter vehicle" key, the "pawn" is placed into the vehicle, and at the same time, the actor is re-routed to control the "vehicle" pawn, and now the actor is controlling the vehicle!
Cool eh?
 
2:21 AM
ah so the actor would be like a viewer?
which then binds to something?
 
It's all based around this "link" between the actor and pawn
Yeah, it's like a viewer, BUT, it also handles all input
Orr... Output
So.. and Actor translates the player's key presses into commands
 
interesting, like a "gamer interface"
 
That way, an AI "Actor" can be created, and command the pawn in the same way
Yeah, it's really cool
And at the same time, a Network "Actor" can also be created, and again, the commands to to the pawn
Yeah, real fun
I made an Actor and a Pawn (I called it Force) class in my game, and each are just under 120 lines. Really small classes, and very little refactoring when you get to a point where you think it might be useful
 
I was thinking
I remember some isometric games and they deal with the y axis
ie moving a sprite up and down in an isometric way
""
 
Back.
 
2:30 AM
@PabloAriel What about the y axis?
 
do you do it in your game? those algos in your question you posted work for that don't they?
there is a game I like a lot (I don't play it often because it's too old) which I would like to do rev eng
 
Well... I don't actually know. I am using a strictly (well..) 2D world where Z is unused (toward and away from the screen)
 
no no not z but the Y from the isometric world
 
Well... all of my objects have and x,y coordinate in my game...?
 
I mean you have the height in the isometric coord system then you have to translate to screen
for rendering
ah yes well idk actually!
now I know
 
2:32 AM
Yeah, I'm not using depth
 
but you use those functions don't you?
 
So it's really only 2D, nothing is 3D about it
 
not depth but
you use x and y for the ground plane (in the isometric world) don't you?
 
I use Y, but I suppose... I'm using it in-place of Z? I don't know. I only use X and Y
 
then if the ground is x, and y ( a 2 dimensional ground), do you use an Z axis on it? I mean things can go up and down?
sorry
I edited it
 
2:35 AM
No, things don't go towards or away from the screen
(I should really update that image)
By the end of the weekend, I should have a bunch of new and cool images to replace that one
 
Oooh
Is that radar all asteroids?
 
Heh, lol
yes
Those dots are all asteroids
 
nooo not from the screen! but on the isometric world, can there be ie. ufos or harriers that do vertical takeoff?
 
and I changed the algorithm for asteroid generation a long time ago
@PabloAriel Well... not yet
Not sure if I plan to take advantage of the 3rd dimension
I mean.. I plan to abuse the 3rd dimension (It is a space game), but.. actually use it in a 2D game? I donno
Like: "No no no, He was just flying under the asteroid"
heh
 
the games I remember they did were UFO/X-COM and Transport Tycoon (there are more games that apply the 3 axis in the same way) and even if they had 1 or 2 values in the world Y axis (x-com had 4 Y levels of tiled maps) they made it look very nice
 
2:43 AM
Interesting
 
Xcom is an interesting case
 
ie I believe the TT worked with 2 planes, one for "sky" and one for "ground" but the transition was a landing/takeoff
 
(for graphics)
 
I admitted it earlier today (for the first time), so I may as well admit it again with a link. I am essentially cloning "The Space Game": kongregate.com/games/CasualCollective/the-space-game
 
I ripped the world coords from the x-com world (the earth-geoscape one)
 
2:45 AM
Except bigger and better, and more AI, and more structures, and more upgrades, and more More MORE
 
Yeah, I remember playing that game.
(Also, I keep misreading your name as John MD)
 
@PabloAriel Heh, Interesting. Have you heard of the open-source game: AI:UFO Alien Invasion: ufoai.ninex.info/wiki/index.php/News
@RavenDreamer LOL
I bet you see me with my arms crossed in scrubs
 
Nah, it's because there's a stackexchange member called "Javadoc, MD"
and you both have J names.
 
ic
I should probably edit my name to be "McDonald"
heh, it's obvious
How long does that take to propagate I wonder
 
yes I've even downloaded the sources but it's still... ahh no no, it's updated!! I should read more about it
 
2:51 AM
I haven't played the original X-Com series (I know), but I do enjoy this open-source version
 
@JohnMcD If you just changed your name? Refreshing the chat should do it.
Oh, John.
 
I pressed F5
 
Steam. 5$. Every official xcom game ever.
one bundle
 
Hah
Orly?
 
Even Interceptor, which is impossible to try and play because there's no manual, no in-game help, and the game is so poor that there's no guides in the internet.
 
2:52 AM
Complete pack is $15!!
Liar
:p
 
Sales, John.
Sales!
Hm. How to implement movement.
 
@RavenDreamer heh, so why would I pay $5 for that when I can get... some percent of the enjoyment by downloading and playing the open-source clone?
 
Should a keypress call the "move" method of the player object? Or should I base it on if the key is depressed...
 
actually I'ev tried to play patched versions of the older x-coms and it's not the same... many people liked that game because you could easily "hack" it, I've even modified all texts of the intro when I was 14, and there are many times when even without changing anything the game crashes
 
@JohnMcD - why buy anything when you can pirate it?
 
2:54 AM
@RavenDreamer Umm... It should move as long as the key is held down
 
Simply put: useability
 
@RavenDreamer lol
 
Having steam run xcom for you is a lot simpler than trying to finagle dosBox into running the game for you.
 
I didn't say "pirate", I said "open source"
 
no no actually the steam version crashes
 
2:55 AM
I know.
Not for me. Not anything memorable, anyway.
 
heh, I know you heard me... evil eye
:p
 
So you're saying I should repeatedly call the "update" command on the player object while the key is depressed?
Or move command, I suppose.
 
@RavenDreamer Well... In a typical game, there is a "Game Loop", and each iteration of the game loop will execute the "Update" method for each and every object in the world
 
well it will eventually, the thing is with the DOS version you can see a lot of things of the program working, ie you can make the game read invalid memory, there are limits overflows, etc, and it's really interesting, and sometimes it's even fun, the DOS version never crashes
 
@PabloAriel heheh
 
2:58 AM
@JohnMcDonald Right. So put the commands in the "Update" method.
 
I'm starting to get your sense of humour
@RavenDreamer Well... the simplest way (not good for large games) is to handle the input straight inside the update method of the object that will be responding to the input
 
Yea, that's what I'm doing.
 
Please keep in mind that this is not an expandable model, and if the game goes much beyond the current confines, it will become overly complex
 
Yeah, the focus of the assignment is the GameObject
 
and if the game is very simple the controller system would become overly complex XD
 
3:01 AM
More re-useable scripting comes later, presumably.
 
yup, I figured as much, that's good
You don't need to complicate things with an Actor and Pawn until the time comes
And you won't have an AI actor control the same pawn that the current user is controlling, so it's all good, :)
 
So for my entity's collision code, I guess I need to go through every object and check for a collision?
 
and :D, 11 ups
@RavenDreamer Yes, It sounds slow, but it's really not
Computers are really, really, really... really fast
 
I should probably go ahead an implement something to keep track of every object now, then.
I think I'm not supposed to use an array, though?
 
Like a Vector? (that's Java right?)
Meh,
I would
 
3:06 AM
I don't know how to use a vector.
 
A Vector is essentially an Array, but... More awesome
It maintains an order, you can access it by index, and you can add and remove elements from it without any limitations
Use it whenever possible
 
I wish the name of this language wasn't also a common english word.
Makes searching for relevant tutorials irksome.
 
imo
(not sure if that's the right version, but)
:D Hah, that is cool "The Iterators returned by Vector's iterator and listIterator methods are fail-fast"
That's great. I am an advocate of Fail-Fast
:D The name change propagated
 
I don't know that term?
objectsVector.add( platformOne = new MovingPlatform(width/2, height/2, 80, 20, 45, 0));
 
Fail-Fast is a term that is used for: "Failing as soon as there's a problem". Make the problem evident, make the problem show up in the stack trace. Never make code "roll over" a potential problem, just to have it crop up later on.
 
3:14 AM
Is there any reason I should do that command as two lines instead of one?
Ah, yes. Fail-fast is useful.
I had the 'pleasure' of working on a project that made no indication there was an error except in the external error log. I was wondering what was going on for hours, until I realized the errorlog kept getting updated with the answer I was looking for.
 
@RavenDreamer It's personal preference really. I would have it as 2 lines for clarity, and clarity is what you should strive for.
@RavenDreamer :/ yeah, great eh? And that's all probably because the developer didn't want to disturb the user with irrelevant errors
makes me sick, :(
 
well there are some errors that make an app crash when they shouldn't, and it happens a lot with apps that access varied hardware such as games
 
I think I should write a class that extends vector...
So it can fit into my gameobject hierarchy.
 
I like apps crashing when things go wrong but when the game is shipped I would like to play the game even if a texture is missing
or ie I would like to change my video config with the game running
of course it should crash on fatal errors but why every error is a fatal error in some apps? even if from the user's point of view they are not relevant at all
 
@PabloAriel Here's the paper I read a while back on Fail Fast, and yes, there are situations where you should not fail: google.ca/…
 
3:22 AM
thanks!
 
@RavenDreamer Do you really need to extend the Vector class? (java's mutable list class)
@PabloAriel Yeah, it's a good read
 
@JohnMcDonald I don't need to extend it. I need to extend my GameObject class with a new class that is mostly a vector. That way I can parent all my other GameObjects to it, and still get vector functionality.
 
@RavenDreamer What?
Umm
Wait wat
 
Currently, I have a vector containing every one of my gameObjects.
However, there is no way for the member objects to interface with the vector holding them.
My GameObject class has a "parent" field, which is another game object.
 
Ok...
So what's the issue?
One game object can't see an other one?
 
3:26 AM
One game object can't see something that isn't itself a game object.
 
Yeah... there are ways to handle that, in my game, I give the objects access to the "game". The objects can then ask the "game" for other objects
(as simple as an accessor)
 
that's a good point
Easier to implement too!
 
I've been making games for long enough, and I'm anal enough to ask: "Why does X need to access Y?, and if so, how should X access Y"
The answer is usually a really clean and maintainable architecture
hmm, so.. I have .. 3 relates projects. One is my sprite maker, then there's the sprite library (that uses the output from the sprite maker), then there the sprite library tester that I simply use for testing. I already have my sprite library as an open source project, but do I make a new one for the sprite library+tester, or do I simply make a subdirectory for the pair?
So: Sprite Maker -> Sprite Library for C# -> Sprite Library Tester for C#
 
I am the wrong shark to ask.
 
user4704
3:41 AM
I would make a directory for the "tester"
 
@RavenDreamer So what's your 42k rep worth?
 
user4704
As a subdirectory, make an "Externals" or "Dependencies" directory.
 
All on Gaming.
 
user4704
Put the built binaries or an externals or vendor branch for the sprite library itself in there.
 
@JohnMcDonald I can tell you how to win at Minecraft, Civilization V, or League of Legends, if you'd like, but I don't see how that will help you.
 
3:42 AM
@JoshPetrie All in the same repo?
 
user4704
Probably not.
 
user4704
In general, no.
 
user4704
In this case there's also an argument to be made that your "tester" is basically a test framework for the library itself and would instead belong in a "Tests" directory of the library itself.
 
Yay for absolute values!
 
@RavenDreamer Lol, Win @ Minecraft: chzragecomics.files.wordpress.com/2011/07/…
 
3:44 AM
Dwarf Fortress also.
Shocking, I know, but you can win that game.
 
@RavenDreamer :O
 
user4704
Dwarf Fortress is the best.
 
Of course, you need to make your own rules, so if you're not winning, you're either doing very badly, or indulging in some good ol' fashioned masochism.
 
@JoshPetrie Hmm, you're making me wonder
 
user4704
About?
 
3:48 AM
Well... I have my sprite maker, that makes sprite XML and PNG files, and those are designed to be loaded by anyone willing to write an XML loader OR use my existing Sprite Library (SpriteLib [creative name eh?]) that will do this for a C#/XNA application.
Now... On top of that... I have a very simple application that tests some of the basic functionality of the SpriteLib (for C#)
(Visual test, not that it really matters what kind of test)
So... there is a direct dependence
 
user4704
I way I'd consider ordering that in one repo would be to have the library be the principle product, so you'd have /SpriteLib. And then in /SpriteLib you'd have Source/Products/SpriteLib (the lib itself) and Source/Tools/SpriteMaker, and Source/Samples/*
 
A -> B -> C, where B->C could be replaced
 
user4704
Where Samples contained a bunch of projects showing off features of the library, which also act as a higher-level tests.
 
user4704
This is basically what we do in SlimDX: github.com/SlimDX/SlimDX
 
Interesting...
 
user4704
3:54 AM
You can also see some examples of how we handle dependencies in there too.
 
Yeah... that sounds a bit like the Library I made, and the samples/tester of the library
 
user4704
SlimBuffer and SlimMath are both libraries we publish that SlimDX depends on, but we only keep the binaries of specific versions in SlimDX's repo and not the full code tree.
 
But mine feels like it's one level before that. So: Editor -> (output files) -> (input files) -> Sprite Library in C# -> Sprite Library Tester for C#
hmm..
 
I started playing the space game :$
 
@PabloAriel :D
Once you get closer to end, tell me what you thought
 
3:58 AM
Any way to specify the type of object stored in a vector?
 
user4704
std::vector?
 
As in, a vector of, say, Strings, instead of a vector of generic objects?
 
user4704
Or...?
 
@PabloAriel (btw, even though I'm cloning it, I haven't even completed the last level)
In Java, I... don't think so..
Unless things have changed in the past 10 years (lol)
 
user4704
4:00 AM
If you are doing import java.util.Vector, can't you just to Vector<String>?
 
You know... I probably can.
 
user4704
I could have sworn I've seen such code before.
 
user4704
But I don't really know Java so there's that.
 
In C#, people used to use a ArrayList that is very very similar to a Vector in Java. Thankfully they replaced it with List<T>
 
Yup. One line fix. Thanks, Josh.
 
4:01 AM
@JohnMcDonald I will, thanks for the links! and don't worry about finishing the game for cloning it, is the gameplay what counts
 
user4704
Should have deprecated that CLR 1.0 crud :\
 
@RavenDreamer Awesome
@PabloAriel Yeah, I am working toward a multiplayer clone of that game to this day. Does it count as a clone if I'm adding to it already?
 
it bothers me that coordinates are inverted. A positive y velocity means you're falling down!
 
no no it's not a clone is your game
 
@RavenDreamer heh, that sucks
 
4:04 AM
@JohnMcDonald Just the way graphics are handled.
Not any different than getting used to quirks of any language, I suppose.
 
@PabloAriel Well... have you downloaded the down of them? I really am cloning the game
@RavenDreamer yeah maybe eh? It's easy enough to convert to your own coordinate system. I use "up" as +y as "North", and "right" as +x as "East" and 0 degrees = North, and 90 degrees = East
 
user4704
@RavenDreamer Our coordinate system at work uses -Z as "up."
 
Minecraft has height on the Y axis.
Dwarf Fortress it's Z levels.
How can I reconcile my two loves?
 
yeah... Y and Z tend to differ between 2D and 3D apps
 
Dwarf Fortress is 3D
It's just not 3D graphics
 
user4704
4:07 AM
Use -X. Be different.
 
@JohnMcDonald I will play both before answering that, but I believe even if it's very similar it may be a different game
 
Also, I hope to some day be able to write something vaguely Minecraft / Dwarf Fortressy.
So maybe I will use -x
 
2D is usually X & Y (Z is completely ignored or whatever needs to be done). 3D is usually X = horizontal, Y = either up and down OR towaed and away from the screen, Z is the opposite of Y. No?
 
Sounds about right.
 
Y and Z are often interchanged, from my limited experience
X is always the same though
 
user4704
4:10 AM
Something like that is the most natural for most humans to think about.
 
user4704
It's all trivial to switch between though.
 
It is
So... how do you find Git Hub?
 
user4704
It's good.
 
I've only really used Source forge (fuuuull of ads), and Google Code
I have been tempted with distributed version control systems, and I tried merc out for a while, but I remember having some UI complaints, :/. At least for a single developer (as I always am)
 
user4704
Sourceforge was tolerable about fifteen years ago. Now it's crud.
 
user4704
4:20 AM
Most DVCS systems have crap UI and can be a pain to use on Windows.
 
@JoshPetrie heheh, Very true. And that's why I've been looking for a new home
 
user4704
git is a bit of a chore but I think it's better than the other options.
 
user4704
Google Code is nice.
 
Yeah, google code is quite nice so far. The only complaint is that nobody looks there for useful software, :(
 
user4704
I dunno, I don't think its worth using that as a basis for judging -- the project will still be searchable via Google, which everybody uses to find things.
 
4:23 AM
:/ Maybe I should care as much because the quality of the user that downloads my stuff from google code will be X times better than those looking on sourceforge
 
user4704
I never go to any hosting sites like that to search them for software; I just end up there for specific projects.
 
@JoshPetrie yeah, maybe eh? My first choice might still be SF, but second and third choices would be Google Code and Git Hub in some order
With no fourth choice at all
.. yeah, I should migrate all of my code to Google Code. It's been great so far
Not treating me like an idiot
 
4:52 AM
Well this is amusing.
I forgot to check for the width of platforms in my falling code.
Infinite width platforms for everyone!
 
 
8 hours later…
12:44 PM
@jonathanconnell, comm test, do you read me? :)
 
hey
How goes it?
 
greetings - I guess you saw my note about the duplicates being cross-site, so not mattering?
also - meta.gamedev - downvotes don't matter, your karma doesn't change. It's only a reflection of your main gamedev.com score
 
I still think it's a strange way to handle duplicates
 
well, duplicates across several dozen sites are a bit harder to moderate. :)
 
Although people would probably be miffed if their answers were deleted and they lost points.
 
12:47 PM
ah, you meant single-site duplicates. Yeah, I think once a question is closed, votes shouldn't count. Ah well...
 
Well, at least the rules are well defined so we know what we're dealing with
 
if you saw my last update - it is still possible to make it CW, but I don't think it's worth the effort, myself. my one up-vote cancels two downvotes, so your rep should be okay.
 
I'm not actually worried about my rep to be honest
 
Also, one minor point - if you want to avoid duplicating cross-site - it's always worth checking the main meta site - nearly everything you could think of has already been asked there.
 
I just think it's strange not being able to delete, and still getting down-votes once the question is closed.
!Thanks, will do
 
12:49 PM
yeah, it's a pain, but there are lots of glitches in the system. :) Such is life...
I was going to suggest you could post on the main meta, suggesting it be changed - but someone probably has already posted the same thing. :)
And I already know their reply - "even for closed questions, people who find them in the future will judge the quality, based on votes - so votes are still allowed... " :)
Anyway, I'm off, cya.
 

« first day (401 days earlier)      last day (4632 days later) »