Jump to content

  • Log In with Google      Sign In   
  • Create Account

Dan Mayor

Member Since 14 Jan 2011
Offline Last Active Jul 04 2013 07:35 AM

#5060191 How do you get a Deal with Sony!?!?

Posted by Dan Mayor on 07 May 2013 - 11:40 PM

There is no such thing as a Dev Kit for one user afaik.  The PS3 Kits I'm sure are getting much easier to get but I would bet that the brand new PS4 Dev kits will be harder to obtain than refined uranium.  Ok, maybe not that drastic but I'm sure they will be back to the strict requirements.  Simply put if they give you a dev kit they are giving you access to reverse engineer the entire system and exploit their networks (which Sony has had problems with in the past)  Being that their dev kit will contain source code and documentation on everything that makes the console what it is they are not willing to hand that over to just anyone.

 

More so your best bet is to build the game in it's entirety using technologies and engines that can support the main target console system.  Once your game is released and well protected legally you might be able to get somewhere contacting development studios that already have a dev kit and license.  Through an extremely hefty contract (meaning you won't see very much of the money earned) you can come to a deal where they will release your game and cut you back a small portion of the profits.  Beyond this as a first timer or someone with less than say 5 completed titles on the market I doubt you'll have a snowballs chance in hell (Sorry, but it's the truth).  I would recommend keeping an eye out for the new XBox and see if they continue to offer the Indie market place as the requirements are such that a basement indie can actually obtain a license and submit a game.  Also this counts for console game release experience that can later be used when trying to get arcade and full dev kit licenses for various consoles.  If this still isn't an option perhaps look into Ouya which from my understanding will have the lowest and most obtainable of the requirements as far as us indies are concerned.




#5059236 Good maths for jump in 2D beatmup in Game Maker?

Posted by Dan Mayor on 04 May 2013 - 12:20 PM

The thing about jumping in this type of game is that technically the graphic is going in the Y direction, but the collision checking should not, because in the game you aren't changing your position, rather jumping in the same position.  I don't think GameMaker's gravity is going to help in this instance.  Instead remember that you need to keep variables your x/y position on the ground, and then when jumping, you don't change the x/y position, except if the person moves while jumping.  The object itself has to increase and decrease the y position so that the sprite changes, but the 'ground' position shouldn't change.

 

As far as the jumping itself, you can calculate it in different ways.  I'd check some platformer tutorials, as the jumping works the same there, at least if you remember what I mention in the above paragraph.

 

Not sure to what extent I agree or disagree here.  What you are mentioning applies to games that have emulated depth (or 2.5d), where the Y value changes as the character moves deeper or shallower into the screen.  If this is the case you have a point where the character must land at the correct Y position but to say that it will always be the same as the Y position that the character had jumped from might be incorrect.  For example what if the player is holding up and right while jumping?  The character should land a bit higher in Y (deeper into the screen) and to the right of where it had jumped from.  Otherwise you get that uncomfortable linear jumping that we saw back in the 16 bit days.

 

Solution, use dual vectors.  One for the characters level position and an offset that applies to movement based animations (such as jumping or a lunging attack).  You would then apply your velocity of movement based on the offset, render and calculate collision versus the true position being the offset from the position but always bring the character back to the new position which depending on what your doing might be part position and offset or might return to the original position.  So for example, jumping would have the characters level movements effect x&y or the position while controlling the characters jump through the Y's offset.  The characters Y offset would be effected by the jumping velocity and gravity while the position would be effected by directional input.  The idea would be to add then subtract to the offset's Y bringing it back to the position Y as calculated by the input.  For something like a lunging or thrusting attack we might use the offset to propel the character forward then backward in the X axis bringing it back to the start X position.




#5059228 What should I do next

Posted by Dan Mayor on 04 May 2013 - 12:09 PM

I would personally suggest that you add some AI into your pacman game.  I believe that AI is of large importance to many games, doing some pacman AI will teach you basic logic and path finding techniques that you can expand upon later.  Also if you are choosing to go the C++ route of game development you will also want to start working on making level editors and rendering libraries that can read the level files you are creating.  I'm sure that many people will argue this next statement but when you are coding at the lower levels such as C++ with Direct X, OpenGL, or a rendering framework you normally won't get level editor like tools to use and will be required to build your own.  Most of the engines and development kits that come with worthy level / scene editors are much larger in scope and normally restrict / remove your ability to code in C++.  (Take a look at Unity or UDK for examples).

 

