The Perfect Blend...

Started by GuyPerfect, February 19, 2009, 04:31:31 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Simon

Quote from: timfoxxy_236 on April 07, 2009, 11:56:57 PM
To just make some sort of lemmings sequel is an achievement on its own

Yes, that is true. I now feel bad for saying "you have to [...] to make it perfect." Didn't want to sound demanding - it was just that this topic is called "The Perfect Blend", heh.

Quote from: GuyPerfect
In my case, almost universally, one of the project goals is to create a game that everyone can enjoy.

That is good. A game just feels right even for a veteran if it appeals to everyone. I encourage you to keep this idea for any future development. The only thing to watch out for is to not overload the game with features. This can be hard if you'd like to include something from every game, all the brainstorming in this thread would have to be properly filtered first.

Quote from: timfoxxy_236
I just noticed that Simon has already gotten into one of those engines for a sequel that he has been making. Is it sort of like what Ive been describing?

For L++, I use Allegro and Enet. Allegro is a game library for C(++), it is pretty low-level. It offers routines for graphics, input, timers, sound, etc., but not any physics. Allegro lets one do enough low-level stuff to learn quite a lot about game programming while still being platform independent. An alternative to Allegro would be SDL.

Enet is a simple networking library. It's a bit more comfortable than working with sockets directly, but my client/server logic looks similar to what one would write with bare sockets. So I've again learned something while using it. :-)

Quote from: GuyPerfect
I strongly believe in building new projects from the group up from scratch. Using some arbitrary software package or even code from previous projects promotes laziness more than good practice.

This is correct up to a certain level. The most low-level code that still produces graphics will probably be platform specific. I think it's okay to abstract this away a bit.

On the other hand, I wouldn't ever write a Lemmings clone in Gamemaker. It's point-and-click development that does lots of things for you and has a scripting language for the strange stuff. Many developing decisions aren't made by the creator, the tool does it for him. The resulting games won't run on Linux, not even under Wine, and I think older versions' scripting code won't work with newer Gamemaker versions. I have a friend who could rant about this evil tool every day. ;-)

-- Simon

Tim

Quote from: GuyPerfect on April 08, 2009, 12:19:34 AM
I strongly believe in building new projects from the group up from scratch. Using some arbitrary software package or even code from previous projects promotes laziness more than good practice. After all, every time you work on a project, you get a little better at what you do and learn something new in the process. It only makes sense to use that experience in the creation of the next chapter of your handywork.

To that end, this new Lemmings project--which again is not in development at this time and may not be for a while--would use a brand new, self-made engine tailored specifically to the needs of the project. Half the fun for me is figuring out how to make a vision come alive, so even given the opportunity, I wouldn't use someone else's code just for the end result.
Quote from: Simon on April 08, 2009, 12:24:00 AM

Yes, that is true. I now feel bad for saying "you have to [...] to make it perfect." Didn't want to sound demanding - it was just that this topic is called "The Perfect Blend", heh.

-- Simon

I am sorry, I didnt mean to send a canon flying at this topic as it does talk about making the perfect project from the beginning, I just thought that all games are made with some sort of existing game engine (and therefore would be faster to build and release to the community). However as I can see that its not the case, I should now support the idea, even though I have no idea how I could pitch in, I havent done programing before and am a sitting duck in this case :P

I know that many major games take years to produce, though since this is all about a fan-created game I would have assumed it would have wanted to get some a bit quicker, but dont worry Im not saying to stop the project. I just want to see what I can do to assist here :D

Simon

Quote from: timfoxxy_236
I just thought that all games are made with some sort of existing game engine (and therefore would be faster to build and release to the community). However as I can see that its not the case

Maybe it's just a mixup of what everyone thinks upon hearing "game engine".

I wouldn't really call the library Allegro an "engine" because it's basic idea is to be a wrapper for platform specific functions, e.g. it invokes DirectX unter Windows. It's still listed on the Wikipedia page with all game engines, even if I'd call it a library only.

Libraries like these are pretty standard for indie games!

