Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411128 Posts in 69302 Topics- by 58376 Members - Latest Member: TitanicEnterprises

March 13, 2024, 09:01:26 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
  Show Posts
Pages: [1] 2 3 4
1  Developer / Technical / Re: ORX vs. Polycode on: December 24, 2011, 03:49:01 AM
@eclectrocrat: Thanks for the appreciation. Don't hesitate to ask if you have any questions.

@Ivan: I had the opportunity to look a bit more into Polycode's code today and I reqally liked what I've seen. I'll be sure to recommend it to people asking me for a good open source 2D/3D framework. If Polycode were around in 2002 when we started developing orx we'd probably have contributed to it instead of starting our own project. I like features such as the material definition or the ability to use Bezier curves to define the evolution of particle particle scale and color.
I had a similar idea for orx a few years ago. There's no visual editor, unfortunately, but one can combine curves (sine, square, triangle, linear, smoothstep, ...) together, apply modifiers to them (phase, amplification, acceleration, pow, ...) and apply the result to object properties such as position, speed, rotation, scale, color and transparency. I find it to be a very powerful tool for easily defining nice visual effects and I'm glad to see I'm not the only one that went down that road. Smiley

@Hima: I tried to find someone to take over the website about three years ago without any success. It's only been a bit over a year that external contributors took interest in orx (the two native/non-native android versions, the compressed texture support and the sound recording features, for example, were all developped by users) so I don't despair to find someone that'd be willing to help with the site one day.
And frankly, anyone would do a better work there than me! Right now the forum is by far the best source of info on orx but is not very friendly.
2  Developer / Technical / Re: ORX vs. Polycode on: December 22, 2011, 07:19:47 PM
As the main developer behind orx, it's hard for me to have an objective point of view, but I'll try.

@rivon: Orx has reached a production state about 2 years ago when 1.0 was released. It's now in its 1.3 version.

@Hima: Presentation is indeed very poor for orx. I hate web design and I'm terrible at it. However I think we make up for it with a wiki that is maintained by the community and extremely short answer times on the forum. Almost all the questions are answered within a few of hours with a lot of details, bugs are corrected within a couple of days max and new features don't usually take too long before being implemented either.

@k0tn: It's hard for me to give any advice on this point as I barely know polycode but I'll try to the best of my knowledge. Polycode looks like a very clean framework that has some interesting features. It truly looks like a great project.

It even comes with some features that orx doesn't match:
- 3D rendering: orx has a 3D world space but only a 2D renderer plugin has been written. Orx however provides hooks if you want to roll some custom rendering code (including 3D rendering). Some projects have done it before but if you need 3D for your whole game, I don't think orx would be the best option.

- LUA API: orx comes with no scripting wrappers. Some users, such as Newton64 have created their own LUA wrapper but there's nothing officially available from us.

- Skeletal animation:  orx supports sprite animation for now and I'm currently working on a skeletal animation system. I don't think it'll get released before late January at best though.

As far as I can tell, most if not all other features of Polycode are to be found in orx.

Now for the pros of using orx. First of all it completely runs on windows, linux, OS X, iOS and Android. One can publish a game on all those platforms with very little modifications in one's code, if any.
The only obvious platform-dependent thing I can think of is multi-touch support. If you don't need it, you shouldn't need any platform-specific code in your game to have it run on different platforms. Even single touch and accelerometer on iOS/Android support are mapped to mouse and keyboard inputs for convenience.

Beside being written in C, orx has an object-oriented API. That means differences are almost purely syntactical: instead of writing MyObject->setPosition(...), you'll write orxObject_SetPosition(MyObject, ...).
However, orx is internally using a Data Oriented Design scheme for greater performances (objects are component-oriented, structures are contiguously allocated in memory for better cache friendliness, memory banks are used to prevent dynamic allocation as much as possible, batch processing, etc...).

Orx is also data driven. That means that you can control most of its features via config. If you create an object with orxObject_CreateFromConfig(), this can go from a simple image to a whole game level, including particles, collisions, sounds, etc... The goal is to write as few as possible lines of code and being able to develop as fast as possible.

Last but not least, orx is feature rich.

Beside scripting and networking (that can be achieved with excellent external libraries), orx implements all the features you'd expect from a 2D game engine/lib and a bunch of others.