Beyond those examples if you are looking to learn some more advanced techniques I would suggest learning additional input such as controllers and joysticks and work on building a multiplayer game.  Or even building a simple online multiplayer game (Not MMO).  A simply RPG might also be a good idea to push your knowledge a bit farther and to learn how to implement massive amounts of features and state / statistic based outcomes.  I guess the point I'm trying to make is anything you do that you haven't done before will expose you to new knowledge.  Applying that which you have done before in a different way will always solidify your knowledge.  Personally when I am learning a new language, library or engine I rewrite my first few demo projects 2 or 3 times each to ensure that I'm learning it correctly.  If you feel that you are not yet ready to start applying that which you know towards your own custom project my biggest suggestion is to do it all again and add in some little custom differences.




#5058412 Scripting Language Choice

Posted by Dan Mayor on 01 May 2013 - 02:50 PM

C# is not platform dependant, however the .NET framework that you normally code and execute against is.  However Mono has taken major strides to make the C# language with .NET objects and methods work on most if not all relevant platforms.

 

It should also be mentioned that scripting languages are dependant on the environment, conditions and requirements of each project.  Some engines and libraries that you use may support or conflict with various interpreters or VM's that are used by various scripting languages.  Some interpreters are very difficult to integrate into your base code (LUA for example is very difficult to link into your code base from what I hear).

 

Scripting languages are good to know but I would say it's a very bad practice to pick and stick to just one as it will severely limit you in the future unless you always intend to use the same engines, libraries and tools.  I would more so suggest you ask yourself the following questions on a per project basis and make your decision on what to use from there...

 

Why do I need a scripting system?

- Seriously question what benefits you will get from implementing a scripting system over simply developing all in one language.

 

What do I want to script with said system?

- This goes along with the first question.  What is it that you actually want to write in a scripting language as opposed to what you will write in standard code?

 

What systems are compatible with the language, engine and libs I plan on using?

- If you still feel that you need / want a scripting system look around to see what scripting systems you CAN integrate into the engine, libs and language that you are developing in?

 

Will the scripting system provide enough productivity boost to warrant it's usage?

- With the above answered try to make a comparison.  Is it really worth it?  After spending all of the time and working through all of the complications to get the scripting system working is it going to improve your productivity or the functionality of your project enough to warrant the time and hassle required to get it working?

 

 

Also you should consider that the major benefits of a scripting language are that you can integrate some coded aspects without having to learn the underlying programming language.  Eg most scripting languages are simpler than C++ are and easier for non programmer types to learn.  If you yourself are a C++ programmer this benefit doesn't necessarily apply to you.  The other major reason is that you can hot swap logic scripts without having to recompile.  In some larger projects this is nice because it's easier to test small modifications without spending half an hour or more recompiling each time you want to change and test something.  Also it allows you to allow your gaming community to script in their own game mods.  With that said, using precompiled headers and linked libraries you can drastically lower your compilation times.  If you don't want the community creating mods to the game then this isn't really a benefit for you either.  In this instance where you are a C++ programmer, you know how to precompile as much as possible and don't care to let your community create mods for the game there isn't really any reason to use a scripting language or system.




#5057866 Want to make third person shooter.

Posted by Dan Mayor on 29 April 2013 - 02:31 PM

I would suggest Unity myself.  Both are actually fairly comparable, however I feel that Unity is more Indie friendly.  It supports more scripting languages to create your logic in, the asset store has many inexpensive ready to use models (when the time comes) and the free license contains everything you will need to release a PC game for profit.  UDK is a bit more powerful and contains some features that you do not get with Unity.  Unity's Pro license is VERY close to the UDK system but much cheaper.  Although the numbers have changed and I hear UDK now offers a royalty based full license the following journal entry of mine explains in more detail why you may wish to avoid UDK.

 

http://www.gamedev.net/blog/1003/entry-2249527-udk-for-indies/

 

