Is there a SGDK suite? What would it look like?

SGDK only sub forum

Moderator: Stef

KanedaFr
Administrateur
Posts: 1139
Joined: Tue Aug 29, 2006 10:56 am
Contact:

Post by KanedaFr » Fri Nov 16, 2012 10:16 pm

SGDK comes with howto's for CodeBlock and Eclipse
SGDK uses GCC which could be compiled for any platform
the only thing missing are the tools
almost all (but GenRes) could be replaced by an open source tool
I myself use Maccer and not binToC and another z80 compiler
so if you want a SGDK linux, you could easily make it.

and about installing on Windows, even if I don't want a Linux vs others wars here, it takes me 3 min to install a full kit for genny dev (if I don't count the download times)
Eclipse CDT comes in a ZIP
SGDK comes in a zip
so if unzipping 2 files and updating a variable env is too much for you...

if you want I could make 1 zip of the 2 ?

seriously, I see more and more people telling here "why it's not like that ?" or "why this is not available ?"
It took us almost 10 years to come to this point.
If you want to make somethings, do it, you're welcome...I'll even help you if I could.
But be ready (I learnt it myself) to not see everyone follow your vision on what is the perfect way to dev on genny.

ps: this post is also for the "better schematic" thread

slobu
Very interested
Posts: 85
Joined: Tue Apr 03, 2012 6:02 pm

Post by slobu » Sat Nov 17, 2012 4:45 pm

I thank everyone for their input so far.

While Linux is great this is not the point. A new user is going to come from a Windows background. A BASIC programmer is going to expect an already configured IDE and compiler in one install.

After getting his feet wet YES Linux is the answer.

If no one is savvy enough with Windows to advise on a Windows based suite then I can try to package a Portable Ubuntu or QEMU image. I'd rather not.

@KanedaFr: Yes, if you could package those two in a zip already configured that would be great. Plus a list of environment variables that would need updating. Any dependencies such as Java would be good too. I have no problem making the installer myself.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Sat Nov 17, 2012 5:14 pm

If you're using Windows, you follow the directions on the wiki page for the SGDK google site. It gives you a properly working toolchain and examples. If they need more, they probably aren't ready to be working on a console... they could try BEX instead. If they can get it going no problem, then they should know enough that they don't need further help until they're ready to try linux, in which case they'll be asking about linux.

slobu
Very interested
Posts: 85
Joined: Tue Apr 03, 2012 6:02 pm

Post by slobu » Sat Nov 17, 2012 5:25 pm

Chilly Willy wrote:If you're using Windows, you follow the directions on the wiki page for the SGDK google site. It gives you a properly working toolchain and examples. If they need more, they probably aren't ready to be working on a console... they could try BEX instead. If they can get it going no problem, then they should know enough that they don't need further help until they're ready to try linux, in which case they'll be asking about linux.
Hmmn.. I didn't know there would be such resistance to a ready-to-go suite. Even Borland C for DOS had a one step installer with examples. I do not think having to cobble together various pieces should be requisite to C programming. Rather, it's a deterrent to taking the next step in a beginners evolution.

No disrespect intended Chilly Willy. Your help in the past is deeply appreciated.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Sat Nov 17, 2012 6:21 pm

slobu wrote:
Chilly Willy wrote:If you're using Windows, you follow the directions on the wiki page for the SGDK google site. It gives you a properly working toolchain and examples. If they need more, they probably aren't ready to be working on a console... they could try BEX instead. If they can get it going no problem, then they should know enough that they don't need further help until they're ready to try linux, in which case they'll be asking about linux.
Hmmn.. I didn't know there would be such resistance to a ready-to-go suite. Even Borland C for DOS had a one step installer with examples. I do not think having to cobble together various pieces should be requisite to C programming. Rather, it's a deterrent to taking the next step in a beginners evolution.

No disrespect intended Chilly Willy. Your help in the past is deeply appreciated.
No problem.

