Tag Info

Hot answers tagged

34

If there are no popular ones, then why not? Because there is nothing resembling a consensus on how such a framework would operate. On a thread on Gamedev.net I determined that when people talk about component-based game systems there are actually at least 8 possible permutations of how they expect them to work, based on 3 different factors: Inboard ...


23

Most companies use C++. Eve is an outlier, the core graphics engine is in C++, while the game logic is, as others have noted, in Python. CCP also makes a lot of contributions to Stackless itself, which is in C for the most part. WoW is C++ for the game itself, though the UI is scripted in Lua. Cryptic (Champions Online, Star Trek Online) uses plain C, but ...


21

This is largely an opinion based question/answer, so it's actually not necessarily ideal for this platform, but anyway: Why no framework/engine as an indie? Here are my two cents: Lack of budget: This is probably the biggest point for most small/indie developers. Many frameworks or engines won't allow you to publish your product without either buying a ...


16

Don't worry about the future quite yet. Worry about your current game, now. Otherwise you are not going to get anywhere because you are fretting on the details. You should concentrate on building the game first and then later, if the game was successful enough, you can extract it out into something reusable for your next game. This will keep you from ...


13

I think the confusion people get into here is that one is generally made up of the other, so what people really want to know is when you have enough of one to be considered the other. So when does it stop being a class library and start being an engine? Never. Where exactly lies the difference in a useful framework and a game engine? There is ...


13

There really aren't strict definitions for "engine" or "framework." Generally speaking, an engine is considered to "do more" or have more tools and related support than a framework, which is itself is often just a loose collection of related functionality exposed through some unified API. To that end, things that claim to be engines may use things that ...


12

People mentioned that C# has a performance loss compared to C++. Is this true? I'll comment on this from a game developers perspective. The author of SharpDX ran a benchmark last year in which he compared the relative performance between using a native D3D11 application written in C++ and several managed alternatives written in C# such as SharpDX, ...


11

We have a thick C++ framework on top of a thin platform layer, also C++. Porting a game to a new platform is a matter of implementing a new platform layer, which because it's quite thin, it's quite fast to do. Also, all of our dependencies are open source and cross platform libs, such as SDL, Ogg, LibPNG, etc. For example, we have a Win32/DirectX platform, ...


11

There really is no concrete definition for either term (or for the related term "framework," for that matter). There are hundreds of different ways of interpreting the varied subtle distinctions in software packages and assigning them classifications. I personally view a "library" as a thing that provides a relatively small and directed set of ...


10

A good framework - or actually a toolset - is Unity3D. It's somewhat less flexible than "engines" that are focused only on rendering, but then it can save you enormous amounts of time by taking care of a lot of common tasks. You don't have to worry about render, physics, sound, resource importing, terrain engine (if you need one), it has passable GUI system. ...


10

Licensing You can try to monetize your game engine & framework from licensing. This most probably means that you will make your software proprietary and closed source to fight piracy (obfuscated AS3 code in your case, maybe you have some external tools that can be protected a bit more), but not necessarily. There are mostly two types of license that ...


10

If you are going to be storing the Components in a collection all together then you must use a common base class as the type stored in the collection, and thus you must cast to the correct type when you try to access the Components in the collection. The problems of trying to cast to the wrong derived class can be eliminated by clever use of templates and ...


9

Build a framework. I have experience with building both. I prefer to use libraries over frameworks. Frameworks feel very restrictive and "bossy". So when I built my first game I wanted to build an engine that was composed of many libraries that could be easily reused in other projects. It was a disaster. It spent half my time writing glue code between ...


9

C# with XNA Since you're new to this, XNA would have the advantage of also being a very good place to get started. From creating a new project to displaying a 2D sprite on screen it takes 5 lines of code: private Texture2D texture; texture = Content.Load<Texture2D>("sprite"); spriteBatch.Begin(); spriteBatch.Draw(texture, Vector2.Zero, ...


8

Short answer is, I don't think that kind of thing exists. Long answer is, you're on the right track thinking in terms of abstracting out the game rules from the game display. For some ideas, you should even be able to create a text based game, where instead of doing fancy graphics renders, the game simply uses text to describe what is going on. That kind ...


8