Daz3D models are also ready to go and fully supported in Unity which to me is a major benefit.  Daz3D is  different modelling program that allows you to focus more on assets, clothing and such instead of the actual modeling process, for those of us non artistic types it's a means of actually being able to create usable 3D models and characters with animations.

 

Do keep in mind that these are my opinions and suggestions but there are many other methods, engines and tools that you can use.  Many have their own benefits and draw backs, Unity is no exception, I'm sure there are down sides to using it although none that have ever effected me personally.  I would be interested in discussing all of this in a bit more detail if you would like.  You can find my contact details in my Game Dev profile and also on my Gravatar profile linked below.

 

http://en.gravatar.com/daniwan

 

Edit / PS

    Unreal and UDK are not used as much as many people may imagine an normally only by very large game studios that are not likely to hire or even talk to indie developers.  The companies that can afford and have the necessity for UDK / Unreal engines normally only entertain resume's and applications from veteran game designers that come from official studios with numerous released titles under their belts.  Unity is used by quite a few indie teams as well as many small and medium sized studios.  As with any field there's never a guarantee but Unity certainly opens more feasibly reachable doors.




#5057856 Online Gaming, Basic Theory

Posted by Dan Mayor on 29 April 2013 - 01:55 PM

We may all be focusing more on the idea that kalkas is trying to make an MMO.  Although I also assume this is what we are talking about we should also mention that you can have one of the players "host a match" on their own PC's and use your web space / PHP scripts to create a simple match making lobby that will get players together.  In this case the internet server isn't very important at all, you can go with the least expensive PHP / MySQL web host you can find.  You will simply be using http web requests to get a list of matches, join one, get an IP to connect to and then connecting and communicating with the host of the game (and or the other players directly).

 

If on the other hand your idea is an MMO type design I would have to highly recommend you save your self the heart break and ditch the idea now.  This is a stance that many people will argue about but I for one believe MMO game designs should NOT be attempted by less than a small army of professional and experienced developers.  Please see one of my journal entries for more information on the dirty little secrets of MMO's that many people overlook before throwing away years of their lives working on an essentially doomed from the start project.

 

http://www.gamedev.net/blog/1003/entry-2250963-the-truth-about-mmos/

 

Beyond the above hint and warning, the language and libraries you use to make the game server are highly dependant on the host machine itself.  Most if not all MMO / Online Game Servers are written in C++ and hosted on Linux machines.  You will need to implement many complex features yourself and there are very few packages, frameworks or engines that are built in the idea of being a strong linux based server side host for massively multiplayer games.  I say this as a final warning that if you intend to make a very large game and support many players you will need to do so using one of the worlds most complex programming languages and arguably the worlds most complicated programming theories and techniques.  You will need a college level understanding of networking communications, 3D mathematics, scripting executions, timing and many other things that quite simply are above many of us in the independent game development community.  Yes most if not all of these points can and probably will be argued but they are still valid to the greater majority of people who attempt such a project.  I ask that you don't take my or anyone elses word on this, rather spend a couple weeks doing some research yourself (and not to be rude but if you don't have the time or drive to do your research you don't have the time or drive to complete this kind of project either).  After all, whats a couple weeks of research to better understand what you're getting into when beginning a 5+ year project?




#5057843 Want to make third person shooter.

Posted by Dan Mayor on 29 April 2013 - 01:04 PM

Unity is itself a 3D engine and IDE system that is almost entirely based on 3D development.  In general Unity itself will handle the majority of the 3D mathematics that will be required to get a game started.  Beyond that you will want to have a good grasp on geometry, trigonometry and possibly some general physics (thus the reason so many people use Engines like Unity is that all of the important trig and physics is already done for you).  So in short, step one is to brush up on your late high school and early college level mathematics.

 

Next you would want to start working on some prototypes of your idea and a design document to start visualizing and defining the entire game, it's mechanics and specifics.  This is extremely important and will make years worth of difference to your development (Watch "Indie Game The Movie" for examples of the difference between designed and thrown together games.  Super Meat Boy went in with a complete thought out design and it's developers knowing exactly what they wanted to do.  Fez went in with a general concept idea with little to no direction and took over 6 years and at least 3 complete re-writes before it released).  So step two is to design and prototype your ideas to get a feel for where you want to go and what exactly you will be doing.

 