I look at it this way - it's a TEST. If you can't get SGDK installed using the SIMPLE instructions on the wiki, you're probably not ready for cross developing for a console. There's a minimal skill set NEEDED... this isn't GameMaker on a plain PC or something similar. People shouldn't be learning on Genesis - it's not a beginner level system. People sometimes confuse "retro" and "limited" with "simple" and "easy", and it's actually the exact opposite. For beginners, the easiest way to get into programming is to program on the PC. Consoles are the LAST STEP in the learning process, not the first.

Now things are easier than they were to get into console programming with GSDK and BEX, but that still doesn't mean it's beginner level or ever will be. Even if you made a one-step installer that took care of every last detail, they're still going to have trouble even doing something as simple as "Hello World" on the console because it's NOT a PC. This situation is not as bad (IMHO) as those folks who post "I just bought C++ for Dummies, how do I do an XBox 360 emulator on the Genesis?", but not by much. :lol:

slobu
Very interested
Posts: 85
Joined: Tue Apr 03, 2012 6:02 pm

Post by slobu » Sat Nov 17, 2012 8:21 pm

The point of programming is creation - not emasculating oneself in the details. Because the hardware is constrained is exactly why it should be easy to start. In order to keep these classic systems relevant we need more developers. The carrot here is making a real video game. I'd rather have a newbie challenged by a "Hello World" that doesn't compile than one who gives up because he can't find the 64 bit version of MAKE.

sega16
Very interested
Posts: 251
Joined: Sat Jan 29, 2011 3:16 pm
Location: U.S.A.

Post by sega16 » Sat Nov 17, 2012 9:33 pm

When I first started out with sgdk I had way less knowledge on compilers but yet somehow I manged to get sgdk working in code::blocks the key to success is to read every line in that tutorial in order and not skip a step.Also I think there is no need for an installer you see it makes things harder to update. Every-time sgdk gets updated the installer would also have to be updated the same for eclipse too. Also I can imagine some people in that "I require an installer" group may re-download the whole installer for every update even if only one or the other needs updating.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Sat Nov 17, 2012 11:59 pm

slobu wrote:The point of programming is creation - not emasculating oneself in the details. Because the hardware is constrained is exactly why it should be easy to start.
But that's exactly why it ISN'T easy. Constrained means working within those constraints, which can require dreadfully complicated solutions to deal with said constraints. The EASIEST thing to start on is a system capable of ANYTHING since you have no constraints to concern yourself with. On the Genesis, maybe you have to jump through hoops to work within the miserly 64KB of ram. On a PC, ram is basically infinite, so there's never any need to worry about how much you use. On the Genesis, you may need brain-twisting cunning to make the game fast enough to be playable. On a PC, speed is basically infinite, so you can use the simplest and slowest algorithms and processes and still have a playable game.

THAT is what people miss when they think that old retro systems should be easier to program on.

In order to keep these classic systems relevant we need more developers. The carrot here is making a real video game. I'd rather have a newbie challenged by a "Hello World" that doesn't compile than one who gives up because he can't find the 64 bit version of MAKE.
Having newbies trying to program on the Genesis will just discourage them and we'll get nothing in any case. When they see how hard it is just to do "Hello World", making it simple to install the tools isn't going to keep them working on the system. If he can't find the 64-bit version of make, he's going to give up long before ever getting anything more than hello world if you provide the make tool for him.

powerofrecall
Very interested
Posts: 237
Joined: Fri Apr 17, 2009 7:35 pm
Location: USA

Post by powerofrecall » Sun Nov 18, 2012 12:28 am

I think the SGDK lib kind of hits a happy medium as to high level vs. low level. Of course by today's standards SGDK's stuff is still pretty low level, but there are tons of younger computer science students out there that would have an easier time deving for MD in C, with a library that abstracts some of the concepts versus poking at memory mapped hardware in assembly. Those people, though, should still be capable of setting up their own environment. I feel like this discussion isn't really going anywhere. :)