For me, a game engine is rather something that saves you writing a certain separated part of the game (usually game mechanics). If a big game manufacturer wants to make a modern 3D shooter, they will consider using an existing physics engine. If one writes code that moves fancy debris pixels around in an indie game with 2D spaceships shooting each other, we could refer to this rather isolated part of the logic as the particle engine.

-- Simon

GuyPerfect

Quote from: SimonThe most low-level code that still produces graphics will probably be platform specific.
Already a step ahead of you. I've designed and implemented a simple API that will create a user window on Microsoft Windows and X Window System as well as create and bind an OpenGL rendering context to it. While the inner workings of the API are platform-dependant, that work is already done and the rest will only require a program to be written once and compiled for Windows, Linux and Mac OS without any modifications whatsoever.

I'll be implementing similar APIs for TCP/IP and audio output.

Dullstar

Always nice to hear about new lemmings games! 

Mindless

Quote from: GuyPerfect on April 08, 2009, 07:31:59 PMI'll be implementing similar APIs for TCP/IP and audio output.

Sounds like you're reinventing the wheel.  I reinvent the wheel more often than I should, but even I don't write my own platform-irrelevant APIs.  Couldn't you just use SDL/SDL_net instead?

Dullstar

Though I have a question.  Why reprogram the whole thing instead of use Lemmix or Lemmedit or something like that?

GuyPerfect

Instead of accusing you guys of not paying attention, I'll give you the benefit of the doubt and reiterate a few key points:

  • The goal of this project is to make a new Lemmings game; not modify an existing one.
  • The layout and graphical style are completely different from anything else out there. Modification isn't even an option.
  • I do not believe in using other people's code in my projects.
  • I do believe that all of a project's code should be what the project needs. Nothing extra.
  • The end result is not the only thing I'm after. I want the personal experience of creating this.

Dullstar

Quote from: GuyPerfect on April 20, 2009, 06:40:21 PM
Instead of accusing you guys of not paying attention, I'll give you the benefit of the doubt and reiterate a few key points:

  • The goal of this project is to make a new Lemmings game; not modify an existing one.
  • The layout and graphical style are completely different from anything else out there. Modification isn't even an option.
  • I do not believe in using other people's code in my projects.
  • I do believe that all of a project's code should be what the project needs. Nothing extra.
  • The end result is not the only thing I'm after. I want the personal experience of creating this.

Good luck with that...  I'm making a much simpler game, and I still get annoyed with the development process sometimes (but it's better than never having the stuff made )

I'd like to see the end result!  Hope it's great!

GuyPerfect

Quote from: Dullstar on April 21, 2009, 11:17:16 PMI'd like to see the end result!  Hope it's great!
If the project ever gets started, you will!

GuyPerfect

Incidentally, I just received word that another fangame project I was to be involved in has been postponed, which means Lemmings gets bumped up a notch and is currently next on my list of prospective projects (after the one I'm working on). Looks like we won't be waiting as long as I thought before deciding if/when to get started on tihs.

Dullstar

You mean you haven't started it yet?!

I can give a few tips, but not many.  There is some software that might work to make this easier for you to do.

You could get MMF (which costs money :P)
Or you could use Construct, which is free!

GuyPerfect

I'm happy with the C programming language, but thanks anyway!

Dullstar

I've been wanting to learn some actual programming, because I imagine if I knew how, I'd be able to make something much more advanced than what I could make with MMF...

Do you think you could teach me a bit, maybe?

GuyPerfect

Eh, it's a bit of an involved field. A proficient programmer not only knows how to instruct a computer to do certain things, but also understands how those things happen on the internal circuitry and knows how to make the necessary considerations accordingly. For the time being, I recommend you find some programming tutorials via your favorite search engine. Once you're comfortable making things that are functional, I can help you dig into the deeper stuff and get really good at it.

BASIC and its variants are by far the easiest to learn if you've never programmed before. C and C++ are nearly universally supported, so if you learn one of them, you'll be able to write programs for virtually any computer. What I suggest is finding an old copy of Microsoft QBASIC and learning some of the fundamentals to programming through that, then move to C to see how most of the world does things. You can dip into C++ if you want, but be advised that there are many features in that language that are geared towards productivity at the loss of performance--which results in programmers not really knowing what the computer does when they tell it to do things--so I tend to avoid it like the plague.