[New] I am committed to starting my first real game

Started by
13 comments, last by Postie 9 years, 4 months ago

Greetings and thank you all for this wonderful community.

I'm excited to finally be part of it.

Now I'll get to the point, since I've spent the whole afternoon researching the web.

About me:

  • I am 21 years old, currently a Computer Science senior student.
  • I am experienced in many languages (Java, C#, Python, C++, Actionscript) and I am knowledgeable of general modern programming theory, yet I do have my limitations that I am well aware of due to my lack of proper real-world experience.
  • I am always willing to learn and I am a fast learner as well.
  • I love games. They are my passion. I want to do games for the rest of my life, instead of just solving other flavours of problems using software.

What I will do:

  • I will develop and design a unique 2D rhythmic game called Labyrhythm. Scope of the game will be to avoid obstacles in the level while a song is playing. Insta-death will be a thing, meaning if you make a small move in your dance, the level will reset. Actual level design and more details have been fleshed out, so I won't mention them, altough they will be important down the road.
  • Your character will be the cursor, most likely portrayed as an orb of light.
  • The basic focus of this game will be on pathfinding, since there will be some entities in the level that I shall refer to as "seekers" that will follow your cursor.
  • I will make this my college degree, so I basically have to make a working prototype in 7 months time.
  • I will wish to pursue this game to the market after I finish my degree.
  • Even though I have team experience, this project will be done by myself as a solo project.

What tools I found and decided to use:

  • .NET Framework - A framework that is familiar to me and has a lot of support. C# and Visual Studio have proven to be great for me.
  • BASS.NET API - Since I will be making a rhythm game where the focus is on the music and the player must feel it, I felt that having a proper tool to deal with sound processing was a good choice.
  • MonoGame - I wish to make it cross-platform, and this meant I had to design it from the grounds up as such. After searching for many tools, this one looked to be the best for me.

Other tools I found:

  • XNA - I saw that Microsoft dropped support for this, and I got discouraged from using it. I did see that MonoGame was a good replacement.
  • Mono - I was looking into cross-platform options for C# and .NET and I found the Mono platform to help me. This way I found MonoGame and that it was targeted specifically for what I need. I haven't learned the major differences between the two.
  • SFML - I also heard people recommend this multimedia library but I wasn't really convinced of it.
  • SDL - another cross-platform development library, but I saw it was natively built for C++, even though support was available for C#
  • Unity Engine - I managed to read the FAQs and it looked like my first game project shouldn't be using something as grand as a game engine, especially one that looked more suited to me for 3D games

Questions I had:

  • How does DirectX fit into all of this? I have never used DirectX libraries, or proper GFX library, apart from some Actionscript 3.0 Flash games back in the days for fun.
  • How does OpenGL fit into all of this? Why should I prefer it to DirectX?
  • What are the main differences between Mono and MonoGame? I see one is targeted for games, but in the end they have the same core right?
  • Is MonoGame reliable as a first project? I saw a lot of great indie games made using MonoGame, like Bastion, Transistor and Elysion.
  • Is it difficult for a 2D game, with some complexity and networking to be made in 7 months?
  • What other alternatives for tools are there that I haven't stumbled upon?
  • Do I have all I need to get started? What am I missing?
  • Any other bits of wisdom that you can offer to an aspiring game dev?

Thank you all for your help, it really means a lot to me at the beginning.

Keep the passion alive,

Loop.

Advertisement

Allrighty

1 & 2 - OpenGL and DirectX are low level graphics APIs (application programming interfaces), they sort of sit right above the driver level. DirectX is published by Microsoft and OpenGL is (I think) open source.

3 - I don't know much about Mono, but MonoGame is essentially the open source continuation of Microsoft's XNA framework. It is an API that sits above the DirectX/OpenGl layer, and provides all sorts of useful classes etc specifically geared towards creating video games.

4 - Yeah, MonoGame is excellent, not to mention cross platform. Easy to use and the community is reasonably active

5 - Completely depends on you and your team

6 - I didn't see mention of the Unreal engine in your post, that's also a viable alternative. $20 will get all of the source code, and it's an excellent engine. With Microsoft releasing the community edition of VS2013 last month, you can get quite far as an indie developer without having to fork out too much $$$

7 - Yes, you have all you need

8 - Discipline is worth more than all the motivation in the world biggrin.png

Well since you have done lots of research start leaning MonoGame but start small think in small steps like create a window, draw and object, move that object, etc... Depending on your learning speed will determine how fast you are up and running with a working prototype of your game. With all that said game development isn't the easiest task to handle and as such learn the basics.

From personal experience SFML is awesome from a all coding standpoint.

Unity is fantastic and well thought out truly a great game engine with a nice UI. (My recommendations after you learning how game programming works)

Since you want to be xplatform don't worry about DirectX since it is a Microsoft thing. Also You don't have to worry about OpenGL if you are going to choose something SFML or Unity as those lower-level libraries are already written to work under the hood. If you want to do it from scratch (reinventing the wheel) in DirectX or OpenGL get ready for a long and painful experience.

Also I think you are overloading yourself with a lot of information and not actually doing... Which just might get a little overwhelming. Start doing pick something work with it and if you don't like it or feel like this isn't it for you try something else you have lots of choices and you seem to have researched a lot of them. Great learning games are brick out, pong, etc...

Thanks to both of you, really helpful advice.

As for overloading on information, I love this environment, where I have all the info I need. All I wanted to do now is solidify that information and find a good path to trek.

As for something I am still not clear on: What would be better to use Mono or MonoGame. MonoGame seems to be reasonably new compared to Mono, not to mention the community sizes.


What would be better to use Mono or MonoGame

Probably MonoGame; from what I've read (in the last two minutes) Mono seems to be general purpose, whereas MonoGame is specifically geared towards games.

Welcome and good luck on the project.
Reading what you're targeting, I woud definately create some sort of game design (document). Doesn't have to become a book, but just as a guideline and help you stay within the 7months.

Crealysm game & engine development: http://www.crealysm.com

Looking for a passionate, disciplined and structured producer? PM me

Mono is just an open source clone of the .net framework, a bytecode jit compiled general purpose vm that c# etc compile to (and it's associated libraries aka "assemblies").

Monogame is a games development framework built on top of mono or .net.

If you're planning to use MonoGame, be warned that you will probably want to install XNA as well as MonoGame still has some dependancies on its content pipeline. Font rendering in particular is a problem because there is no way to do it in MonoGame without either using XNA's content pipelin or implementing your own font renderer.

If you're planning to use MonoGame, be warned that you will probably want to install XNA as well as MonoGame still has some dependancies on its content pipeline. Font rendering in particular is a problem because there is no way to do it in MonoGame without either using XNA's content pipelin or implementing your own font renderer.

Is that still the case for fonts?

I've been working with an older version of MonoGame, but recently updated to 3.2. Their new content pipeline utility (MonoGame Content Builder) removed any need for me to keep XNA installed (it builds effects, textures, sounds etc without any issues). I haven't done any in game text-rendering yet, but I think the utility supports font exports as well... correct me if I'm wrong smile.png

One of the minor problems with XNA and the way it handles fonts is that it makes a bitmap copy of the font, rather than just using TTF files installed onto the PC.

This can cause a licensing problem, as due to the way TTF fonts are licensed, the way XNA works means it has made a copy of the font face, which means that for most font faces licensing fees must be paid, which can be quite astronimical and silly money, out of the reach of all but big studios.

Be very careful of this!

For more information see the note section for the SpriteFont class on MSDN.

This topic is closed to new replies.

Advertisement