Jump to content

  • Log In with Google      Sign In   
  • Create Account

Awesome job so far everyone! Please give us your feedback on how our article efforts are going. We still need more finished articles for our May contest theme: Remake the Classics

jwezorek

Member Since 10 Nov 2009
Offline Last Active Yesterday, 08:13 PM
-----

#5062102 Breadth vs. Depth?

Posted by jwezorek on 15 May 2013 - 01:33 PM

Stick with Python until you have a solid reason not to.




#5058986 Porting from Visual C++ 6.0 to Visual Studio Tricks and Tips?

Posted by jwezorek on 03 May 2013 - 11:56 AM

You probably have functionality in your codebase that is dependent on "undefined behavior", and the behavior of the compiled code is different between the two compilers. This is similar to what happens when something in works in debug but not in release. 

 

Also are you doing anything with your own non-STL templates? because templates used to be really broken in VC++6 as I recall, but this was more about casuing compile time errors.

 

As for what to do about it,

 

  1. Make a pass through your codebase adding asserts where appropriate and see if you can find asserts that fail.
  2. If you have sufficiently modular design, write unit tests for various modules and see if you can get a unit test to succeed under VC++6 and fail under VS2012.
  3. Otherwise, try to get a minimal version of the application working without exhibiting crashes, and then re-introduce pieces of functionality one-at-a-time until you see a crash. 



#5057520 What software should I use for Sprite Design?

Posted by jwezorek on 28 April 2013 - 12:51 PM

It depends on how you work and the style of sprites you need to make.

 

If you are doing retro-style 8-bit art then basically any raster image editor can do what you need to do; GIMP, etc. and I know of no tools that make this kind of work easier or harder.

 

If you are doing more of a high resolution cell-shaded/vector style, you can work in a vector editor such as InkScape or Illustrator; some people prefer this. Otherwise, another option for the cellshaded vector look is to work in traditional media (that is, pens and ink). scan at high resolution, clean up and possibly color in GIMP or photoshop, and then scale down to the size you need. This works remarkably well once you get the hang of it.

 

Also, and I say this a lot on these forums, but I think the main thing anyone doing any kind of 2D game art should invest in is a Wacom tablet. Their entry-level Bamboo line is very affordable.




#5044915 Article Inspiration

Posted by jwezorek on 20 March 2013 - 09:44 AM

I don't know if anyone has mentioned this but someone should do a 3D modeling tutorial specifically targeting Blender since it is free and I know from personal experience it is hard to find good material on Blender  -- actually it would take a series of tutorials.




#5042855 Confused on Big Oh

Posted by jwezorek on 13 March 2013 - 03:36 PM

[...]

Tragically you gave an example of incorrect usages of Big-O notation.

 

[...]

 

Outside of theoretical CS - you probably won't be seeing the other notations, as the common practice seems to be simply to abuse Big-O and use it everywhere even if it is an incorrect usage.

 

It isn't true that Big-O = worst case, Big-Omega = best case, and Big-Theta = average case.

 

Big-O = upper bound. We are often interested in an upper bound on the worst case so Big-O gets associated with worst case behavior, but we can also be interested in an upper bound on  average case behavior, etc.




#5042407 Using Sonic pictures

Posted by jwezorek on 12 March 2013 - 12:48 PM

An independent artist created a sonic the hedgehog sprite sheet and as long as I give him credit, I can use it. My questions is: Is there a legal disclaimer I can put on the screen that says this is not made by sega...etc to avoid being sued. I simply want to make a sonic game for fun on the iphone and provide it free of charge to anyone. Will I get sued for doing that or is there a way I can state this is for fun and the graphics were independently. Or is this a shady idea?

 

You absolutely can't distribute a work that is using established IP like Sonic the Hedgehog regardless of who drew the artwork.

 

As to whether or not you would be sued, to be honest, you probably wouldn't be because Sega probably wouldn't notice, but you certainly could be sued, and probably would be if you were in anyway successful. Actually unless you were doing something really malicious, they'd probably send you a cease and desist letter first and then sue you if you didn't comply.




#5042377 Confused on Big Oh

Posted by jwezorek on 12 March 2013 - 11:41 AM

If I'm understanding correctly I think the OP is asking about the formal definition of Big-O, meaning the arithmetic of it, which is something like 

 

Let f(x) and g(x) be two functions. f(x) = Big-O( g(x) ) if and only if there exists a constant K such that f(x) is always less than K * g(x) for big values of x.

 

I think I have that right. 

 

Then the idea would be that in theory you could come up with an f(x) that is exactly the running time of some algorithm in some unit on some input of size x and then say, "Well, see we don't care about all this complexity in this function f(x) that we came up with. We just care that it is Big-O( n log(n) ) which is good enough time efficiency for our purposes" or whatever.

 

A lot of times when Big-O is taught the instructor throws a definition like the above on the blackboard before students have sufficient context to understand why we are all of a sudden talking "constants K" and "sufficiently large values of x" in our algorithms class.




#5041941 Does anyone use fixed point math anymore?

Posted by jwezorek on 11 March 2013 - 11:55 AM

Doing fixed point arithmetic was an optimization back when CPUs didn't  have "math co-processors", either as a separate thing or built-in. It used to be much slower to do floating point operations than to do integer operations. This hasn't been an issue since about 1994.

 

