I also will add opengl. SDL + C (or C++) + OpenGL. That is the most popular (on all platforms), easy to use (but not so easy, and you still can do everything what you want), and its fully cross-platform and will works everythere with no problems.
You can also take a look at the "AmiDARK Engine" ... It's not yet finished ... It's a project under development but,
It may allow to create easily/fastly 2D & 3D games :)
It uses C/C++ but it define everything needed to work. No need for you to learn things such as pointer, memory allocation, system API ... AmiDARK Engine do all the stuff for you ;)
I will release this week-end (or later next week) a new alpha version with the help file containing explanations of all commands/functions already done.
I wait your AmiDark because I want make a game with airplanes to 1942 style but with real aircraft from the spanish civil war because in this war were strange aircrafts in both sides.
Imho Hollywood for normal games its not a solution. Its slow by default (as i see by the all hollywood programs), and you cant works with it as just as addon to programming language, because its just new language (very high level) at all.
AmiDark here won in every aspect, just because:
-- it use opengl by default (everything accelerated and fast as possible for our current opengl realisation)
-- you can use 1 functions from amidark, and all other do yourself by c or c++, or you can use any other functions of amidark if do not want to think about doing some necessary routines from scratch. But if some functions you will dislike, you can easyly write your own, without using of amidark's ones, and all will be fine and ok.
-- amidark have small size itself (its just a stub piece of code which you include to your binary on linking stage). And nothing more like in heavy hollywood.
-- amidark will cost much less than hollywood, and will be much efficient for amigaos4 programmer (only, while hollywood are crossplatform, but dunno how good or bad it is). I think there will be no any major differences to make AmiDark works and on MorphOS, if it will make sense later, but that will up to Freddix of course :)
Personally i want to use AmiDark for making some tasty demo (because its can be reall demo-machine), but sadly to say i have bugs/crashes/freezes with latest releases, and dunno if freddix fix it or not for now ..
This is all great, as personally I have some experience in coding myself, but also I realise I am not a graphic designer at the same time and the days of doing all the graphics yourself are long over if you want to develop a game that people will actually buy/download (even for free) unless your naturally gifted in that department as well.
So if the OP or anyone else is gonna make a cool modern game then you gonna need people who can actually draw as well.
I would probably start with a high-level programming language as well before moving down to C or C++ as you will need to learn a few fundamental basics at first and it's best learning to do this in an interpreter environment.
@Kas1e : I don't know what can cause your crashes. I hope that with updates I will find a way to fix this. I have some ways to explore concerning this crash and I'll have some more tests to do when Alpha/Beta test phase will start (soonly)
@djrikki Quote:
I would probably start with a high-level programming language as well before moving down to C or C++ as you will need to learn a few fundamental basics at first and it's best learning to do this in an interpreter environment.
You're right ;)
All we have to decide is what to do with the time that is given to us.
Imho Hollywood for normal games its not a solution. Its slow by default (as i see by the all hollywood programs)
Not all games need a super fast hardware acceleration. For beginner it might be better to start with some simple games, like puzzle games and other stuff.
Even with simply games it nice when they fast, and all opening windowses/screens/menus/text drawing are fast. With hollywood sadly to say, all the games and apps which i see : not fast (even if they very-very simply).
I would still recommend Hollywood for a beginner as a starting point. On AmigaOS Hollywood games are quite slow and need some tinkering to make them playable, but on Windows and MacOS machines speed is enough for most simple games including platform games.
Nintendo will probably sue my ass off for this, but here is my first hollywood game test ever. It's a Super Mario rip-off called Shitty Mario World: http://xob.kapsi.fi/~ljl/peli/mario.zip
This one needs a Windows machine and executable renamed from mario.e -> mario.exe
I would still recommend Hollywood for a beginner as a starting point. On AmigaOS Hollywood games are quite slow and need some tinkering to make them playable, but on Windows and MacOS machines speed is enough for most simple games including platform games.
But on Windows and MacOS ... But HERE we ARE NOT on Windows nor MacOS ... Why redirecting to Windows/MacOS someone that want to create a game on Amiga OS ???? Why ???
On Theory, Hollywood is good for beginners ... but in practise, it is not for AmigaOS 4 Beginners ... It will only make feel that Amiga OS 4 is slow ... and it is not as slow as softs like Hollywood may make believe ...
I know that AmiDARK Engine is not yet finished so, if someone want to start a game today, (s)he'll have to start on Hollywood but soonly, this should be fixed !!! AmiDARK 2D Engine should be released in a near future :)
I would still recommend Hollywood for a beginner as a starting point. On AmigaOS Hollywood games are quite slow and need some tinkering to make them playable, but on Windows and MacOS machines speed is enough for most simple games including platform games.
I am with freddix here 100%. Its all about aos4 here, so pretty strange to say that "hollywood slow on os4, but fast on win32/macos" . On x86 everything will be fast today, but AmiDark based games , will fast even on our current machines (not sainig about sam/x100).
All in all, there is not only "speed" problems. Its all about how fast everything done on hollywood progs. Open the windowses are slow, move the button are slow, control are slow, text typing are slow, animation are slow. I mean its good package , crosscompile and alt, but its imho not for normal games. Just for some very basic stuff, and only for some very beginer, who just want draw something on screen and see if it works.
Amidark its even easer that Hollywood. You just do:
Quote:
#include <amidark.h>
main_amidark_loop() {
set_video_mode (win or fullscreen); set_resolution(); enable double_buffering(); a=load_texture (png, "name");
while(1) { x=x+1; y=100; draw(a, x, y); }
}
That is how looks code when you works with AmiDark. Its for sure much, much better for game and even for beginers. And of course, for os4 specially (but even if we will talk about win32, i think DarkBasic and DarkEngine will be for sure much better for games, than Hollywood).
All that *dark packets, its more for reall and professional works with animatin, 3d, rotating, lighting, camera, moving, etc. While Hollywood its some kind of slow-api for something which can't be used for real to much
Its just imho of course, based on my own expirience with hollywood and amidark.
Just type in youtube "darkbasic video", and you will see professional and very good loocking games, which by hollywood you will never done. So why start from slow and new kind of language, while you can just use normal stuff. (and you can in end, use the same source code, to compile your game on win32, over darkbasic, because all the functions will be the same for programmer).
Its for sure much, much better for game and even for beginers. And of course, for os4 specially (but even if we will talk about win32, i think DarkBasic and DarkEngine will be for sure much better for games, than Hollywood).
You missed my point. My point was Hollywood may not be suitable and fast enough for all kinds of games, but for some games it's fast enough and a good choice even with AmigaOS too.
What comes for AmiDark's programming syntax, is c-style code in your opinion really more readable than Hollywood code?
For Win32 game programming, I personally would choose BlitzMax over DarkBasic for most projects anyway.
A challenge for you and freddix: Write more readable, shorter and better AmiDark version of a Hollywood puzzle game I posted earlier. This kind of game is good starting point for a beginner, not 3d stuff and fancy effects.
Yes, because in the our civil war had biplanes from WWI, french bombers, the Savoia bombers from Italy, Me109 in its first version, Stukas, He-111, Katyuska Bombers and Mosca from Rusia, etc., a mix the aircrafts from WWI, the years 30 and the first aircrafts before WWII, some spanish designs, etc.
@jalih A challenge for you and freddix: Write more readable, shorter and better AmiDark version of a Hollywood puzzle game I posted earlier. This kind of game is good starting point for a beginner, not 3d stuff and fancy effects. [/quote]
Concerning AmiDARK Engine, it uses the same kind of structures and command than DarkBASIC. Loving DarkBASIC or Blitz is just some sort of "feeling". Both are good for game development and on both languages you can see great/good games :)
But, here on Amiga we actually have 2 capabilities : - Hollywood - Cross Platform - Slow on Amiga - AmiDARK Engine ( WIP ) - Compatible DarkBASIC / DarkGDK - Faster (but not 100% finished)
Concerning AmiDARK Engine ... Excuse me but in that source code for simple example of the Amiga BOING BALL revamped under AmiDARK Engine and with background :
void DarkLoop( void ){
// Setup the display mode
DESetDisplayMode( 640, 480, 32 ); // set display mode to 640x480 using 32bits depth
DESetWindowOff(); // Jump in fullscreen mode.
DESyncON(); // Auto synchro
DESyncRate( 0 ); // Maximum frame rate
DEEnableZTrick();
// Setup the main ball object
DELoadObject( "Models/Sphere.adeo", 1 ); // Load the Ball 3D Model
DESetObjectRotationZYX( 1 ); // Default rotation priorities for 3D Object.
// Main demonstration loop run only if object exist.
if ( DEObjectExist( 1 ) == 1 ){
while ( !DELoop() ){
// Calculate the object position with jumps.
XAngle = DEWrapValue( XAngle + 1.5 ); // On reste autour de 0-360 par wrapping quand n?cessaire.
XPos = XPos + XShift;
if ( XPos < -132.0 ){ XShift = 0.5; }
if ( XPos > 132.0 ){ XShift = -0.5; }
// Calculate the object rotation
DEPositionObject( 1, XPos, ( DEAbs( DESin( XAngle ) ) * 192.0 ) - 100.0, 0.0 );
RAngle = DEWrapValue( RAngle + ( XShift * 4.0 ) ); // Rotate the ball arount itself ( Y Axis rotation )
DERotateObject( 1, 0.0, RAngle, 22.5 );
// DESetCursor( 0, 0 );
// DEPrint( "Frame Rate :" );
DESync(); // Synchronise display.
}
}
// No need to delete 3D object and Image, the plugin(s) DESTRUCTOR(s) function 'll do the job ;)
DEDeleteObject( 1 );
DEDeleteObject( 2 );
}
Where do you see something that look really C ? Ok we have ; at lines ending. We have "float" to define floating point (and DarkBASIC allow this too) But, don't forget that AmiDARK Engine handle everything ( opening file, loading data, musics, sounds, etc ... you have REALLY SIMPLE commands ) And it really look like BASIC ... and it's C !!! So what do you want better than using C for performances and having a BASIC look !!! I think it's the best solution for our Amiga...
I don't want to criticize Hollywood because it's a really good software for other platform and if our Amiga were faster it may be good too ... but it actually is not ...
I think that it's more clear concerning AmiDARK Engine ? ;)
EDIT: @Templario : Ok. I understand. Will look to see your game when you'll start it :)
Kindest Regards, AmiDARK
All we have to decide is what to do with the time that is given to us.