Here are also a few more or less unusual features you can find in it:
- input abstraction: you never need to query directly a peripheral, you can add as many abstract inputs "by name" (like jump, attack, select, etc...) and bind them in config or re-bind them at will during runtime. That makes it very easy to go from one platform to another, no matter which peripherals are available.
- internal clock system: you can easily define which parts of your code will run at which frequency, but you can also prevent excessive stuttering and/or slowdowns, run in lockstep mode for networking, do time stretching (that will affect all the objects properties, including physics, animation, sound)
- animation graph: no need to poll for chaining animations. You can define your full animation graph and tell orx which animations you want to play now: If you say "walk" and your character was sit, it'll automatically stand up first and then walk, whereas if it were already standing up it'll just start walking.
- animation custom events: you can setup events that will be sent when animations are played. One use of this would be to add synced particle/sound on footsteps or gunshots, for example: no need to write a single line of code to add those.
- powerful config system with inheritance and randomization that allows to control most of orx's behavior via config file and can be used for your own game purposes
- easy localization module: you can associate your typical strings to texts and/or fonts in config, and when calling a language switch, all the existing text objects will be automatically updated, fonts loaded/unloaded if need be, etc.
- powerful rendering pipeline: in addition to custom hooks that lets you issue your own rendering calls at any time in the rendering process (including substituting an object's default rendering to your own custom one), you have full shader supports on all platforms, rendering to texture support for easy compositing/post-processing.
- resolution independent rendering: all objects are in a 3D world. You also create camera in that world and link them to viewports. Those viewports will then render either to textures or to screen and will adapt scaling to the target's resolution while maintaining aspect ratio (framing/letter boxing). You can also define camera-relative objects for easy UIs. You can then easily have your UI adapt not only to the resolution but also to different aspect ratio.
- on the fly sound processing: you can inspect sound packets before they're played (or recorded as orx supports sound recording) or even generate them on the fly. That allows easy speech distortion or other interesting sound effects that simple volume/pitch control wouldn't allow.
- solid physics support, including joints

And many other features but that post is already too long and I'm pretty sure no one will read that far. Smiley

As for examples of games, I don't know all the games that have been made with orx, but you can check my TIGSource Assemblee entry Mushroom Stew that was made in 20-25 hours of work and comes with full source code, a level editor and a thin C++ convenience wrapper. There's also all the latest games made by Newton64 (linked earlier in this post), or a remake of the C64 game NEXUS by Sausage. A Gameloft studio is also using orx for some iOS/Android prod but I can't give any details. There are also other projects that have been privately disclosed to me, but again I don't have the right to show anything yet.

To sum it up orx is focusing at ease of development, portability and performances while packing an extensive list of features.

If you have any questions regarding orx, feel free to ask them here, on orx's forum or by PM.

Sorry again for that gigantic post (part of my poor presentation skills! Smiley).

3  Community / Assemblee: Part 2 / Re: Mushroom Stew [FINISHED] on: January 28, 2010, 05:26:17 PM
That did the trick. Thanks.

Liked: It plays at a nice pace with comfortable controls. Good mix of assets that worked together well. The death sound was a particularly good choice.

Thanks!

Quote
Disliked: There were the technical issues of course. Ice level... Why?!

Erm, because I ran out of ideas.  Embarrassed Also I wanted to have clouds during evening, snow weather during night and rain during morning, but I ran out of time to write the appropriate code/shaders.
If it stopped you from continuing, you can simply edit /data/scenery/SnowTileSet.ini and in the first couple of lines, you can remove the line IsIce = true. Smiley

Quote
Conclusion: It has a lot going for it, but not enough to offset the fact it has an ice level.

I won't do it again! ^^
Thanks for trying the game and giving your appreciation!

4  Community / Assemblee: Part 2 / Re: Mushroom Stew [FINISHED] on: January 28, 2010, 01:53:33 PM
It might be a shader issue for both of you. You can deactivate the intro screen shader (which only purpose is to texture the title and drop shadows) by editing /data/font/Text.ini.

In the file there's a line in the [Title] section which is: ShaderList = TitleShader. Simply comment it out with a ';' or erase the line and that should do the trick.
If in-game shaders are a problem, the water shader is defined in the same way in /data/MushroomStewData.ini and the weapon ones in data/object/Weapon.ini.

Someone reported a crash on an old Celeron processor as it turns out I didn't remove the option for using SSE2 instructions when compiling the windows version, my bad! ^^
After recompiling the game worked fine for him at 60 FPS.
I can recompile a windows version without SSE2 instructions if anyone needs it. Smiley
5  Community / Assemblee: Part 2 / Re: Mushroom Stew [FINISHED] on: January 10, 2010, 05:09:03 PM
Updated the archive with a story, a readme, minor tweaks and joystick/gamepad support (untested! :D). Done! Let's do something else now. ^^
6  Community / Assemblee: Part 2 / Re: Finished Entries on: January 09, 2010, 11:53:32 PM
Mushroom Stew


Note: Windows, Linux & Mac OS X versions are included in the same archive.

Quote
<td style="width: 350px; vertical-align: top">
    <strong>Mushroom Stew</strong><br/>
    <em>by iarwain</em><br/>
    <a href="http://orx-project.org/ProjectX/MushroomStew-1.0.zip">Download</a>, <a href="http://forums.tigsource.com/index.php?topic=9650.0">Thread</a>
</td>
7  Community / Assemblee: Part 2 / Re: Mushroom Stew (formerly known as Project X) on: January 09, 2010, 10:23:31 PM
Mushroom Stew 1.0 alpha has been released.

Beside the story that will be added tomorrow, it won't change much now. Also a new challenge map by Blarg has been added. The archive contains windows, mac OS X & linux binaries.

[EDIT]

You can change the controls in MushroomStew.ini.
You can have a list of the controls + basic game hints by pausing the game with escape.
There are .bat/.sh files to run in editor mode and the edited map is specified in ScrollEd.ini. I'll add a readme with all the info soon.

Also, there's now a (very basic) boss:

8  Community / Assemblee: Part 2 / Re: Mushroom Stew (formerly known as Project X) on: January 06, 2010, 06:58:30 PM
Last update: I've added 2 new levels and I think I will only make 12 instead of 15 total.

Before the deadline, here's what I'd like to do:

- 4 last levels + polish all the levels (trees, houses, ...)
- Better special weapon gauge (not easy to see which special weapon is active)
- A end game boss if I have the time (a magician invoking mushrooms)
- Story between levels
- Score system (will be saved for each challenge map + main campaign)
- Clouds in the sun set levels + snow flakes in the night one (and maybe rain in the sun rise ones)

Will probably be too much work before the deadline:

- Online leaderboard


9  Community / Assemblee: Part 2 / Re: Mushroom Stew (formerly known as Project X) on: January 05, 2010, 04:30:26 PM
Thanks for the backgrounds, mr.mnml! Smiley
As or the higher def ones, I'm not sure if I'm allowed to use them or not as they weren't submitted during the first part of the compo.

If it's allowed, I sure would like to use them! :D
10  Community / Assemblee: Part 2 / Re: Mushroom Stew (formerly known as Project X) on: January 03, 2010, 11:08:57 PM
Today's update:
What's new:

  • 3 new user-created challenge levels made by Blarg & Luco
  • 2 new types of mushroom NPCs available in the editor: orange guys with homing missiles and purple ones with lightning balls
  • A lot of misc bug fixes and tweaks

The archive contains both windows and mac versions.

A couple of screenshots from the new challenge levels made by Blarg & Luco:



11  Community / Assemblee: Part 2 / Re: Mushroom Stew (formerly known as Project X) on: January 02, 2010, 03:28:11 PM

Here are the changes since last version:

  • Title screen updated with faster shadow shader
  • NPCs will always turn around when hit. If they see no one, they'll then pause before continuing their patrol otherwise there's a small delay before they shoot
  • NPCs falling from high will get damaged (useful when using the gravity special weapon)
  • Crouching is more reactive + some NPCs will think player's dead (and will resume their patrol) if he stays crouched
  • Lowered all NPCs' health
  • Fixed a bug in the editor when sometimes all the objects wouldn't be loaded
  • Added second level basics

From now on, I'll try to produce 2 or 3 levels a day if things go fine. I'd like to have 5 levels in all the differents lands (lava/sunset, ice/night, grass/sunrise). The special weapon will be discovered during the night levels: the player will be able to either pick the time weapon (slow downs everything around him) or the gravity weapon (deflects bullets around and send NPCs flying). Both can be used for a certain duration and will refill over time.
12  Community / Assemblee: Part 2 / Re: Project X on: December 31, 2009, 10:22:59 PM

The code is finished except for minor tweaks/debug and the scores (displayed after each level). The game saves your progression at the end of each level and you can continue by pressing space in the title screen or beginning a new game by pressing F1.

Now the time I've been fearing the most is upon me: level design. I'll try to pack a mini story as well.

Any comment is welcomed!
13  Community / Assemblee: Part 2 / Re: Project X on: December 27, 2009, 05:38:39 PM
ProjectX v0.7 now contains a temporary splash/title screen (can be skipped by pressing space) and some music/sounds + misc tweaks.

It's a bit "messy" for now, so please let me know what you think should be changed. =)

Archive contains Windows & Mac OS X binaries + source
14  Community / Assemblee: Part 2 / Re: Project X on: December 26, 2009, 02:45:17 PM
Thanks for the specs, György!

I've updated the v0.6 archive. It also includes the mac version as well. Smiley

Please let me know if it fixed it. Also if you can test on Vista, I'd be curious to know if it works correctly on it. Smiley

No probs; v0.6 works a-ok. Hand Thumbs Up Left Smiley

Great, thanks! Grin
15  Community / Assemblee: Part 2 / Re: Project X on: December 26, 2009, 01:42:03 PM
Thanks for the specs, György!

Apparently the shader compiler on my MacBook is less permissive than the one on my XP computer.
I've fixed the Time & Gravity shaders, hopefully that should fix your issue.

I've updated the v0.6 archive. It also includes the mac version as well. Smiley

Please let me know if it fixed it. Also if you can test on Vista, I'd be curious to know if it works correctly on it. Smiley

I will now work on score and level chaining. This week end will be dedicated to sound/music integration, if things go well.
16  Community / Assemblee: Part 2 / Re: Project X on: December 26, 2009, 12:09:51 PM
i'm gettin this error.. Cry



i think my computer isn't awesome enough to play your game,or is it? Cry Cry

me2, and stderr.txt complain was complaining about a shader that could not be compiled. (sorry, Crossover seems to just not support ProjectX, I shall post the error message next time I'm in Windows.)


Oh, shader issue.
Can you go to data/object/Weapon.ini and comment with a ';' the line 18? I'll test the new shaders later on Mac today, hopefully I'll then find the issue.
17  Community / Assemblee: Part 2 / Re: Project X on: December 26, 2009, 12:07:53 PM
Sad

Can you tell me more about your configuration? Video card/windows version?

Someone reported a crash on Windows 7 but as I only have access to 32b XPs, I can't do much about it, unfortunately. :/
18  Community / Assemblee: Part 2 / Re: Project X on: December 24, 2009, 11:28:17 PM
Didn't have much time to work on this entry for a couple of days, but here what I did:
- Added time weapon (& gravity one, but it's not plugged yet) + associated shaders
- Added health bars
- Fixed a couple of things

Added new bindings: C to jump, X to shoot and Z for the time weapon.

The time weapon is basically a sphere around the player that slowdowns everything in range but the player himself; it recharges over time.

The archive doesn't contain the Mac OS X version yet, I'll update it soon.

19  Community / Assemblee: Part 2 / Re: Project X on: December 20, 2009, 02:42:49 PM
As it turns out, my touchpad is so 21st century, that there IS a mouse wheel on the right side of it, it's just totally inconspicous.=)

Nice hybrid you got there! =) At least you can scroll through the assets/layers in the editor now. Wink

Quote
How about keeping the centre point for transformations and using the boundaries for snapping? After all, that's what grids are for?

That sounds good in theory. However, let say you've set up your level, including your ground, but you now want to move your right-most wall 4 columns to the right. If you choose now to scale your ground to joint with your right wall, the ground object will scale 4 columns to the right but also 4 columns to the left. Instead you need to make it grow 2 columns to the right, and move it from 2 columns too. With big objects that are larger than the screen, it becomes annoying.
Maybe it's not a manipulation level designers have to do often, but I found myself doing it almost every time I was adding a wall/ground object. But again, I suck at level design so I'm the worst beta tester for my own tools ever. =)

However for the snapping, you're totally right, it should always been done using the boundaries. That's something I need to change. =)
20  Community / Assemblee: Part 2 / Re: Project X on: December 20, 2009, 02:19:14 PM
thanks for the explanation. I gotta be the one with the craziest input devices as I'm commuting between a touchpad and a tablet.=D

I have to admit I haven't given much thoughts to these control devices yet! ^^

Quote
as for the pivot point, I use a central pivot point in my framework. it goes together with halfsize vectors and linear transformations as nicely as strawberry and cream.Wink then it isn't extortionate to calculate a base point from it where needed.

Totally true. However I found that when scaling objects on a grid so as to create levels, a centered pivot point was pretty annoying as both ends "move". Maybe I can go with a central pivot for rotation and a top left one for scale. On multi-touch input devices, the problem wouldn't even exist. =D

Also, the .ini won't teach you how to mirror in the editor, you simply have to scale "negatively" to do so.

EDIT: For the scale, maybe I should just use the "opposite corner" as base point. This might feel even more intuitive when scaling objects.
Pages: [1] 2 3 4
Theme orange-lt created by panic