With those steps completed you should be about ready to start real production.  I would suggest starting again with simple primitives and working on your mechanics and game play first.  Basically you would be working towards a polished prototype, don't worry quite as much about what the 3D graphics actually are, just how to invoke the animations, translations, collision and such.  So your third step is to start actually developing the game using simple stick figure like primitives, focusing on the game play itself and getting your creation to start coming to life.

 

Once you are on this third step you will basically just continue working up this polished prototype, do tons of testing and slowly integrate more and more of the features.  At any point you can start replacing the graphics with final versions but I would recommend holding off until you are much closer to completion.  Many times models and graphics will change as time goes on and it can get very tedious and time consuming to continually be swapping out graphics and tweaking code to fit everything together properly.

 

All in all that's about it, brush up and make sure you have a firm grasp on 3D math such as Geometry, Trigonometry and some Physics particularly as they pertain to game development, design and prototype your concept extensively, elaborate and polish the prototypes into a completed product.  Should be pretty much the same process that you are currently following in 2D game development the only difference is that you add a third dimension and your primary calculation methods change from Algebra to Geometry and Trig.

 

Quick google search for some related reading...

http://www.essentialmath.com/tutorial.htm

http://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119

http://shop.oreilly.com/product/9780596000066.do

 

When you are ready you can acquire models from the Unity asset store, or through Daz3d market's (as well as many other such sites).

http://unity3d.com/asset-store/

http://www.daz3d.com/new-releases




#5057015 How to make dll...

Posted by Dan Mayor on 26 April 2013 - 10:53 AM

SimonForsman is correct.  Dynamic Link Libraries (dll's), Shared Objects (so's) and Bundles are all operating system dependent as well as compiler dependent.  Long story short, if your code is already written cross platform friendly you will simply need to compile a DLL in windows against the same build target as your Unity distribution, compile your SO in Linux against the same build target as your Unity distribution, and compile your bundle on Mac against the same build target as your Unity distribution.

 

http://docs.unity3d.com/Documentation/Manual/Plugins.html

 

Towards the bottom of that page you will see a section for creating plugins for desktop (windows, mac and linux), ios and android.




#5057012 Platforms in a 2D platform game

Posted by Dan Mayor on 26 April 2013 - 10:44 AM

The exact approach may vary from engine to engine but the overall theory is basically as DrSuperSocks has suggested.  You basically hold an array of data that would explain what tiles are where in the level map, most of the time you use something of a camera class to track where you are in the level and using those measurements you render the tiles to the screen appropriately.  Depending on the complexity of the game sometimes additional arrays or more complex map objects are used to also store information for event triggers and collision responses and such, however this is entirely up to you as the designer / programmer on how to best implement what you would like to accomplish.

 

The good news is that the side scroller / platformer type game is the generic "hello world" tutorial of most engines and development kits.  I would suggest that you do some research on what engines are available for the platform(s) you wish to target and see what engine you would like to use first.  From there you can then start working your way through the engines tutorials to get familiar with the engine and it's practices and almost inevitably learn how to create a platformer or side scroller with said engine.

 

On the same note if you are considering writing your own engine to power your first game project I would have to highly recommend against it.  I hope it doesn't come off as rude but if you are confused on how to implement tiling and or platforms, chances are you are not quite ready to undergo the complex activity that is creating a gaming engine.  As such it would be best to first do your project using an established engine and or development kit and get a feel for how the engine you choose accomplishes the goals you are looking for.  After completing your project it will be much easier to go back and create your own custom engine that emulates the practices you have used previously.




#5041327 When to start with C++?

Posted by Dan Mayor on 09 March 2013 - 06:21 PM

    A little late to the party and I'm going to chime in with the unpopular opinion.  I think you should move in to C++ when all else fails.  C++ is the highest performing language when properly optimized to a systems hardware and even then only when performing complex floating point math.  Beyond that Java and C# are languages that optimize themselves to your users hardware (more times than not making them perform better than a standard portable C++ optimized program) and they are many many times more productive, that is you get more done with less work.

 

    Before everyone jumps in and "corrects" me that C++ is so much more powerful, that it's performance is so much faster or that it is the only portable language out there let me do a bit of debunking.

 

