Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsDiscussion Forum → XBox Community games (XNA)
12345
XBox Community games (XNA)
2009-02-09, 1:20 PM #41
Quote:
What would really be good to know is what kind of power does XNA give you. There are plenty of high quality arcade games, and honestly if it's not even possible to build a game on that level I don't think it would be worth it.
Of course XNA can be used to make a game 'on that level'. It's not the API that makes the game; it's the content.

I second the side-scroller beat'em'up.
2009-02-09, 1:35 PM #42
I can only be helpful if it's a 3d side-scroller
"Nulla tenaci invia est via"
2009-02-09, 2:03 PM #43
A multiplayer side scrolling beat-em up would be cool.

As long as it has nothing to do with retarded memes, anime, or the internet.
2009-02-09, 2:17 PM #44
Yeah I agree with that last statement
"Nulla tenaci invia est via"
2009-02-09, 2:22 PM #45
lets make a game where you can play wow and have sex at the same time
[01:52] <~Nikumubeki> Because it's MBEGGAR BEGS LIKE A BEGONI.
2009-02-09, 2:28 PM #46
You can probably still play WoW with just your right hand.
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2009-02-09, 2:36 PM #47
some of us jerk it with our right hand
eat right, exercise, die anyway
2009-02-09, 2:45 PM #48
Ambidextrous people have it so easy...
I had a blog. It sucked.
2009-02-09, 3:08 PM #49
So would this end up being an Xbox live arcade thing?
COUCHMAN IS BACK BABY
2009-02-09, 3:11 PM #50
Originally posted by JM:
Of course XNA can be used to make a game 'on that level'. It's not the API that makes the game; it's the content.

That's true, but he still has a valid question. I haven't used XNA much so I wouldn't know, but maybe a better question to ask is, does the API become a hindrance at a certain level? If I wanted to make Far Cry 3, at what point (if any) would XNA cease to be useful?
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-09, 4:08 PM #51
Originally posted by Emon:
That's true, but he still has a valid question. I haven't used XNA much so I wouldn't know, but maybe a better question to ask is, does the API become a hindrance at a certain level? If I wanted to make Far Cry 3, at what point (if any) would XNA cease to be useful?
Floating point arithmetic performance is roughly 20% that of native code.
2009-02-09, 4:10 PM #52
Originally posted by Rob:
A multiplayer side scrolling beat-em up would be cool.

As long as it has nothing to do with retarded memes, anime, or the internet.


