Recent posts by Drakim on Kongregate

Flag Post

Topic: Game Programming / NexScript tutorial

When I search for NexScript this thread is the first hit. The second hit is a subreddit that is almost empty. What is it? Where can I even see what this language is?

 
Flag Post

Topic: Game Programming / Will it be possible to export AS3 to HMTL5?

Using Haxe and OpenFL is probably the closest you will ever get to AS3→HTML5. Haxe is very similar to AS3, and Adobe ain’t gonna make no exporter to HTML.

 
Flag Post

Topic: Game Programming / Best game engine!

This is tough love from me, but personally I think Drag&Drop programming is pretty fundamentally a bad thing.

I know some people use Drag&Drop programming to quickly create prototypes, and for others it was their first introduction into game development (me included!). But I feel people are taking it too far, insisting that it’s a legitimate career path within game development.

There is a very real ceiling for how much you can grow within such an environment, you’ll always be trapped in the role of “noob game developer hobbyist”. The “real world” of game development, from indie underdog hits, big AAA titles, to kickstarter crowd-funded games, will all be dismissing you once they realize you can’t code. Knowing how to code is not an optional skill for game development.

Just think about it for a moment. Imagine authors writing books by using a drag&drop interface to grab pictures onto a timeline, insisting that you don’t need to learn how to write to be an author. We would all instantly and rightfully laugh them out of the public square.

Drag&Drop programing suffers some pretty severe restrictions, and often rely on real programmers who know how to code having laid the groundwork for them, as they can’t really implement path-finding, procedural generation, separation of engine and content. While people who learn how to code keep increasing in knowledge and understanding, often learning alternative programming languages, people who stay with the Drag&Drop interface just tends to get very specialized knowledge about how to do things in that particular program. Their skills aren’t transferable outside of that context.

 
Flag Post

Topic: Game Programming / What's with all the hate on Unity?

Originally posted by pugzy:

Unity is working toward WebGL, as well.

That’s the same as “porting to HTML5”.

Either way, it’s a very good thing.

 
Flag Post

Topic: Game Programming / What's with all the hate on Unity?

David, you are mixing together the Unity plugin and the Unity development environment. It’s true that some big names are using Unity, but they aren’t using the plugin. Hearthstone, for instance, is made in Unity but only as a standalone application.

There is nothing wrong with making standalone applications with various engines and frameworks. Some use Unity, some use C++ and Lua, some use Python, etc.

The issue lies with the Unity plugin, for the reasons that have been repeated earlier in this thread. As you even point out, there is work towards a HTML5 port, which is great, because it moves away from the Unity plugin.

Originally posted by DavidGameDev:
Either accept that Unity is here to stay, or go ahead and miss on some of the best games being created.

Or you know, just be one of the unlucky (me included) who can’t get the Unity plugin to work on our computers, because the Unity team didn’t bother. You can’t frame this as a acceptance thing when I literately cannot play Unity plugin games on my computer.

 
Flag Post

Topic: Game Programming / What's with all the hate on Unity?

Originally posted by Draco18s:

“The problem with Unity is that Java is a memory hog.”

Wat.

When he says “the problem with this logic” he is referring to my post which promoted JavaScript, saying it cannot compete with Flash because it’s a memory hog (which is completely untrue, while Java can be very heavy on the memory, JavaScript is not, but it’s pretty obvious that he is just repeating things he have heard but don’t understand). Calling Unity garbage is unrelated to that, he just squeezed it in.

 
Flag Post

Topic: Game Programming / What's with all the hate on Unity?

note that for this post I am strictly speaking of Unity as a webplugin. I know you can have standalone games that doesn’t require the user to install the plugin, which isn’t that different from just making a regular standalone game. I have no beef with that