http://stackoverflow.com/questions/138361/how-much-faster-is-c-than-c

http://stackoverflow.com/questions/2285864/why-is-net-faster-than-c-in-this-case

http://www.codeproject.com/Articles/212856/Head-to-head-benchmark-Csharp-vs-NET

 

... and a simple search of "C# Faster than C++" will yield quite a bit more like articles that show less biased testing and benchmarking.  I would assume the same can be shown for java.

 

    So before I get too far off topic here the point is that Bytecode languages such as Java and C# are regularly and falsely accused of hindering performance of your code upwards of 25% when in actuality this is less fact than it is truth.  The arguments always come from highly biased C++ advocates that create their benchmark testing in such a way that it forces the opposing language to slow down and perform outdated practices.  Couple this with the fact that C++ is a much more difficult language, not entirely OOP (it's a linear language with OOP capabilities), the fact that all compilers and builds can be different, and a slew of other productivity hindrances that C++ imposes, my first recommendation is always to learn a language you are comfortable with and learn it well while ignoring everyone telling you that C++ is the only answer.  So the point of this, you mention that you already know some Java?  GREAT  learn the rest of it and make a game!




#5040614 Prevent a base class method from being overridden?

Posted by Dan Mayor on 07 March 2013 - 05:37 PM

Seems like this thread has gotten overly complicated.  Simple answer, a virtual method is overridable until a derivative creates a final version of said method.  A non virtual method is permanent and you just need to ensure that you expose it correctly with the public access qualifier or that your derivative inherits the protected methods (if said method is protected that is).  In other words your pseudo code is correct as is, the virtual handleEvents will be overrideable the passOffEventToGui will not.  That is the purpose of inheritance, that you can "inherit" the methods of one base class into it's derivatives.  The "virtual" is the special keyword or qualifier if you will that makes a method overrideable.




#5036502 Camera/screen moving

Posted by Dan Mayor on 25 February 2013 - 05:04 PM

I believe what everyone is getting at here is that your screen is a little more than a canvas.  It is 0,0 - width,height period.  That never changes, the idea of a camera is completely conceptual and offers a means to calculate the offset of sprites, backgrounds and any other images that you are rendering.  To "move" the camera you have to offset graphics based on the dimensions of the screen.  Eg the screen ALWAYS shows 0,0 - width,height.  Your camera's position can be used to calculate where to render the graphics to make it appear that you are looking at a different part of the scene.




#5035837 Where would you start?

Posted by Dan Mayor on 23 February 2013 - 01:37 PM

Actually I have to correct you a bit on this one, XNA is the dead and dying technology as to where Java lives on.  XNA Is in itself outdated, it is no longer maintained and Microsoft will be announcing it's depreciation very soon (It's all related to the new "Durango" console they are releasing and the new Windows App Store all platform consolidation).

 

With that said I personally still prefer C# over any other language for numerous reasons mainly it's productivity out weighs it's performance loss (which is overstated in the first place).  I have a lot of experience in XNA and was quite upset to find out that Windows 8 only supports XNA in legacy mode, new Windows mobiles don't support it at all and that you can't even sell an XNA based game on the app store anymore (way to fail Microsoft).  However lucky for us the open source world has seen the potential of this great framework, there is also "MonoGame" which is the open source build of XNA that is not reliant on Microsoft technology!  Basically this means that it's an almost identical code base and framework that actually works on all Mono supported platforms (including windows, mac, linux PC's and android devices!).

 

So back to the actual question, learning C# and XNA (or Mono Game for that matter).  Your first step will be to go back to Java.  There are very few C# references for beginners, most if not all of the educational material related to C# assumes that you are coming from another language such as Java or C++.  Personally I am unaware of any sources that take you from 0 programming knowledge to using C#, someone else might help you find something of this nature.  However the core concepts of Java and C# are almost exactly the same, the true object oriented programming model.  This is why I say go back to java, once you are comfortable creating basic Java programs, managing variables, input and output then you can easily transition into C# (normally in the matter of a day or two).  There are vast amounts of Java for beginners resources out there that apply to the core concepts of C#.

 