Misunderstood the question, see the comments. You basically have three choices: Throw an exception Return an error code and use an out parameter to return the actual value Call an error callback Exceptions: Very simple to implement, however they might incure a huge performance and/or memory impact, even during normal execution, depending on the ...


8

Simple definition that I use: you can build an engine on a framework but you would never build a framework on an engine. One is the skeleton that determines architecture and program flow, the other is muscle that does the work. For a concrete example, Artemis is a neat little framework for building component systems but you'd never call it an engine. You ...


8

Chewy has it right, but if you're using C++11 you have some new types you can use. Instead of using const std::type_info* as the key in your map, you could use std::type_index (see cppreference.com), which is a wrapper around the std::type_info. Why would you use it? The std::type_index actually stores the relationship with the std::type_info as a pointer, ...


8

Most decent engines and frameworks give the functionality that you need, and never get in your way. Do they? That rather depends on exactly what it is that you are doing, graphically speaking. For many kinds of games, there are standard answers for graphical questions. The average 2D game for example can be handled just fine with the 2D prowess of, for ...


8

I think you're making a mistake thinking of a framework as a crutch. Surely when you want to build your own computer, you don't make all your own circuit boards? Mine and smelt the copper yourself? Frameworks are not crutches. They're tools that make your job much easier. If you truly want to want to get into game development, you'll want to use ...


7

Marking technology is going to be quite similar to marketing a game -- in fact, if you have games made with that technology, that would be a great boon to adoption. Show them off. With SlimDX, we started by hosting the project on Google Code, advertising very narrowly -- within a single community of developers (GDNet). That got us a few high level bits of ...


7

I recommand SFML, as it allows you to easily manage 2D sprites and zoom/unzoom (thanks to an existing "camera" class). With these abstractions, I've found it simpler to use than XNA. I don't have hard stats on the performance, but since it uses C++ and renders through OpenGL, I think it can be faster than XNA. Coincidentally, I'm working on a similar game ...


7

For C# I have used and really helpful the following card game framework http://deckofcards.codeplex.com/ Microsoft has built a nice library/framework for Card Game http://www.microsoft.com/en-us/download/details.aspx?id=20303 For Java Both of them I used and will be helpful for you http://www.ethanwilder.com/node/23 ...


6

I've just found out about NME a few days ago in another question and thought it might be worth spreading the word. On the subject of multi-platform support, the frontpage states the following: Choosing NME opens almost endless opportunities. Create one application and publish to Facebook, the iOS App Store, the webOS App Catalog, the Android Market, the ...


6

Love offers a similar level of complexity as PyGame, though I'm not sure you will find Lua much easier than Python. If you want to just go with something more direct, look for bindings for SDL (SDL.NET for example) for your favorite language, or even just use it directly in C. Many PyGame APIs are just thin wrappers for SDL functionality.


6

Engine without support is nothing. You should sell license for your engine with support. You should expect that you will help people to make game with your engine. There are many open source, free, etc engines and code samples. It is hard to select one. You should build community around your engine. It is not simple even if engine is free. If people ...


5

I think I agree that normalised co-ordinates don't really map well to UI stuff. What I typically do for 2D layouts, is basically your "virtual" co-ordinate space, but I pick a space which maps 1:1 with my prefered target resolution (1280x720, for example). It's not fixed, but it's intuitive to deal with and I know that in 90% of cases it'll look just right. ...


5

I'd say you should start without a framework, just to get used to ActionScript and the core flash classes. Maybe write something very basic like Pong. When you feel comfortable with ActionScript and the core concepts, feel free to use a framework like Flixel or FlashPunk (look here to get started). They are quite different from the usual Flash philosophy, ...


5

If you're considering using LWJGL, I would suggest you also check out libgdx, which uses a LWJGL wrapper for the desktop client. You get the added benefit of an easy port to Android/iOS/HTML5. I don't know how this compares to Slick2D. Also, even if you are making a 2D game, you should still use 3D-acceleration (e.g. through OpenGL), thought this might be ...


4

SFML is a great framework written in C++. It currently supports Linux, OS X, and Windows. It has bindings to C, D, Ruby and Python. It's also released under zlib/png license. In comparison to say, SDL, the only downside it has is using window input on win32, rather than DirectInput. It also is not one large library, but a group of them, which allows a more ...



Only top voted, non community-wiki answers of a minimum length are eligible