A lot of people in this thread seems to be missing the advantages of open standards over proprietary binary blobs. If you make something in Unity for the web, your content will run on whatever devices that the Unity team decides should be graced by their plugin. Run an outdated operating system? or something that isn’t Windows? Well, the Unity team might help you with that, or they might not, it’s out of your hands. With a open standard that nobody owns (and can abuse for profit), stuff like that won’t happen. Anybody could create a browser with JS, WebGL and make it work on a XP, heck, even a windows 95 machine if you’d like. And in fifty years when Windows 20 comes out, your content can still be enjoyed because it’s based on that open standard, it doesn’t depend on a cooperation deciding it’s profitable to create their plugin for that operating system (if they exist at all so far in the future). Heck, they might even sue you if you try to do it for them, or hack your way around what restrictions they have.

In short, you don’t want vendor lock-in. It’s bad, m’kay?

The fact that there is such a thing as paying for Unity to unlock all “features” especially worries me. Want to use more than five local vars in a function? No worries, just sign up for our premium developer plan. Is that really the sort of future we should be sailing towards, with copyrighted proprietary plugins, development environments that have tier costs plans (and locked features if you don’t pay up), and no control over our games after they are made?

If Unity is bought, or close shop tomorrow, what then? What if a security hole if found in the Unity player and they aren’t around to patch it?

Originally posted by Etterra:

The problem with this logic is that Java is a memory hog in the worst way.

No, the problem is that you have absolutely no idea what you are talking about. Java and JavaScript are two different things.

 
Flag Post

Topic: Game Programming / how do you add two numbers in c++

We aren’t here to do your homework.

 
Flag Post

Topic: Game Programming / Webgl-Game Development

There are lots of great free resources on the web on how to do these things. I’ve personally learned to use WebGL with nothing but google searches. You don’t need to spend £14 to get it in book format.

(This is your first post, and you come here to advertise your book? That’s very spammy)

Learning WebGL
WebGL by Mozilla
WebGL Academy

 
Flag Post

Topic: Game Programming / Help Me Guys !

You’ll have more luck asking in the collaborations forum, but be aware that most people aren’t to hot on programming somebody elses game (especially AS2). You’ll have a better shot at making the game by learning how to program yourself.

 
Flag Post

Topic: Game Programming / Sprites stacking on top of each other

Amibtious is correct, blitting is the way to go. When you use Sprites and MovieClips you give up power and flexibility in favor of convenience, and you will eventually run into things you cannot fix because you don’t have control.

 
Flag Post

Topic: Game Programming / What's with all the hate on Unity?

Originally posted by player_03:
Originally posted by Drakim:

that’s the very last thing in the world the web needs right now.

The second-to-last thing being an end to net neutrality?

The internet and the web are two separate things. Net neutrality is also important, but it’s a different topic in a different area.

 
Flag Post

Topic: Game Programming / What's with all the hate on Unity?

Personally I dislike Unity because the whole idea is a move in the wrong direction.

While it’s true that you have to install Flash, this is fundamentally a bad thing and should be recognized as such. It is only “accepted” for legacy reasons (there is so much flash content online now, and it came about because other means like HTML where really lacking back in the ol’ days). The web should fundamentally be made up of HTML, CSS and JavaScript, and not binary blobs swf files that you need closed source binary blog players to view.

When Unity comes onto the stage and says “hey we wanna introduce another binary blob format with our own closed source binary blob player” they deserve all the flack they are getting, because that’s the very last thing in the world the web needs right now.

 
Flag Post

Topic: Game Programming / [C/C++] Optimizing a loop

Originally posted by qwerber:

+1 to Drakim and player_03.

Do you have any suggestions for avoid duplicate vertex stream? because it seems like to me that I have to upload x y velocity and time (5 * 4 bytes) every vertex (unless I’m drawing points) with increases the amount of data I need to push by quite a lot.

I’m entirely sure I understand what you mean by duplicate vertex stream.

I would really recommend points for a particle system rather than triangles, it’s just a much better fit. You can even use textures on points, so as long as your particles don’t need to do absolutely crazy stuff you shouldn’t need anything more than points.

Aside from that, how do other people write their applications so that it runs at speeds like 500 fps :/? Feels like on C++ the draw calls are not as much bottlenecks as on stage3d.

