[QUOTE=Maurice;27692870]I feel offended.
btw guys I'm making a mario clone you should check it out[/QUOTE]
How much will I get on ebay for this?
[IMG_thumb]http://i52.tinypic.com/dzila9.png[/IMG_thumb]
[QUOTE=CarlBooth;27692965]How much will I get on ebay for this?
[IMG_thumb]http://i52.tinypic.com/dzila9.png[/IMG_thumb][/QUOTE]
An easy $1,500.
Ok, so I've got my hands on Magicka. It's a commercial game that is currently getting amazingly popular on steam.
But what's special about it is the fact that it's made in XNA. So I right click the exe and open it with .NET reflector and I can view all the code.
Honestly, I don't like the fact that I can do that and I'm wondering how this isn't a bigger issue with .NET games. Btw, the code doesn't seem to be obfuscated at all.
[QUOTE=Jallen;27690952]Working particles :D
[img_thumb]http://dl.dropbox.com/u/5062494/junk/android_dev_particles.png[/img_thumb][/QUOTE]
Nice, what is it gonna be?
[QUOTE=Darwin226;27693543]Ok, so I've got my hands on Magicka. It's a commercial game that is currently getting amazingly popular on steam.
But what's special about it is the fact that it's made in XNA. So I right click the exe and open it with .NET reflector and I can view all the code.
Honestly, I don't like the fact that I can do that and I'm wondering how this isn't a bigger issue with .NET games. Btw, the code doesn't seem to be obfuscated at all.[/QUOTE]
Perhaps the more important point here is that it's a hugely successful game which hasn't been impacted by the fact you can read the code.
Yet here there are always long arguments over code obfuscation for someone's small .NET project.
[QUOTE=Dotmister;27693582]Perhaps the more important point here is that it's a hugely successful game which hasn't been impacted by the fact you can read the code.
Yet here there are always long arguments over code obfuscation for someone's small .NET project.[/QUOTE]
I'm all for open source but you got to make money somehow.
Also, the fact that it was cracked 2 hours after the release means something too.
[QUOTE=Downsider;27689041]Some of my first real projects were on the PSP..
[media]http://youtube.com/watch?v=7GaDMSTLWfs[/media]
[media]http://youtube.com/watch?v=dwI0GNmu08M[/media]
Very excited to see the new PSP cracked, I loved the old PSP development scene.[/QUOTE]
Get out. You're the reason I bought a PSP for homebrew. (Of course I never did anything serious with it because I then went on to write my build system. Attention span of a 4 year old)
What were some of the challenges with writing it? How was the memory usage? What file formats, etc.? Come on mang, give us the deets! :v:
Damn, now I'm wanting to work on a PSP game.
Actually. Forget about that. I just realized that with or without source, the game is going to get cracked and will make no less money if the code isn't obfuscated, while being able to read the source provides a learning opportunity.
[QUOTE=Darwin226;27693543]Ok, so I've got my hands on Magicka. It's a commercial game that is currently getting amazingly popular on steam.[/QUOTE]
More XNA games on Steam :buddy:
(I bought it earlier)
Well this:
[cpp]public int PlayerCount
{
get
{
int num = 0;
for (int i = 0; i < 4; i++)
{
if (this.mPlayers[i].Playing)
{
num++;
}
}
return num;
}
}
[/cpp]
doesn't look very well thought out.
[cpp] string CFilesystem::findExecutable(void) const
{
TCHAR executableChars[MAX_PATH] = {0};
int error = GetModuleFileName(0, executableChars, MAX_PATH);
// Getting the filename failed.
if(error == 0)
{
logWindowsError(GetLastError());
return string("");
}
// Trunicated paths are useless.
if(GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
return string("");
}
// Windows XP/2000 doesn't null terminate the trunicated path.
executableChars[MAX_PATH] = '\0';
for(TCHAR* letter = &executableChars[0]; *letter != '\0'; ++letter)
{
if(*letter == '\\')
{
*letter = '/';
}
}
return string(executableChars);
}
string CFilesystem::findRealPath(const string& path) const
{
TCHAR* realPathChars =
reinterpret_cast<TCHAR*>(std::calloc(MAX_PATH, sizeof(TCHAR)));
int error = GetFullPathName(path.c_str(), MAX_PATH, realPathChars, 0);
// GetFullPathName will return the size of the buffer really needed if
// the current buffer is too small.
if(error > MAX_PATH)
{
free(realPathChars);
int newSize = error;
realPathChars = reinterpret_cast<TCHAR*>(std::calloc(newSize,
sizeof(TCHAR)));
error = GetFullPathName(path.c_str(), MAX_PATH, realPathChars, 0);
}
if(error == 0)
{
free(realPathChars);
logWindowsError(GetLastError());
return string("");
}
for(TCHAR* letter = &realPathChars[0]; *letter != '\0'; ++letter)
{
if(*letter == '\\')
{
*letter = '/';
}
}
string realPathString(realPathChars);
free(realPathChars);
// Strip off any trailing slashes, getPathData will handle adding one.
if(realPathString[realPathString.length() - 1] == '/')
{
realPathString = realPathString.substr(0, realPathString.length() - 1);
}
return realPathString;
}
pathType CFilesystem::findPathType(const string& path) const
{
string fixedPath = path;
// _stat doesn't allow trailing slashes for directories, which is silly
// considering _stat is being used to find out if a path is a directory.
if(fixedPath[fixedPath.length() - 1] == '/')
{
fixedPath = fixedPath.substr(0, fixedPath.length() - 1);
}
struct _stat info;
int status = _stat(fixedPath.c_str(), &info);
if(status != 0)
{
switch(errno)
{
case ENOENT: // A component of the path does not exist.
return pathType::none;
case EINVAL: // The path is invalid.
return pathType::none;
default:
return pathType::unknown;
}
}
if(S_ISDIR(info.st_mode))
{
return pathType::directory;
}
if(S_ISREG(info.st_mode))
{
return pathType::file;
}
return pathType::unknown;
}
bool CFilesystem::isPathAbsolute(const string& path) const
{
unsigned int driveMarker = path.find(":/");
// The path is absolute if after the first character, there's ":/".
// For example: C:/Windows
return (driveMarker == 1);
}
void CFilesystem::logWindowsError(HRESULT error) const
{
LPTSTR errorMessage = 0;
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
| FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, 0,
error, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
(LPTSTR)&errorMessage, 0, 0);
shared_ptr<ILogger> logger = engine.lock()->getLogger();
logger->log() << "WINDOWS ERROR (0x" << std::uppercase << std::hex
<< error << ")";
if(errorMessage != 0)
{
logger->log() << ": " << string(errorMessage);
}
else
{
// errorMessage includes a new line.
logger->log() << endl;
}
}[/cpp]
Windows port done.
[QUOTE=Chandler;27693741]Get out. You're the reason I bought a PSP for homebrew. (Of course I never did anything serious with it because I then went on to write my build system. Attention span of a 4 year old)
What were some of the challenges with writing it? How was the memory usage? What file formats, etc.? Come on mang, give us the deets! :v:
Damn, now I'm wanting to work on a PSP game.[/QUOTE]
Whoa, whoa.. I didn't write everything there from scratch.. It's based off the Quake engine, ported by some guy. I added support for Half-Life maps, Half-Life models, a clientside VM (Quake already had a serverside one, so I added a clientside Lua VM for my own ease of developing), and some proprietary crap that was built specifically for that game (Map format that streamed off the server or files, it was supposed to be kind of like an MMO). The engine supported much enhanced particles and Quake's netcode was replaced with a new protocol that was better suited to mobile gaming with high latency and what have you.
Memory usage wasn't too difficult to work around, paletted and DXT compressed textures paved the way. File formats, I adopted the Half-Life map format because it was easy to modify into Quake and had a relatively modern toolset already made for me, and the Half-Life model format because I like to steal and test art off FPSBanana. Was working on implementing Bullet physics into the world, but scrapped it because while it was a neat effect, the tradeoff in performance wasn't necessary for a game with so little focus on combat.
Basically, it was an incredibly unorganized Quake mod running on a super-enhanced Quake engine that I pulled out of nowhere.
[QUOTE=DaMoggen;27693567]Nice, what is it gonna be?[/QUOTE]
A small sandbox based on gravity.
[QUOTE=Downsider;27694056]Whoa, whoa.. I didn't write everything there from scratch.. It's based off the Quake engine, ported by some guy. I added support for Half-Life maps, Half-Life models, a clientside VM (Quake already had a serverside one, so I added a clientside Lua VM for my own ease of developing), and some proprietary crap that was built specifically for that game (Map format that streamed off the server or files, it was supposed to be kind of like an MMO). The engine supported much enhanced particles and Quake's netcode was replaced with a new protocol that was better suited to mobile gaming with high latency and what have you.
Memory usage wasn't too difficult to work around, paletted and DXT compressed textures paved the way. File formats, I adopted the Half-Life map format because it was easy to modify into Quake and had a relatively modern toolset already made for me, and the Half-Life model format because I like to steal and test art off FPSBanana. Was working on implementing Bullet physics into the world, but scrapped it because while it was a neat effect, the tradeoff in performance wasn't necessary for a game with so little focus on combat.
Basically, it was an incredibly unorganized Quake mod running on a super-enhanced Quake engine that I pulled out of nowhere.[/QUOTE]
Ahh ok. that clears up a whole lot then :)
[QUOTE=Darwin226;27693543]Ok, so I've got my hands on Magicka. It's a commercial game that is currently getting amazingly popular on steam.
But what's special about it is the fact that it's made in XNA. So I right click the exe and open it with .NET reflector and I can view all the code.
Honestly, I don't like the fact that I can do that and I'm wondering how this isn't a bigger issue with .NET games. Btw, the code doesn't seem to be obfuscated at all.[/QUOTE]
Nice, now i can see the steamwrapper up closer :3:
Does anybody know how to check if a client is connected in C#?
I have this, but it doesn't work...
[code]
static void CheckConnections(List<Socket> SocketList)
{
foreach (Socket s in SocketList)
{
if (s.Connected)
{
Console.WriteLine(s.RemoteEndPoint + " is Connected");
}
else if(s.
{
Console.WriteLine(s.RemoteEndPoint + " Disconnected");
SocketList.Remove(s);
}
}
}
[/code]
Not that I was expecting it to...
[QUOTE=Downsider;27694056]Whoa, whoa.. I didn't write everything there from scratch.. It's based off the Quake engine, ported by some guy. I added support for Half-Life maps, Half-Life models, a clientside VM (Quake already had a serverside one, so I added a clientside Lua VM for my own ease of developing), and some proprietary crap that was built specifically for that game (Map format that streamed off the server or files, it was supposed to be kind of like an MMO). The engine supported much enhanced particles and Quake's netcode was replaced with a new protocol that was better suited to mobile gaming with high latency and what have you.
Memory usage wasn't too difficult to work around, paletted and DXT compressed textures paved the way. File formats, I adopted the Half-Life map format because it was easy to modify into Quake and had a relatively modern toolset already made for me, and the Half-Life model format because I like to steal and test art off FPSBanana. Was working on implementing Bullet physics into the world, but scrapped it because while it was a neat effect, the tradeoff in performance wasn't necessary for a game with so little focus on combat.
Basically, it was an incredibly unorganized Quake mod running on a super-enhanced Quake engine that I pulled out of nowhere.[/QUOTE]
That is still very impressive, imo. Did you ever release the source?
Playing with shiny cubes :3
[img]http://img339.imageshack.us/img339/7436/lolqwg.jpg[/img]
[QUOTE=Loli;27695627]Does anybody know how to check if a client is connected in C#?
I have this, but it doesn't work...
[code]
static void CheckConnections(List<Socket> SocketList)
{
foreach (Socket s in SocketList)
{
if (s.Connected)
{
Console.WriteLine(s.RemoteEndPoint + " is Connected");
}
else if(s.
{
Console.WriteLine(s.RemoteEndPoint + " Disconnected");
SocketList.Remove(s);
}
}
}
[/code]
Not that I was expecting it to...[/QUOTE]
[code]else if(s.
{[/code]
what
i suck at c# but really
was that a paste mistake?
[QUOTE=Awwent;27695909][code]else if(s.
{[/code]
what
i suck at c# but really
was that a paste mistake?[/QUOTE]
He was joking, he knew that it wouldn't run
Making something easy to use harder than writing some hard algorithm.
Thinking simple is HARD :(
[img_thumb]http://img440.imageshack.us/img440/8029/cimg.png[/img_thumb]
Just playing around
edit:
[img_thumb]http://img715.imageshack.us/img715/7545/cimgcolor.png[/img_thumb]
[QUOTE=sLysdal;27696205]He was joking, he knew that it wouldn't run[/QUOTE]
Was I?.. \(O_o)/
Naa, it was a copy paste error...
But any ideas on this? The only way I can think of doing it is to poll every socket to check if it is connected... Or make the client send a message when they're disconnecting (Although that wouldn't help if the program were to crash unexpectedly...)
[QUOTE=ThePuska;27697285][img_thumb]http://img440.imageshack.us/img440/8029/cimg.png[/img_thumb]
Just playing around[/QUOTE]
Neat. Wait.
[img]http://gyazo.com/6e3f2276e868f04dc515a27feb49bfed.png[/img]
:v:
WTF?
After coming back to something I was working on last Thursday I found this...
[code]
// Holy Fuck I have to fix this ^... 6 Hours of straight programming solved nothing, your brain is dead
// Go to bed. It's 3 AM and you're creating a little alternate universe around your code, purely because
//it's annoying you that much. AND MORE TO THE POINT, YOU HAVE TO USE A SINGLE SCREEN TO PROGRAM ON TOMORROW
//FOR TWO HOURS, IT MUST REALLY SUCK TO BE YOU...
//
//Wait... What the fuck?
[/code]
I do not even remember typing this...
[img_thumb]http://f.anyhub.net/1CyV[/img_thumb]
I've also got some of the API stuff working and logging it to the debugger but i will probably need to change it when i get the info on the new API
How the hell do you guys get android development working?
I failed miserably everytime i tried :(
[QUOTE=CammieDee666;27697815][img_thumb]http://f.anyhub.net/1CyV[/img_thumb]
I've also got some of the API stuff working and logging it to the debugger but i will probably need to change it when i get the info on the new API[/QUOTE]
[html]<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Light.NoTitleBar">[/html]
[QUOTE=Richy19;27697979]How the hell do you guys get android development working?
I failed miserably everytime i tried :([/QUOTE]
I got it working with both Java and Mono :smug: