Kodewerx

Our culture has advanced beyond all that you could possibly comprehend with one hundred percent of your brain.
It is currently Tue Mar 19, 2024 3:23 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: C# and game development
PostPosted: Tue Oct 13, 2009 4:35 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Pronounced "See Sharp" this is what Visual Basic has evolved into. A C-like language which resembles JavaScript more than C or C++. But, this isn't JavaScript. Where JavaScript is a very beautiful [poetic, even] language, C# is a mockery of the C-style syntax flavored with the rancid taste of Visual Basic and morbid stench of Java.

I can't say [yet] that I hate C3, or even dislike it. But the description above is enough to make you wonder.

That said, are any of you foul beasties familiar with this language? I recently stumbled upon a project written in C# which I wish to port to Mono. (Mono, on the other hand, is a badly-named open source implementation of the Microsoft .NET framework, available for Linux, OS X, Windows, etc.; The name is actually more humorous than annoying, in fact. It is almost as epic as ReactOS, should it be renamed to "AIDS.") The project in question is the Scrolling Game Development Kit 2. For those oldbies among us who recall making simple, albeit silly, games in The Games Factory, and the like... SGDK2 will bring back some fond memories of youth, boredom, and creativity.

For those of you unfamiliar, a program like SGDK2 allows you (being the non-programmer, non-artist, non-musician, non-director, non-producer, game-developer-wannabe sort) to create video games. Basically, you draw some background tiles, some characters, then draw levels with your background tiles, add some sprites, defines a couple of simple logic rules to be applied by the game engine every frame (for example, "do gravity," "collide sprites," "player control...") And viola! You have made a video game.

It's a great idea, but with a few drawbacks. Namely, I want such a program that is open source, meaning essentially, free-for-me. No crackz, no stolen serialz, no freeware, no shareware; open source. To that end, there's SGDK, and SGDK2. SGDK suffers only from being written in (I believe) Visual Basic, making it rather worthless to me (primarily a Mac OS X user). And SGDK2 suffers from being written in C#. However, in the case of C#, I can at least pretend to use the program with Mono. (Mono, as far as you should know, is fairly complete, but still contains bugs making it a pain in the ass - at best - to use daily.)

So, while I flail around in the dark, trying to get this program running on OS X, and losing plenty of possible game development time, I ask again if anyone here is familiar with the language, and/or holds any sort of interest in creating games. If so, this is probably a good place to start!

What I need, (briefly) is to document all bugs in SGDK2 (or Mono) which makes it difficult or impossible to use on OS X/Linux. So far, I've filed a couple of bugs on the sourceforge project's bug tracker to this end. This is *very* incomplete, but at least highlights some of the major issues.