So for fixed point arithmetic to be an optimization again it would have to be when targeting a strange platform that doesn't give you floating point operations for free. I can't think of one, but maybe some hobbyist embedded project or something like that.




#5040882 Article Inspiration

Posted by jwezorek on 08 March 2013 - 11:20 AM

And I don't see why we should have sdl/sfml tutorials like: setting up a window.The web is full of such tutorials.

 

The web is full of tutorials that suck.

 

I think there would be value in offering quality tutorials on these sorts of subjects. I don't have numbers on this but as much as it pains us all to admit, this site's highest traffic forum is probably "For Beginners". If GameDev is serious about hosting the internet's best collection of game development articles it's very important to cover the introductory stuff solidly.




#5039787 Article Inspiration

Posted by jwezorek on 05 March 2013 - 06:20 PM

Getting started guides for every major engine, game framework, and library across platforms and platform domains (i.e. desktop, mobile, possibly console)

Including:

  • The major 2D frameworks and hardware abstraction layers: SDL, Allegro, SFML
  • All the 3D engines: Unity, Ogre, Irrlicht, etc.
  • All the cross-platform mobile game frameworks: Corona, cocos2d-x, Marmalade, etc.
  • All of the physics engines: Bullet, Box2d, Chipmunk, etc.

Selection guides for the above e.g. What mobile game framework is right for me? What 3d engine is right for me?




#5039684 What is this falloff function called?

Posted by jwezorek on 05 March 2013 - 02:24 PM

Waytolazy, still not sure  exactly what you want but ... if you are looking for a function that for postive values of x is monotonically increasing, defined everywhere, but approaches a constant as x goes to infinity i.e. has a horizontal asymptote, then you can use the positive-x part of any sigmoidal function scaled appropriately, e.g., the logistic function or arctangent.  




#5038224 Mobile Games

Posted by jwezorek on 01 March 2013 - 07:05 PM

In that case, Cocos2d-x will likely meet your needs.

 
I've never heard of this before.  Is this a popular tool used among mobile game developers?

Cocos2d-x is a pretty common choice for mobile game development at this point mainly because if you want the following:

  1. Cross-platform
  2. C++
  3. Free

it currently is your only option.

 

If you don't want cross-platform, just want iOS, then you can use real cocos2d (formerly cocos2s-iphone) in Objective-C which is more mature. If you are willing to pay, you can use Marmalade which (I'm guessing) is a cleaner platform. If you don't care about C++ there are frameworks in which you write in a scripting language (lua, etc.), some of which are free (i think) but you won't have the kind of control you have in a native framework.

 

Otherwise, you can roll your own or you can use cocos2d-x.

 

I've been working with cocos2d-x for a few months now. My opinion of it is that it has a lot of warts but ultimately has solid bones. I haven't ran into any problems that I couldn't find a fix or at least a work-around for, no deal-breakers anyway, but it is also not the easiest large library/platform/framework type thing I have used. It is very much a work in progress; it's documentation is non-existent mostly. It's forums are active but the level of dialogue you get there is a mixed bag. Generally if you can't find sample code demonstrating how to do something you want to do, you have to read the cocos2d-iphone documentation and try to "port" the knowledge you gain back to cocos2d-x by reading its source code. I can imagine doing this sort of thing would be hard for beginners to programming, but it's not that big of a deal.

 

The main thing is understanding cocos2d-x's somewhat unintuitive memory manager and then you are all set.




#5037332 Why is this code like this? (Order of function calls in an equation)

Posted by jwezorek on 27 February 2013 - 03:16 PM

It looks like the creation of the postFix variable was the minimal change to make the code valid c++ (because of undefined behavior, like you mentioned). It's the stock way of breaking up an expression by replacing a part of the expression with a intermediate variable. Your alternative code is much cleaner.

 
Yes, it looks to me like whoever wrote the original C++ port i.e. the one containing
float postFix = position-=(1.5f / 2.75f);
 
was just going really fast and porting without thinking too much about the source code. If you've ever ported from one language to another you've probably gotten into this mind set: let me just plow through this, get it working, and I can clean it up later. Of course, you never end up cleaning it up.
 
But yeah, your version 
position -= (1.5f / 2.75f);
return (7.5625f * position * position + 0.75f);
is equivalent (and clearer).  I think the original Javascript version was just being pointlessly clever, actually not even clever just kind of baroque.


#5034770 Starting a web presence...

Posted by jwezorek on 20 February 2013 - 04:45 PM

Another vote for WordPress but I would argue against going with any of the free hosting places unless you are really really cash strapped. Paying for a domain and hosting of a small wordpress-based website will be less than the cost of a pizza a month and is a more versatile solution that will make you look more professional. And definitely customize your wordpress theme -- I don't know how much HTML + CSS you know, but it is easy to pick up enough to make a unique looking site if you have any visual design skill.

 

My blog, linked to in my sig, is WordPress + custom theme.




#5034748 Are my graphics good enough, Please comment

Posted by jwezorek on 20 February 2013 - 04:19 PM

Your work is not bad but there is not a lot of it. If you want a serious critique you need to exhibit much more and in various styles. "Pixel art" itself is not a style so much as a medium so you should display other kinds of pixel art as well as other kinds of art generally -- don't limit your portfolio to pixel art.

 

Making an income from art in any context  -- videogame related or not -- is a difficult thing to do so don't put the cart before the horse. Practice, etc.






PARTNERS