Just double checking, you are drawing all your particles with a singular drawing call right?

 
Flag Post

Topic: Game Programming / [C/C++] Optimizing a loop

(I’m assuming this is a particle system in OpenGL)

You should avoid updating the particle with the CPU in the first place.

Rather, give the particles x, y, velocity, and creationTime attributes, and then have a global currentTime value that the CPU sets every frame.

The GPU can then use (currentTime-creationTime)*velocity to recalculate each particle’s moved position from the original x, y. Note that the GPU doesn’t alter the x, y attributes of the particles each run, it simply uses the time difference to figure out how far the particle will have moved. The CPU only needs to work when you creating a new particle, not every single frame to modify the particle position.

Not only does this free the CPU from this cumbersome work (instead letting the awesome parallel might of the GPU do all the heavy lifting), it also helps you avoid bussing masses of data to the GPU every frame.

Sweet and short article talking about this

(the downside of this is that the GPU might not know of all the things you want to influence the particle’s movement with, such as collisions with your solid terrain)

 
Flag Post

Topic: Game Programming / Html5 sprite sheet problem.

Originally posted by NineFiveThree:

but with very little css (background-image, background-clip) it does.

Nah, those are useful tools for creating a spritesheet system in the DOM. We don’t even know if Decepatcharg is using the DOM, or if he has a spritesheet system in canvas, or even WebGL.

Edit: I am not a clever man, of course I could just have clicked Decepatcharg’s profile to find his game and see for myself.

 
Flag Post

Topic: Game Programming / Html5 sprite sheet problem.

Do you use some sort of framework or library? What exactly do you mean by “sprite sheets”? HTML5 doesn’t have spritesheets natively, so we can’t really help you unless you are describing what you are using and how it went wrong.

 
Flag Post

Topic: Game Programming / Question

Originally posted by xPwnage800:

Different groups as in Admin, Moderator, VIP, etc… and permissions/attributes as commands like ban, mute, etc.

You still aren’t making any sense to me. Are you making an MMO and you need to figure out how to have roles/groups? Or are you making a chat application?

 
Flag Post

Topic: Game Programming / Question

I’m twisting my brain to understand what you are talking about.

What do you mean with “different groups” here? Groups of what? Geese? Ducks?

And what sort of permissions or attributes are you talking about? File permissions? Is this game related at all, or are you dealing with some OS API for handling files?

 
Flag Post

Topic: Game Programming / GFX

That should be okay, you just drew a generic blond archer, you didn’t copypaste the earlier art.

 
Flag Post

Topic: Game Programming / Wheel of Time

Pro: Wheel of Time is awesome

Con: Wheel of Time is the intellectual property of somebody else who can and will sue you for using it without licensing.

 
Flag Post

Topic: Game Programming / Deeper Topic (part 2): Composition over inheritance

Yes but, the first lacks one kind of position, and the second lacks the other kind of position. So the neutral state needs to be position-less (as opposed to hard-coding the position component into the entity class itself).

Either way, I sometimes find myself using entities for non-game-object things, such as a sort of AI mind, with components being various goals, desires and modificatiors. Such an entity doesn’t need a position component.

 
Flag Post

Topic: Game Programming / Deeper Topic (part 2): Composition over inheritance

As for what entity doesn’t have a position, it depends. Say that your game has an overview chess board style view, but also an arena fight-to-the-death view. In such a game, the chess piece entities would want to have a grid based position, and would require a component to do this properly, while the arena entities would want a regular world coordinate postion, and would require a separate component to do that properly.

Of course, you could probably shoehorn both kinds of functionality into a single component with dual use, but other situations can arise (what if the area entities can jump, requiring a z-coordinate?) where you are better off separating the components.

 
Flag Post

Topic: Game Programming / Duck Chat

Depends on how much money you are offering.

 
Flag Post

Topic: Game Programming / HTML5 web storage - which domain will be used ?

The domain the game is uploaded to. Web storage isn’t allowed to access anything else.