Second, I need to make test case apps (small/minimal pieces of C# code which demonstrates the bug(s)), especially where Mono bugs are concerned. This quite scares me, because I'm so unfamiliar with C# and the ridiculous Hello World [see below] is of no use whatsoever. Basically, this.
Code:
System.Console.WriteLine("Hello, World!");


Third, I need workarounds or patches for Mono which enable SGDK2 to run properly.

Finally, I need to sit my ass down and make a few stupid little toy video games. This is mostly just to gain some personal experience with the game development process. I fully intend to work myself up to using the Blender game engine to create games which are more up to modern [commercial-level] standards.


So that's what I'm doing with C#. Any takers?

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 13, 2009 4:54 pm 
Offline
Komrade
Komrade
User avatar

Joined: Tue Mar 27, 2007 6:23 pm
Posts: 1354
Location: Mario Raceway, 1509.831, 217.198, -564.429
Title: Mario Kart 64 Hacker
Um...

You're interested in, and working on, a generic game engine designed for people who know nothing about coding?

You are?

And you're doing it in an icky Microsoft bytecode language? On a Mac?

And you like Javascript?

Have you hit your head lately? You've always been the guy who eats machine code for breakfast and shits out insane hacks like Jesus Mode, and you're interested in a premade generic game engine for non-coders? Wha...

_________________
Image 143
HyperNova Software is now live (but may take a few tries to load) currently down; check out my PSP/DS/Game Boy/Windows/Linux homebrew, ROM hacks, and Gameshark codes!


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 13, 2009 5:26 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
HyperHacker wrote:
You're interested in, and working on, a generic game engine designed for people who know nothing about coding?

Yes.
HyperHacker wrote:
And you're doing it in an icky Microsoft bytecode language? On a Mac?

Not my first choice, but given the circumstances, yes. (I am open to alternatives.)
HyperHacker wrote:
And you like Javascript?

Absolutely! Are you stuck in 1998, contributing to JavaScript being The World's Most Misunderstood Programming Language? Are you not aware of how incredibly powerful and elegant the language is? For shame!
HyperHacker wrote:
Have you hit your head lately? You've always been the guy who eats machine code for breakfast and shits out insane hacks like Jesus Mode, and you're interested in a premade generic game engine for non-coders? Wha...

On the contrary! Machine code and Jesus Modes have their place, by all means. But you don't create full featured games alone in secrecy unless you are truly mad (eg. able to sustain several years of monotonous work without so much as a congratulations).

Instead, you gather some friends together, some of which probably have no experience with any sort of development, but at the least have a desire (childhood dream or otherwise) to make video games. In this case, you want to start with something extremely basic. Say, a generic pre-made game engine for non-coders? Then you create toy games (keyword: toy) to gather some morale and whatnot, before weening them off of it for some real development work with tools closer resembling Blender. (Which, I might add, is another "generic pre-made game engine for non-coders" just like, oh, let's say the Unreal Engine, Gamebryo, or RenderWare!)

So while I'm still quite sane, and my head is fine otherwise, I'm just looking at things a bit differently. We aren't in 1985; consoles now run full-fledged operating systems, and writing a game from scratch is far-far too much work. If I was working on a pure NES game, then yes I would definitely write the core pieces of it in assembly, and build it all from nothing. That's my case; today's game developer doesn't fart around with assemblers when a high level language can create more elegant and reusable code, and they never start from scratch if they can help it.


That good and out of the way, here are some free resources which might help out some inspiring game developers:

2D Graphics:
* Open Clipart Library

3D Models:
* Blender Model Repository
* Blender Open Model Repository
* Scopia's Free 3D Models

Blender Tutorials
* Blender 3D Design Course
* Blender Game Engine
* Blender Video Tutorials
* CGTalk Forums - Blender
* Johnny Blender - Blender Tutorial Series

Sound Effects:
* The Freesound Project

Music:
* N/A -- Make a suggestion?

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Oct 13, 2009 8:56 pm 
Offline
Komrade
Komrade

Joined: Tue Mar 27, 2007 10:18 am
Posts: 1328
So I'm NOT completely incompetent for starting with RPG Maker 2000 back when I was a tyke and working my way up to Blender?

What's that? You say I'm incompetent anyway for other reasons?

Dammit.

Blender was a great idea though; my thanks to the Havok guy who broke off and made it for the public.

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 13, 2009 9:27 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Nov 24, 2007 6:04 pm
Posts: 647
Location: Rattlesnakes and Sand
I'm familiar with C#, I am.
More so than I'd like to be.

Parasyte, for the love of God, do not touch it.
It's disgusting, and I fucking hate it.

I'd rather use Java than C#, and many (HEXTATOR) can attest to my hatred of Java.
At least Java is a real language.
C# is to programming what Weeds are to a flower garden.


I only wish that this was more relevant to your situation.


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 13, 2009 9:37 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
A nice looking alternative to Blender is the Crystal Space project. Blender just seems to me a more tightly integrated suite. Both can be used to create some very impressive games (on a budget of $0).

Examples with Blender:
* Untitled WIP "RC Car Game" by Mike Pan.
(Youtube video of the project in action)
* Apricot Open Game Project, Yo Frankie!

Examples with Crystal Space:
* PlaneShift; a WIP MMORPG.
* Apricot Open Game Project, Yo Frankie!

Interesting they made Yo Frankie! for both game engines. Apparently the differences are that the Blender version has more levels and such, and the Crystal Space version has more eye candy.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 13, 2009 9:48 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Nov 24, 2007 6:04 pm
Posts: 647
Location: Rattlesnakes and Sand
And suddenly I'm reminded of the fact that there was a time when I likened development for the Gameboy to things like Game Maker 'n' whatnot, simply because you were given so little freedom, and so many things could only be done "one way", and it was honestly quite easy and fun to do.
But to expand to anything that wasn't essentially "built-in" quickly became complicated, and by no means trivial.

I guess that's why I don't like Game Maker "Type" software.
Not enough freedom.

And that's probably why I found so much comfort in Flash.
You have a VERY usable programming language, in the form of ActionScript, itself based on Javascript (<3).
But the simplest, as well as some of the most complex tasks are all taken care of.
Making a simple game is comparable in difficulty to using a dedicated "Game Making" Application, but you're given far more control over each and every aspect of your project.


It's been a long damn time since I've made anything, for anything, really.
Bleh.


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 14, 2009 5:29 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Yet another alternative: Panda3D.

Keep in mind, these last few links have been for open source 3D game engines/SDKs, which have nothing to do with C# or SGDK2.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 14, 2009 7:47 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Nov 24, 2007 6:04 pm
Posts: 647
Location: Rattlesnakes and Sand
Parasyte wrote:
Yet another alternative: Panda3D.

That's... Heh.
Full Python support.

I'mma have to take a look at this.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 14, 2009 8:26 pm 
Offline
Komrade
Komrade

Joined: Tue Mar 27, 2007 10:18 am
Posts: 1328
Whoa, Panda3D looks impressive. I almost want to get back to screwing with game dev myself again...

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 14, 2009 8:51 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
I threw together the sample Panda3D "hello world" from the manual, and then added some sexy anti-aliasing. It helps a bit, but it really needs some shaders to liven up the scene, make it not so cartoony, you know?

Final "hello world" sample:
Image

And with 4x AA:
Image

It only took a couple minutes to get it up and running. I'm starting to dig Panda3D. And with the modified BSD license, it's probably just about perfect for anybody.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Wed Oct 14, 2009 11:15 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Nov 24, 2007 6:04 pm
Posts: 647
Location: Rattlesnakes and Sand
Is me forcing a Panda to do the Moonwalk back-and-forth through a clearing "Science"?

You bet your sweet ass it is.


Top
 Profile  
Reply with quote  
PostPosted: Fri Oct 16, 2009 6:40 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
And here's the "Nature Demo" with some fixes that I made...

* Added 4x multi-sampling AA
* Fixed the mouse-look jerkiness
* Extended the grass clipping

I kind of want some better lighting, too. Some normal maps, bloom + high dynamic range, ... maybe some depth of field. :) And the water needs work, too. Explicitly, it needs a little refraction on the lake bed.

Image

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Fri Oct 16, 2009 10:03 pm 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Nov 24, 2007 6:04 pm
Posts: 647
Location: Rattlesnakes and Sand
I can't get AA to work the way I want it to, even in something as simple as the Panda demo.
It's either 16x, or nothing at all, and while I've found out "how" to do AA, I haven't actually found any useful information, so I have no fucking clue what exactly the code I'm using is doing.
Dammit.


Top
 Profile  
Reply with quote  
PostPosted: Fri Oct 16, 2009 10:21 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
This is how I do it...

Before your 'import direct.directbase.DirectStart', you'll want to add:
Code:
from pandac.PandaModules import loadPrcFileData
loadPrcFileData('', 'framebuffer-multisample 1')
loadPrcFileData('', 'multisamples 16')

To allow Panda3D to use 16x multi-sampling. (My card only supports 4x, apparently.)

And to enable it, put this in your initialization:
Code:
        render.setAntialias(AntialiasAttrib.MMultisample)


Sadly, AA does NOT work if you enable the "bloom" filter. Something about the filter faking bloom by rendering to a texture (without AA) and just shoving that texture in front of the camera.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 17, 2009 12:59 am 
Offline
Kommunist
Kommunist
User avatar

Joined: Sat Nov 24, 2007 6:04 pm
Posts: 647
Location: Rattlesnakes and Sand
Exactly how I'm doing it.

But I can't get it to do anything but 16x.
Off, or On, that's the limit of my control.

Annoying, but meh, 'tis the least of my concerns right now.


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 17, 2009 2:10 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
I see. And yes, I have a similar problem with the documentation. The API reference is far from complete. And it seems the best pieces of information come from the wiki, the forums, and the included sample projects. Sadly, like you say, these resources can [usually] tell you how to do something, but there are few details what it's for, or why it must be done in that way.

For example, fixing the mouse-look jumpiness was simple; "just set the mouse mode to relative" I read in the forums. It took another Google search to find that setting the mouse mode to relative involves only a single line of code:
Code:
        props.setMouseMode(WindowProperties.MRelative)

And, it works great! But what the fuck does it do? It's a secret to everybody.

Commenting out the code that hides the mouse pointer, you can see that without this magic blackbox code, the cursor bounces and jumps around in the center of the window frantically, kind of like the viewport itself does. With this added line of code, the mouse stays perfectly locked to the center of the window, and the viewport mouse-look is as smooth as can be. So ... fuck knows!

That's the only problem I'm having with Panda3D at the moment. I'm partially inclined to just stick to Blender and its built-in Game Engine. At least I have seen some really nice video tutorials that explain how to do what I want, and why some of the oddities in the process are necessary.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Sat Oct 17, 2009 2:38 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
And some more useful resources:

* GameBlender.org Wiki
* GameBlender.org Forums
* Roberto Roch's Blog; Blender video tutorials and modeling examples

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Tue Nov 03, 2009 1:42 pm 
Offline
Komrade
Komrade

Joined: Tue Mar 27, 2007 10:18 am
Posts: 1328
Which eats up more CPU resources? Blender or Panda3D?

I just realized how much of a bitch it's going to be to do any more work in Blender if it's going to eat my CPU.

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 04, 2009 3:12 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
They are probably about the same, really. 3D processing is going to put the most strain on your GPU(s). Blender (a 3D modeling tool) is also going to work your system memory, depending on how you use it. (A common problem is attempting to do high-poly modeling, which eats up tons of memory, as it has to keep track of millions of vertices, faces, UV maps, etc. The solution is simple, though; do low-poly modeling with smoothing enabled on top of a sub-surface modifier. That keeps the amount of real nodes at a minimum, and creates dynamic nodes where necessary to create the level of detail you want.)

A PC with moderate specs (My laptop, for example: 2.8GHz Core 2 Duo, 4GB RAM, nVidia 9600M GT...) will run them both just fine.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Nov 04, 2009 6:16 pm 
Offline
Komrade
Komrade

Joined: Tue Mar 27, 2007 10:18 am
Posts: 1328
You have a freaking 2.8 GHz laptop?

I have a 3.19 GHz desktop that I'm on, but the vidja card is mad olde.

I only have a single gigabyte of RAM though. I can run Blender fine; it's just annoying listening to the fan go the whole time.

I'm glad I wrote down what I had learned about how to use Blender, because the help menu is all but navigable. I had forgotten everything I learned since the time I first messed with it and when I picked it up again the other day. That was a pain.

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 05, 2009 9:44 am 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Yes, a 2.8GHz Core 2 Duo in my laptop. It's a year old. :( Almost time for a new one.

Learning to use Blender; look at some of the video tutorials linked above. Nothing else I know of is quite as handy.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Thu Nov 05, 2009 9:47 am 
Offline
Komrade
Komrade

Joined: Tue Mar 27, 2007 10:18 am
Posts: 1328
If I recall, video tutorials are how I learned what I knew to begin with.

The text file I spoke of contains this:

Quote:
Camera - Shift/Ctrl and/or Middle Mouse Wheel
Moving objects - G and mouse (with X, Y or Z to move along axis) or click the arrows
Creating objects - Hit Space to open the object menu after picking the target location
with a left click
Scaling objects - Hit S while an object is selected and scale with the mouse or a preset
multiple by pressing a number key
Edit mode - TAB when object is selected
Subdivisions - Press W with object selected to choose
Extrusion - Press E when vertex, edge or plane is selected
Merging - Press W with things to merge selected and select "Merge"
Building faces - Press F when at least 3 vertices are selected to make the area bounded by
them into a face

If there's any more simplified tidbits you'd like to add, feel free.

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Fri Apr 30, 2010 9:23 am 
Offline
Kommunist
Kommunist

Joined: Fri Apr 30, 2010 9:18 am
Posts: 1
Title: Aspirant
Parasyte wrote:
Music:
* N/A -- Make a suggestion?

I'd imagine any program such as FL studios or Audacity should suffice?

<.< Alternatively enslave a local peon whom has the program, free time, and would be willing to work for free?


Top
 Profile  
Reply with quote  
PostPosted: Fri Apr 30, 2010 3:10 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Well, I was really looking for something like free (public domain/creative commons) samples, loops, tracks, songs, etc.

There are a number of open source trackers, composers, synthesizers, and DAWs. Here's a list that I can think of off the top of my head:

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Wed Nov 03, 2010 8:20 pm 
Offline
Kommunist
Kommunist

Joined: Tue Feb 27, 2007 12:06 pm
Posts: 51
I know this began over a year ago, but maybe it's still somehow relevant. (Although if you reply I might not read it for a year)

I've been doing C# development full-time for the last 2 and a half years. I've done a little with mono (compiled Paint.NET, wrote some command line utils, and tried to port the huge application I work on at work only to discover it crashes the Mono compiler trying to build without any traceable reason) so I at least have some experience with that. But I don't really know what you're asking. Are you wanting someone to port the application for you? Or just find bugs in Mono? (There are a lot)

If you're still interested, I can look into it the next time I want something new to do. Though I don't see the point in porting it to mono. I've found that .NET applications run fine in WINE/Crossover.


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 04, 2010 4:48 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
Yeah, I kind of gave up on this whole thing. HTML5 & friends seems like the way to go.

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
PostPosted: Thu Nov 04, 2010 5:50 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:46 pm
Posts: 2331
Location: *poof*
Title: The Mad Hacker
Oh hello!
This could be the perfect motivation for me to tackle two of my project ideas in one go...
*ponders*

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 05, 2010 3:13 pm 
Offline
Komrade
Komrade

Joined: Tue Mar 27, 2007 10:18 am
Posts: 1328
How 3D does this HTML 5 business get? Is it competent on average with other systems for 3D games?

_________________
Image


Top
 Profile  
Reply with quote  
PostPosted: Fri Nov 05, 2010 4:15 pm 
Offline
Krew (Admin)
Krew (Admin)
User avatar

Joined: Sun Oct 01, 2006 9:26 pm
Posts: 3768
Title: All in a day's work.
I guess you haven't seen WebGL. If you're not running a development version of a recent browser that supports WebGL, have a look at some of the Youtube videos: http://www.youtube.com/results?search_query=webgl

So the short answer to your question is, "yes."

_________________
I have to return some video tapes.

Feed me a stray cat.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 34 posts ]  Go to page 1, 2  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 12 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group