Agreed. For my part, I'd rather take part of a serious project. By serious I mean a good and honest effort at a decent game, not necessarily with a super serious plot. I found Castle Crashers to be a fun and interesting game. Something along those lines could be successful and amusing both to design and play.
Was cheated out of lions by happydud
Was cheated out of marriage by sugarless
2009-02-09, 5:44 PM #53
Originally posted by Gettleburger:
not sure if you were talking about me, but hell if I have time to devote to something like this sorry guys =(

Make that 3 people! :P

I think he was talking about Ruthy.
nope.
2009-02-09, 5:51 PM #54
XNA gives you high-level abstractions to play with. The advantage : You don't have to **** around with that low-level crap. The disadvantage : If you need to **** around with that low-level crap, you can't.
I don't know where exactly XNA falls in that spectrum because I've never used it, but I don't think we will need to **** around with that low-level crap anyway. A side-scroller does not require a sophisticated super-efficient engine.
2009-02-09, 6:08 PM #55
Originally posted by Baconfish:
Make that 3 people! :P

I think he was talking about Ruthy.


No. The person I'm talking about knows. If you have to ask, you aren't him.
2009-02-09, 6:25 PM #56
Originally posted by JM:
You don't have to **** around with that low-level crap. The disadvantage : If you need to **** around with that low-level crap, you can't.
JM, the only thing I can think of that you can do with a devkit but can't do with XNA is make your vector class use ALTIVEC.

How do you define "low level crap"?
2009-02-09, 6:41 PM #57
Originally posted by Jon`C:
Floating point arithmetic performance is roughly 20% that of native code.

Do you have any benchmarks for that? All I can find is this:

http://www.tommti-systems.de/go.html?http://www.tommti-systems.de/main-Dateien/reviews/languages/benchmarks.html

And an excerpt from an IEEE article (full text not available to me) that says:

Figures 2 and 3 show C# floating point performance to be virtually identical to C, but .NET memory management requires further tuning to reach C efficiency...
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-09, 6:42 PM #58
Also, it was my understanding that XNA isn't really that high level. To write a game engine with XNA you still need to know how to write a game engine. It provides APIs for sound, video, input etc., but doesn't give you much in the way of gamestate management or scripting.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-09, 6:50 PM #59
Quote:
How do you define "low level crap"?
In this context, vertex buffers, texture memory, things down there. I was under the impression that XNA abstracted most of that away. Load a model, render it, two function calls; it'll go ahead and use VBOs and load all the textures and what not.
2009-02-09, 7:48 PM #60
Originally posted by Emon:
Do you have any benchmarks for that? All I can find is this:
which gave C# a score of 46421 and MSVC++ a score of 8750 for a matrix multiply (18.8%).

An infinite loop with some floating point operations is meaningless. We're talking about a JIT'ed language that was created by the exact same people that made the C++ compiler we're comparing it against: if the exact same loop in both languages isn't converted into exactly the same set of instructions there is something seriously wrong. What we're seeing is the performance difference of a loop in both environments.

Originally posted by Emon:
IEEE says it's just as fast
And they're absolutely right. The code gets JIT'ed and runs on the exact same hardware as native code: the performance degradation comes from other sources as well as an inherent handicap in the platform neutrality of the runtime.

Assuming two vectors have already been loaded into memory, it will take a minimum of 7 instructions to calculate a dot product compared to 2 if you write it with native code.

Quote:
Also, it was my understanding that XNA isn't really that high level. To write a game engine with XNA you still need to know how to write a game engine. It provides APIs for sound, video, input etc., but doesn't give you much in the way of gamestate management or scripting.
Pretty much. If you can write a game with XNA you can write one with C++.

Scripting is an interesting topic. XNA on the 360 uses the .NET Embedded Framework which doesn't support codedom or loading assemblies. .NET makes a pretty interesting target for a game in Windows just because of the kind of scripting support you can get: within an order of magnitude of native code, easily, compared to 20x for some of the fastest object-oriented scripting languages.

If you implement a scripting language in an XNA game you're going to see a ~200x performance penalty in execution over native code just because you can't make a jump table.

Originally posted by JM:
In this context, vertex buffers, texture memory, things down there. I was under the impression that XNA abstracted most of that away. Load a model, render it, two function calls; it'll go ahead and use VBOs and load all the textures and what not.
Actually OpenGL is higher-level than XNA is.
2009-02-09, 8:00 PM #61
Originally posted by Jon`C:
which gave C# a score of 46421 and MSVC++ a score of 8750 for a matrix multiply (18.8%).

Someday, I'll learn to read. Actually though, that benchmark is .NET 1.1. What about the 2.0 runtime?

What performance critical areas would you need matrix multiplication done in C#? I thought DirectX provided APIs for doing really math-heavy things in the hardware?

This really isn't my area (the last renderer I wrote was in 11th grade with OpenGL 1.1). All I remember is people going "managed DirectX is 98% as fast as native!" I would think that a game loop would still spend most of its time waiting on the graphics hardware.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-09, 8:08 PM #62
How about, a 3d side-scroller, where you are a tank! That has rockets on the back and gives it the ability to jump high. Multiple guns attached, blow **** up
"Nulla tenaci invia est via"
2009-02-09, 8:16 PM #63
There's slimDx, which is awesome, but I do not think it works with XNA.
2009-02-09, 8:23 PM #64
Originally posted by Emon:
Someday, I'll learn to read. Actually though, that benchmark is .NET 1.1. What about the 2.0 runtime?
Same **** different namespaces.

Quote:
What performance critical areas would you need matrix multiplication done in C#?
Transforming a graph node into world space, pre-multiplying matrices for shaders, things like that. Matrix multiplication is the tip of the iceberg though. Do four dot products and it's the same as doing a matrix multiply. Care to take any guesses on how many millions of times Havok computes a dot product in a single frame of Oblivion?

Most of the physics assemblies available for .NET are just wrappers of C libraries. ODE.net, for example. Marshalling is actually faster than implementing physics in C#! It's hilariously tragic.

Quote:
This really isn't my area (the last renderer I wrote was in 11th grade with OpenGL 1.1). All I remember is people going "managed DirectX is 98% as fast as native!" I would think that a game loop would still spend most of its time waiting on the graphics hardware.
Managed DirectX is just a thin wrapper over the native API. Why wouldn't it be almost as fast? The only information you can get out of the claim is that COM interop has a 2% performance penalty.
2009-02-09, 8:38 PM #65
idea

side scrolling shooter (think contra, metal slug, etc)

main character: Carl Thibault... a werewolf with an AK47
eat right, exercise, die anyway
2009-02-09, 8:42 PM #66
Originally posted by Jon`C:
Same **** different namespaces.

But the actual CLR runtime is different. I don't know if this matters for floating point, though. You tell me.

Originally posted by Jon`C:
Do four dot products and it's the same as doing a matrix multiply.

I dropped out of linear algebra. :saddowns:

Originally posted by Jon`C:
Care to take any guesses on how many millions of times Havok computes a dot product in a single frame of Oblivion?

Most of the physics assemblies available for .NET are just wrappers of C libraries. ODE.net, for example.

Yeah, I wasn't going to suggest implementing (complex) physics in managed code.

Originally posted by Jon`C:
Marshalling is actually faster than implementing physics in C#! It's hilariously tragic.

To be fair, there isn't much overhead when marshaling blittable types. But why is .NET so slow in this respect? The benchmark I posted showed Java having nearly a two-fold increase in speed. Is it a problem with managed code or a problem with .NET?
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-09, 8:51 PM #67
i dont understand the conversation, but i cant seem to stop reading it...
My girlfriend paid a lot of money for that tv; I want to watch ALL OF IT. - JM
2009-02-09, 9:05 PM #68
My vote goes to "SPOOKY TACO - THE GAME."
Author of the JK levels:
Sand Trap & Sand Trap (Night)

2009-02-09, 10:06 PM #69
Originally posted by Dark__Knight:
My vote goes to "SPOOKY TACO - THE GAME."

:omg:
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-09, 10:12 PM #70
Originally posted by Jon`C:
Apart from all of the screwballs who think they can do game design, the one guy who's actually in school for it is too lazy to actually do any work.

Guess I'm a screwball.

Anyway, I'll be willing to help out if I think something will actually come out of the project. I can do writing (any, not just "story writing," including writing a game design document for an idea that's *gasp* not my own), and whatever art is needed. Should the team think I should do any sort of game design, I of course will help with that too (because I'm screwball enough to think I'd be useful with that as well.)
The Plothole: a home for amateur, inclusive, collaborative stories
http://forums.theplothole.net
2009-02-10, 12:04 AM #71
Originally posted by Emon:
But the actual CLR runtime is different. I don't know if this matters for floating point, though. You tell me.
It shouldn't. The main way of optimizing floating point math is vectorization and as far as I know even .NET 3.0 doesn't do it. They do use SSE for some casts but that's about it I think.

I'm honestly not 100% on x86 code generation but as I understand it the main way of doing automatic vectorization is with some pattern matching tomfoolery. The CLR can't even inline functions or unroll loops so it would be utterly impossible to use SIMD on floating point calculations performed in a loop like that matrix example. The author of the test would have gained ~2% performance relative to C++ if he had manually unrolled the loops first, incidentally - check out the XNA matrix classes in Reflector for a good example of how you're supposed to do things.

Quote:
I dropped out of linear algebra. :saddowns:
But it's so easy. :(

Quote:
Yeah, I wasn't going to suggest implementing (complex) physics in managed code.
The physics for a game has to come from somewhere and if you're developing for XNA it's going to have to come from C#. At least 2D physics has roughly ~1/3rd the complexity of 3D physics, and you can mitigate most of the performance consequences of managed code by properly using value types.

Quote:
To be fair, there isn't much overhead when marshaling blittable types. But why is .NET so slow in this respect? The benchmark I posted showed Java having nearly a two-fold increase in speed. Is it a problem with managed code or a problem with .NET?
A little bit of both.

Originally posted by Gebohq:
Guess I'm a screwball.
Almost everybody thinks they can design a game but almost none of them can actually do it. Don't take it so personally.
2009-02-10, 12:41 AM #72
I was mostly making fun of the fact that you seem to qualify "good game designer" with "someone who's going to school for it" which I personally find laughable since (at least when I was applying for colleges as I admit it's slowly changing now), learning "game design" means learning how to program and make 3D art and working with a team, not specifically game design. I'm not claiming to be the exception to the rule, but I am competent enough to take a stab at it more than most. Just because I haven't been modding videogames doesn't mean I'm not a competent game designer.

Also, Ooo, ow, you've pierced me in the heart! Woe is me, for Jon`C has indirectly insulted me with his words of wisdom! :rolleyes:
The Plothole: a home for amateur, inclusive, collaborative stories
http://forums.theplothole.net
2009-02-10, 2:20 AM #73
Originally posted by Jon`C:
It shouldn't. The main way of optimizing floating point math is vectorization and as far as I know even .NET 3.0 doesn't do it.

As far as I know, the runtime has been virtually unchanged since version 2.

Originally posted by Jon`C:
But it's so easy. :(

Learning linear algebra and taking a class in it are different. I was going to minor in mathematics until I realized that linear algebra II and abstract algebra would be :suicide: for me, and none of the other math classes are easier

Originally posted by Jon`C:
The physics for a game has to come from somewhere and if you're developing for XNA it's going to have to come from C#.

I thought you just said using a native wrapper would be faster? Or are you talking about the performance hits that result even from that?


I'm experimenting with writing a game engine right now, using C#. I'm using a simple task kernel (like that Enginuity article), hierarchical game states, and scripting through assembly loading (with fast calls from dynamically generated delegates using Reflection.Emit, actually similar to what C# 4.0 does for dynamic dispatch).

I'm nearing the point where I need to think about some kind of renderer. Writing my own is outside my experience level and outside my desired area of learning. Mogre, the Ogre3D wrapper, made me want to shoot myself. Irrlicht is a C++ renderer that looks nice. I figured I would use C++/CLI. Write an interface in C# for a renderer plugin and implement it in C++/CLI. I don't care that much about performance but I'm still going to design it to be as fast as I reasonably can. Do you have any advice on this?
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-10, 6:55 AM #74
Originally posted by Dark__Knight:
My vote goes to "SPOOKY TACO - THE GAME."


YES
COUCHMAN IS BACK BABY
2009-02-10, 7:11 AM #75
Originally posted by Emon:
I thought you just said using a native wrapper would be faster? Or are you talking about the performance hits that result even from that?
No, I mean if you want your game to work on the Xbox 360 you need to write your physics code in C#.


Quote:
I don't care that much about performance but I'm still going to design it to be as fast as I reasonably can. Do you have any advice on this?
Use XNA for the renderer. It's really not that hard.
2009-02-10, 3:07 PM #76
Originally posted by Jon`C:
No, I mean if you want your game to work on the Xbox 360 you need to write your physics code in C#.

Ohhhhh :eng101:

Originally posted by Jon`C:
Use XNA for the renderer. It's really not that hard.

I've thought about it, and I'll consider it. Does it provide much of an abstraction vs managed DX? Thing is, I'm sure I could write it, but I don't really want to.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2009-02-10, 6:51 PM #77
Originally posted by Z@NARDI:
How about, a 3d side-scroller, where you are a tank! That has rockets on the back and gives it the ability to jump high. Multiple guns attached, blow **** up


bored :P
Attachment: 21225/tank01.jpg (29,344 bytes)
"Nulla tenaci invia est via"
2009-02-10, 7:02 PM #78
the idea of a sidescrolling vehicle based shooter with a vehicle that jumps reminds me of something....


not sure what though...

[http://www.theoldcomputer.com/Libarary%27s/Pictures/NESGameCovers/Blaster%20Master.jpg]


ok i'm sold on the idea
eat right, exercise, die anyway
2009-02-11, 5:24 AM #79
How about a steam punk adventure/role playing game with time travel themes with scenes like a zeppelin and a bar???
VTEC just kicked in, yo!
2009-02-11, 12:38 PM #80
How about we do that but with just the zeppelin and make a Hindenburg disaster simulator.
COUCHMAN IS BACK BABY
12345

↑ Up to the top!