Jump to content


Photo

Wiz Game Engine


  • Please log in to reply
128 replies to this topic

#1 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 26 July 2010 - 10:07 PM

Hey all,

I've been lurking around these forums since receiving my Wiz in April (it was a bit of a mission and a bit pricey seeing as I'm in South Africa). I figured that since I have some down time at the moment, I should probably contribute something to the community...so I decided to develop a 2D/3D game engine for the Wiz that is built on top of the DaVinci "game engine" (really just utility classes). Dev is going a little slowly since I haven't used C++ since around 2003, but I've completely a large chunk already:

- key-frame animated meshes
- animated sprites
- bitmap fonts
- screenshot grabbing/recording
- .KTX (Khronos texture) support
- UI system
- menu system (simple, radial)
- screen transition effects (wipes, fades)
- 2D + 3D camera
- touchscreen gestures
- scriptable materials
- spatial hierarchies (octree + quadtree + 2D layered)
- batch optimized sprite renderer
- batch optimized mesh renderer
- batch optimized text renderer
- GLES lighting (point, spot) with importance light sorting
- blob shadows (automatically aligns to surface normal and scaled according to distance)
- 2D/3D particle systems with particle batching
- mesh collision detection (AABB-AABB, OBB-OBB, OBB-triangle, sphere-triangle, sphere-AABB, sphere-OBB)
- camera->focal object occlusion detection & correction
- physics controller for dynamic and static collision handling & resolution (with collision callbacks)
- sound + music support
- simple 2D/3D positional audio

I plan on writing the editors in C# once the engine is done. I've started on the file format converters:

- Quake MDL support (grouped frames are unsupported currently)
- Quake MD2 support
- DeleD scene support
- WaveFront OBJ scene support (multiple objects, material files as well, Blender export works too - subdivides large meshes)
- WaveFront OBJ model support
- basic VRML 1.0 support
- converts raw images recorded in engine to animated GIFs

Cheers
Kurt

Edited by kurtkz, 06 September 2010 - 07:29 AM.


#2 hmn

hmn

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 168 posts

Posted 27 July 2010 - 12:13 AM

Sounds interesting :)

#3 foody

foody

    GP32 User

  • Members
  • PipPipPip
  • 60 posts

Posted 27 July 2010 - 07:51 AM

Could you tell me more about this engine? Is it an RPG engine? Is it a platform game engine? Is it an arcade style engine? Fighting style engine? Is it an engine like quake or doom game?

#4 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 27 July 2010 - 07:54 AM

Could you tell me more about this engine? Is it an RPG engine? Is it a platform game engine? Is it an arcade style engine? Fighting style engine? Is it an engine like quake or doom game?


Hi foody,

it's not a particular *type* of game engine - more a generic engine. Think of it as something along the lines of Panda3D or Irrlicht.

Cheers
Kurt

#5 Derek

Derek

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 184 posts
  • Gender:Male

Posted 27 July 2010 - 03:06 PM


Could you tell me more about this engine? Is it an RPG engine? Is it a platform game engine? Is it an arcade style engine? Fighting style engine? Is it an engine like quake or doom game?


Hi foody,

it's not a particular *type* of game engine - more a generic engine. Think of it as something along the lines of Panda3D or Irrlicht.

Cheers
Kurt

Awesome!!!

#6 Peter R

Peter R

    Zrzore Gvgyr

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 9334 posts
  • Gender:Male
  • Location:Somewhere in Wiltshire or Somerset
  • Interests:Programming, Science and Computer Games.

Posted 27 July 2010 - 05:34 PM

This sounds very interesting and I look forward to hearing more about it.

#7 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 30 July 2010 - 07:36 AM

Hey all,

just a quick heads-up that development is still continuing on this project. So far I've added MDL and MD2 format support and it looks pretty good. I'll be adding MD3 and MD5 model support in the next few days as well as DeleD and Wavefront support for game environments. Please check the first post for detailed updates.

Cheers
Kurt

#8 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 31 July 2010 - 11:52 AM

Hi all,

another small update - I've just added support for DeleD scene files and it works beautifully :) If you haven't checked out DeleD yet, Google it. I'll post a video as soon as the missus tells me where her camera is :P

Cheers
Kurt

#9 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 01 August 2010 - 04:03 PM

Hi guys,

here's a demo of the engine that shows off the scene support:

left & right - turn
up & down - move
X - ascend
Y - descend
B - quit

Download - 400KB

Cheers
Kurt

Edited by kurtkz, 01 August 2010 - 04:41 PM.


#10 crow_riot

crow_riot

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 1133 posts
  • Gender:Male
  • Location:.at
  • Interests:music & programming

Posted 03 August 2010 - 06:48 AM

tried it out yesterday. works fluent, no stuttering. scene is a bit dark but could make some nice doom-like FPS :)
i just couldn't figure out what the text on the top-left corner meant.

do you have some view-frustum-culling support, too?

#11 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 03 August 2010 - 07:45 AM

tried it out yesterday. works fluent, no stuttering. scene is a bit dark but could make some nice doom-like FPS :)
i just couldn't figure out what the text on the top-left corner meant.

do you have some view-frustum-culling support, too?


Thanks for the feedback, crow_riot. Yup, there's no GL lights in the scene, but there's lightmapping (multitexturing works nicely). It's actually a 3D scene that comes with DeleD. Yes, there's view frustum culling in the form of an octree (there's also support for KD-trees). I'm reworking the font code a bit so that it's legible :P

Cheers
Kurt

#12 crow_riot

crow_riot

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 1133 posts
  • Gender:Male
  • Location:.at
  • Interests:music & programming

Posted 03 August 2010 - 07:50 AM

huh you got multitexturing to work? i struggeled with that, i couldnt get it to work, i always got messy texcoords on the second layer, first one was always working fine. :blink:

#13 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 03 August 2010 - 07:57 AM

huh you got multitexturing to work? i struggeled with that, i couldnt get it to work, i always got messy texcoords on the second layer, first one was always working fine. :blink:


Yup, multitexturing works just like it does in desktop OpenGL (this engine is basically a quick port of my PC engine). If you want, you can PM me the texturing code and I can take a look?

#14 crow_riot

crow_riot

    Mega GP Mania

  • GP32 Hardcore
  • PipPipPipPipPipPip
  • 1133 posts
  • Gender:Male
  • Location:.at
  • Interests:music & programming

Posted 03 August 2010 - 09:24 AM

uhm i think i just found the bug ... giving a stride of UV .... though my elements are not padded ... stupid me. the curiosity is though, that i also have the stride on the first layer and it doesnt make any difference ....

*edit* removed code to avoid confusion ;)

well it works now, i just tried it again :)

the problem was not the padding but mixing static array buffers with non buffered components. in fact, when you're using static index buffers with dynamic other ones doesnt work. so dont make static index buffers if you get weird drawing issues ;)

Edited by crow_riot, 03 August 2010 - 08:10 PM.


#15 kurtkz

kurtkz

    GP32 Hardcore

  • Members
  • PipPipPipPip
  • 154 posts
  • Gender:Male
  • Location:Cape Town, South Africa
  • Interests:Game development, gym, reading, music, cooking

Posted 05 August 2010 - 09:47 AM

OK, after adding mesh-mesh collision detection, I think I finally have the basics I need to create a full game. Only problem now is...content. Does anyone know of a website with good, free, low poly, textured meshes?

@crow_riot: I didn't notice you were mixing VBO's and arrays. Good catch!