slobu
Very interested
Posts: 85
Joined: Tue Apr 03, 2012 6:02 pm

Post by slobu » Tue Nov 20, 2012 6:13 pm

powerofrecall wrote:I think the SGDK lib kind of hits a happy medium as to high level vs. low level. Of course by today's standards SGDK's stuff is still pretty low level, but there are tons of younger computer science students out there that would have an easier time deving for MD in C, with a library that abstracts some of the concepts versus poking at memory mapped hardware in assembly. Those people, though, should still be capable of setting up their own environment. I feel like this discussion isn't really going anywhere. :)
I agree. The differences between the "developer" and "game maker" mentality are too divergent.

I hope we can set aside our views to answer the original question.

djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Tue Nov 20, 2012 8:18 pm

So what should go in a SGDK suite? SGDK could be wrapped up in an installer to set the few environment variables it needs. As it uses its own copy of GCC, it could also check for any conflicting versions.

As a "suite", you'd probably want to integrate an IDE, but which one? And the one picked would have to be supported. If for example, Stef doesn't really use the picked IDE, then it wouldn't be as well supported.

Chilly Willy
Very interested
Posts: 2984
Joined: Fri Aug 17, 2007 9:33 pm

Post by Chilly Willy » Tue Nov 20, 2012 11:56 pm

djcouchycouch wrote:So what should go in a SGDK suite? SGDK could be wrapped up in an installer to set the few environment variables it needs. As it uses its own copy of GCC, it could also check for any conflicting versions.

As a "suite", you'd probably want to integrate an IDE, but which one? And the one picked would have to be supported. If for example, Stef doesn't really use the picked IDE, then it wouldn't be as well supported.
The problem is, all those questions have different answers depending on who you ask. The solution is to leave it the way it is. A developer will be able to install everything and pick their own editor. This isn't something that needs a suite - if you're capable of using it, you're capable of setting it up yourself just the way you like with just the info available and maybe a couple questions here for folks who have been through it all. Anything else is a waste of efforts that are better spent elsewhere.

djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Wed Nov 21, 2012 12:39 am

So it seems to me that the answers to the original questions are "no" and "haven't a clue" :)

If someone really wanted you could make an installer that sets the environment variables but since anybody with any technical know how can do it it's probably not worth the trouble.

One thing SGDK Could benefit from would be to have an expanded set of samples and tutorials. Even say code "recipes" on how to use certain parts of the sdk could help. One example that comes to mind is how to use the scrolling functions with its multiple types of usage (per line, per tile, whole).

Thinking out loud, one could make a custom IDE with the SGDK tightly integrated. But there probably won't be enough clients to warrant building one.

Seeing as the original questions don't have any satisfactory answers I propose we start talking about kittens instead.

kubilus1
Very interested
Posts: 237
Joined: Thu Aug 16, 2012 2:25 am
Contact:

Post by kubilus1 » Wed Nov 21, 2012 1:07 am

This discussion reminds me of the Brooks article 'No Silver Bullet: Essence and Accident in Software Engineering'.

This is a good article that discusses the differences between essential and accidental complexity in a system. You want to get rid of the accidental complexity, but attempting to reduce the essential complexity is futile and tends to add complexity in the long run.

Suffice it to say that SGDK mostly gets rid of a lot of the accidental complexity in Genesis development. Doing something like trying to make a Genesis game maker would attempt to get rid of the essential complexity of console development.

Here's the link: http://www.cs.nott.ac.uk/~cah/G51ISS/Do ... ullet.html

djcouchycouch
Very interested
Posts: 710
Joined: Sat Feb 18, 2012 2:44 am

Post by djcouchycouch » Wed Nov 21, 2012 1:12 am

Looks like an interesting article! Will read that on the bus tomorrow.

Post Reply