Some final notes about technology to choose, C# is emerging and finally starting to catch up to other languages in that we now have a few (very poorly documented) options.  There is XNA which you can still use but as mentioned is no longer maintained nor will it be supported in the near future.  There is Mono Game which is the open source version of XNA that is maintained and will be maintained for the foreseeable future.  If you require a more direct approach or more performance from your game on windows platforms there is also "SlimDX" and "SharpDX" which are two different managed Direct X libraries.  SlimDX is a wrapper around the C++ Direct X libraries (which makes it slightly limited and means that the Direct X calling isn't "managed" or "safe").  Sharp DX is actually a completely different approach and is a managed build of the Direct X Libraries themselves which means that it is real Direct X in a managed environment.  However you will find documentation for Sharp DX says "Here's where all the functions are, go read how to use Direct X in C++ and figure it out".  Also if you are just interested in making a game and not fiddling around with the engine layer that is overly complicated and already done there is Unity which provides an amazing designer, supports C# scripting, has great tutorials and documentation and best of all for PC games is 100% free!  In My opinion these are your modern not outdated options and might be what you want to look in to, feel free to get in contact with me I sent my skype name in a pm.




#5032685 A Basic Question

Posted by Dan Mayor on 15 February 2013 - 09:33 AM

C# is starting to get more popular among all platforms with Mono.  I recently switched from Visual Studio C# and .NET / XNA to Mono Develop C# and Unity.  Mono Develop is much cleaner, much higher performance than Visual Studio, is also free and creates code to run against the cross platform Mono libraries as opposed to the Windows specific .NET libraries.  People will argue that not all of .NET is supported in Mono and this is correct, there are many aspects of windows only stuff that Mono simply doesn't do.  However in my experience everything comes with limitations and the trade off of productive cross platform coding vs not having some windows specific features that .NET provides is acceptable.

 

In short, everyone has preferences and there are ton's of tools out there that help you build code and assets for games.  In the C# world we are a bit limited as not many big companies have jumped on board yet.  Being that your choice is C# I would recommend looking in to Unity if you want to fast track a game with a nice visual editor.  It will come with Mono Develop to write your C# logic scripts in, Unity will handle the rest.  It's pretty easy and you'll be surprised how quick you have something like a game working with little to no programming experience.  Unity provides ample tutorials that teach you their scripting commands and options, from there you will need to learn some general programming and C# related data management and logic methods to actually make your game smart.

 

If you prefer to take a more code based approach you have a few options in C#.  XNA, it's great but it's dead and or dying.  It's Microsoft only, it uses Direct X 9 or 10 (depending on if you go with XNA3 or XNA4).  Mono Game (the cross platform open source version of XNA created by NOT microsoft people).  This is regularly maintained and is NOT dying, it's actually growing.  Haven't done too much with it but it is also very promising in my opinion.

 

Then you have Sharp DX.  This is a unique managed build of Direct X (8 - 11 I believe).  It is actually giving you direct access to the hardware in a managed environment but outside of the .NET libs.  It is best that you research this yourself to see what all it means with the better technical description but in short it's how you can use the real direct x from C#.  Many C++ / Direct X people will probably talk bad about this and say that it's still under performing, that it's a hack so forth and so on but it's worth noting that even some Microsoft employees are quite impressed with what the author did.  He basically wrote a program that re-engineers the API calls in a managed system, it's not a hack wrapper of the Direct X dll's.  Do note however, there is little to NO information on Sharp DX.  The idea is "It's managed Direct X go ahead and use it".  The author assumes that you are already a Direct X master coder and don't need any help.  I strongly urge against this as a beginner because you will need to learn Direct X in C++ and then apply that knowledge to C#'s implementation.  It's difficult, very difficult.

 

Beyond that there's many different "what if's" that go into deciding what you need to work with and or no.  The first and in my opinion most important is what platform do you want to target.  As a beginner pick just one and life will be so much easier.  Windows has the widest variety of choices, mobiles don't support C# (although mono is on android and growing), new windows phones don't support it anymore (whats up with that Microsoft, C# was your baby for the longest time...), Apple is anti anything that Microsoft supports so it's not likely they will be allowing / supporting anything C# related any time soon BUT mono could bridge that gap.  Legal issues are probably the most pressing on that and I would just say if your a C# coder don't expect to ever make an iOS game.  Mac and Linux support C# through Mono and this pretty much limits you to Mono Game (or Unity which uses an integrated C# scripting system).  Anyway, pick what platform you want to start with and go from there.

 

