Jump to content
  • Advertisement
  • entries
  • comments
  • views

Engine Fun

Sign in to follow this  


Last night saw lots of stubbing out of new engine components.

Entity - basic world unit that can serve many functions
Light - description of a light source
Color - 32 bit logical ARGB color
Map - a map in the game, most of this will be moved over from flare 3
Palette - a managed texture containing images

Dave's working on our binary serializer, which will be doing the grunt work of saving and loading a game-state.

so far so good, moving at a good pace =)
Sign in to follow this  


Recommended Comments

Well, since this is a very well-defined, data-driven (no real code additions or subclassing) Entity will be what most things you see in the game are, they can do one or more of the following:

  • They can be moved around the world
  • Can be an animated piece of art
  • Can be a particle emitter <-maybe not sure yet
  • They can be lit
  • They can act as an audio source
  • They can act as camera targets
  • They can act as environmental triggers

    All entities have a general Key-Value dictionary which is used to store thier associated variables (settable through scripts), it is by this 'customization ability' we dont need to subclass entity, except in rate circumstances.

    Each entity also has a script that it sends all of it's events too, 'passing it a 'this' with it', events such as:

  • onCreate
  • onSecond
  • onMinute
  • onHour
  • onDay
  • onEnter
  • onLeave
  • onAnimationStart
  • onAnimationDone
  • onMotionStart
  • onMotionDone
  • onClick

    by using these triggers we 'weave' the story together, using information that the engine exposes in the form of function calls, some function calls are:

  • createEntity()
  • beginSequence()
  • endSequence()
  • beginDialogue()
  • endDialogue()
  • wait(millis)
  • cameraTrack(entity)
  • moveEntity(entity,[x,y|entity|tileName])
  • animateEntity(entity,animation)
  • placeEntity(entity,[x,y|entity|tileName])
  • removeEntity(entity)

    The one exception to not extending Entity, is with Doors; Doors are a pretty important, well-defined and most importantly 'Integrated' feature of the engine, doors are special entities that expose all of the same properties of a regular entity but add new events and functions, such as:



    //set hard-states (no events,no animation,no sound etc)

    So making a game with this engine all comes down to a few things:

    1. make story
    2. make art
    3. make audio
    4. make maps
    5. write scripts to tie it all together (script story)

    Isn't that what game making is supposed to be about? =D

    Share this comment

    Link to comment

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Advertisement

    Important Information

    By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

    GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

    Sign me up!