Once you pick the platform and you know your language now you can look for what frameworks, api's and engines are available.  Unfortunately as I touched on us C# guys aren't always well supported when it comes to high end graphics.  There are a few XNA engines that quite frankly are pretty horrible with the exception of Flat Red Ball which is quite advanced but it's tool set is VERY lack luster (and remember XNA is a dying MS only tech).  Then we have Mono Game which is a frame work that you can code your own engine around, you will want to check this out yourself but I don't think there are many or any engines built on this yet.

 

Once you've gone through all of that you will have ideas of what frameworks and or API's are available for the platform and the language (the code bases you can work with to make things happen).  As a beginner be prepared to be overwhelmed and dissatisfied with your options as many will appear unsuitable without extensive programming knowledge.  Once you have gotten good and frustrated check out Unity, and I mean REALLY check it out.  In my opinion Unity is something of a holy grail for coding in C# and making a game although it happens at a different level than most might think.  No it's not as powerful as say the C4 or Unreal engines but unless you can afford hundreds of thousands in license fee's and go with C++ you can't use them anyway, (not to mention there are only a small handful of games that actually require that much power).

 

All in all my recommendation is first do your research on what is available for you, key searching terms will be "windows C# game engine"  or "mac C# game engine" and so on (depending on what platform you chose).  This will start leading to things that don't particularly look relevant and I believe it's important that you read up on them and see what the truth is.  It will be confusing, it will be frustrating and it will start to look like a dead end street but I personally don't think that's true.  I more so believe that C# is just the new kid on the block (in relation to other major coding languages).  In windows C# is actually faster than Java, on everything else through Mono C# is about the same performance as Java and it's only a matter of time before the stigma of it all wears off and more big companies start getting in to it.  For now you kind of have to take what you can get and what you can get is severely limited.  That doesn't mean you can't do it, it just means you have to do it with what is available.




#5032647 Official GameDev.net App

Posted by Dan Mayor on 15 February 2013 - 08:36 AM

Cornstalks is right, less writing a custom browser for mobile devices to properly mimic HTTP connection states and parse the HTML there just isn't any way to interact with the database of a site unless the provider / creators specifically provide one (eg php / asp files that talk in some usable api such as json, xml or even a custom format.)

 

The problem with providing a public API that allows something other than the website to access the information of the site is that it gets increasingly easier for smart developers to effectively "rip off" the content of Game Dev.  That is to say if Game Dev is like "this is how you log in"  "this is how you get forum threads"  "this is how you post to the forum" and so on...  It is just that easy to make an app that uses Game Dev without crediting this site for the content in which it leaches.  Along with the fact that Game Dev general access is a free service to the public with attempts to monetize through advertisement, GDNet+ subscriptions, marketplace and help wanted commissions this would completely defeat the profitability potential of the service.

 

So all in all I would say that Game Dev should explore the mobile app idea, but until they do perhaps you should look into correcting the issues that are preventing you from logging in.  Game Dev persists log in credentials and sessions through cookies, if your mobile device is attempting to store a login session with a cookie it is entirely possible that the Game Dev server is actively refusing you at another location if your IP changes.  (This is actually a good safety design that stops quite a bit of "session hijacking" hack attempts).  This may be very difficult to work around on a mobile device and the simplest fix is log out before you move to a new location and while you are physically in motion stay logged out until you need to be logged in.  At which point, stop moving, log in, do your thing, log out and get back in motion.  Set Game Dev NOT to keep you logged in, and clear your internet cache / cookies regularly and it should get better for you.

 

P.S.

    I do mobile app development and Cloud / Web Service development professionally and would be interested in doing something along these lines.  If the Game Dev gods happen across this post and are interested feel free to contact me, to the OP if you get permission from the Game Dev staff to do something and need some help feel free to contact me.  Please note that my participation in something that relies on Game Dev content or technology 100% depends on Game Dev's permission to do such.  eg: I'll help you fix the problem with your mobile if I can, or I'll work under the permission of Game Dev but in no other way would I use Game Dev services or content.






PARTNERS