Gridwars Inspired Game?


Monk

Caveman Ninja
Joined
Jan 4, 2009
Messages
2,091
Location
Mutter's Spiral
torpor may be working on this - but he could do with an artist to create 3D models and textures, and perhaps another for sounds? While we wait for him to step in with details, here's a quick conept sketch animation showing a proposed user craft (in the middle) against a backdrop of simplistic but not-final-for-this-game 3D primitves, which I've set tumbling because I was bored.

2ii8h92.gif


I'm standing in for the moment, until someone faster, less distracted, and/or more skillful steps in. Does that describe YOU??
 

Attachments

  • 2ii8h92.gif
    2ii8h92.gif
    4.2 KB · Views: 87
Here's the source for the current version of the "ship" model, and the texture used in the animation.

Code:
# NumVerts/NumTVerts/NumVNormals/NumFacets   23/56/0/36
# NumGroups/NumMaterials/NumRegions   1/0/0
# x/y/color/ppu   1024/614/0/50.00000000

v  0.00000000  0.50000000 -1.00000000
v  0.00000000  0.50000000 -2.00000000
v  2.00000000  0.50000000  1.00000000
v  0.00000000  0.50000000  1.00000000
v  0.00000000  0.50000000  2.00000000
v -1.00000000 -0.49750000  1.00000000
v -1.00000000  0.50000000  1.00000000
v  0.00000000 -0.49750000  1.00000000
v -1.00000000  0.50000000  0.00000000
v -1.00000000  0.50000000 -1.00000000
v -1.00000000 -0.49750000 -1.00000000
v  2.00000000 -0.49750000 -1.00000000
v  2.00000000  0.50000000 -1.00000000
v  0.00000000 -0.49750000 -2.00000000
v -2.00000000 -0.49750000  0.00000000
v -2.00000000  0.50000000  0.00000000
v  2.00000000 -0.49750000  1.00000000
v  0.00000000 -0.50000000  2.00000000
v  0.00000000 -0.49750000  2.00000000
v  0.00000000 -0.49750000 -1.00000000
v -1.00000000 -0.50000000  1.00000000
v -2.00000000 -0.50000000  0.00000000
v -1.00000000 -0.49750000  0.00000000

vt  0.22000000  0.64999998
vt  0.22000000  0.50000000
vt  0.31000000  0.64999998
vt  0.31000000  0.79999995
vt  0.48999995  0.64999998
vt  0.22000000  0.17499998
vt  0.22000000  0.02537500
vt  0.31000000  0.02537499
vt  0.10999998  0.64999998
vt  0.02022499  0.64999998
vt  0.02022500  0.50000000
vt  0.10999998  0.79999995
vt  0.02022499  0.79999995
vt  0.48999995  0.97462505
vt  0.31000000  0.35000002
vt  0.22000000  0.35000002
vt  0.13000001  0.50000000
vt  0.31000000  0.20000002
vt  0.48999995  0.35000002
vt  0.02022501  0.35000002
vt  0.10999999  0.35000002
vt  0.10999999  0.50000000
vt  0.11000001  0.20000002
vt  0.31000000  0.97462499
vt  0.31000000  0.82500005
vt  0.48999995  0.17500000
vt  0.51000005  0.64999998
vt  0.51000005  0.50000000
vt  0.59977502  0.64999998
vt  0.13000001  0.82500005
vt  0.22000000  0.82500005
vt  0.13000001  0.97462505
vt  0.48999995  0.17499998
vt  0.31000000  0.17499998
vt  0.48999995  0.02537499
vt  0.48999995  0.82500005
vt  0.31000000  0.97462505
vt  0.22000000  0.97462505
vt  0.13000001  0.02537500
vt  0.22000000  0.02537501
vt  0.13000001  0.17499998
vt  0.02022501  0.20000002
vt  0.48999995  0.97462499
vt  0.31000000  0.02537502
vt  0.48999995  0.02537501
vt  0.31000000  0.17500001
vt  0.62000006  0.35000002
vt  0.80000007  0.20000002
vt  0.62000006  0.64999998
vt  0.80000007  0.79999995
vt  0.80000007  0.35000002
vt  0.89000005  0.35000002
vt  0.80000007  0.64999998
vt  0.89000005  0.64999998
vt  0.89000005  0.50000000
vt  0.98000002  0.50000000


g Figure 1
f 10/1 9/2 1/3
f 16/17 9/2 10/1
f 10/1 1/3 2/4
f 2/4 1/3 13/5
f 9/6 23/7 20/8
f 10/9 11/10 15/11
f 2/12 14/13 11/10
f 1/34 20/8 12/35
f 13/36 12/14 14/37
f 4/15 9/2 7/16
f 7/16 9/2 16/17
f 5/18 4/15 7/16
f 3/19 4/15 5/18
f 23/38 9/31 4/25
f 6/20 7/21 16/22
f 19/42 5/23 7/21
f 8/24 4/25 3/36
f 17/45 3/26 5/46
f 1/27 9/28 20/29
f 16/30 10/31 15/32
f 10/31 2/25 11/38
f 13/33 1/34 12/35
f 2/25 13/36 14/37
f 8/24 23/38 4/25
f 15/39 6/40 16/41
f 6/20 19/42 7/21
f 17/43 8/24 3/36
f 19/44 17/45 5/46
f 17/47 18/48 8/51
f 12/49 20/53 14/50
f 8/51 19/48 6/52
f 14/50 20/53 11/54
f 20/53 23/55 11/54
f 8/51 21/52 23/55
f 23/55 21/52 22/56
f 11/54 23/55 15/56

2uze3hx.jpg


@torpor: If you need me to walk you through how the .obj file formatting works, let me know - but it should be prettty straight forward. I suspect that using actual .obj format files for the game could make it extremely easy to mod.
 

Attachments

  • 2uze3hx.jpg
    2uze3hx.jpg
    4.7 KB · Views: 86
This project is my new favorite thing on the forums with Pandora Pong :)

As every potential contibutor may not have played geometry wars or similar, I think it would be a good idea to recap the basic concept of the game this one will be inspired by:

Wikipedia said:
The object of Geometry Wars is to survive as long as possible and score as many points as possible by destroying an ever-increasing swarm of enemies. The game takes place on a rectangular playfield and the player controls a claw-shaped "ship" that can move in any direction using the left thumbstick, and can fire in any direction independently using the right thumbstick. The player also has a limited number of bombs that can be detonated and destroy all enemies on the playfield. As the game progresses, the player can earn extra lives and additional bombs at set score increments, and the primary weapon changes at regular intervals. Also, enemies spawn in progressively larger quantities and at greater frequency as the game progresses. If an enemy touches the player's ship, the ship explodes and a life is lost. The game is over when the player runs out of lives.
 
Last edited by a moderator:
Grids? Wars? I wonder if Jeff Minter is aware of the Pandora. It's the sort of thing he used to champion. That, of course, didn't help most of those previous systems, but still...
 
With all the talk about lowpoly wireframe glowing 3d objects I rememberd kernel panic, maybe you can use some models from that game? (I hope the spring engine get ported to the pandora btw.)
 
Okay this looks great Monk, I really like the little ship model you've done so far, thats what I was hoping you would do.

I have a surprise for you!

Some answers for questions from the other thread:

:: We don't have to use the 3D engine I propose, but it is available and it works and its quite functional already as a gridwars clone because it presents a big playfield with objects and ships racing around it already. The engine I have in my personal kit is based on Wakebreaker, a very nice little demo that you might be pleasantly surprised to discover is already working as a game engine.

You can see screenshots of WakeBreaker here:

http://pete.nextraztus.com/projects.html

Here is a port of the engine from C++ to Python/pyglet:

http://code.google.com/p/wakebreaker/

(If anyone here has a Zii Egg, I ported it to Plaszma OS: http://w1xer.de/zii/ZiiWakeBreaker/index.html )

As you can see from this screenshot, its got all the bits we need. :) Surprise, most of the work is already done, we can move rapidly into physics and modelling territory .. :) :) :)

To get the classic GW view, just change the camera.LookAt call to increase the Y of the camera from 10 to .. for example 90. Oila, instant top-down 2.5D view of the playfield, and most of the game engine is 90% done already. Heh heh!

:: Wakebreaker is a perfectly functional engine, already. It exists in C++ and Python versions. I have ported the C++ codebase to TB OS, iPhone, Zii Egg, and Beagleboard. Its a very neat little project, and I think we can definitely use it. What would be very nice is if we could use the python version of the app for the artists to work out their models, and then either port the python version (pyglet: not sure about this on Pandora) or take the models and fold them into the C++ version of the code. My preference is to use the pyglet version just for model previews but focus on modifying the C++ codebase to implement the rest of the GW stuff ..

:: Porting the existing GW code? If we get BlitzMax Basic on Pandora, sure thing .. or we can cross-port it to a new language, even python+pyglet would be nice, since its very much more accessible to newbies than a C++ project would be.

So you see, we already have a big step forward in terms of implementing our own GW clone for Pandora. I hope you guys are surprised by this! :)
 
Jeff Minter? No idea, but if you can get him interested (and get OpenPandora interested in getting him interested) then that't be cool :)

dentrado said:
With all the talk about lowpoly wireframe glowing 3d objects I rememberd kernel panic, maybe you can use some models from that game? (I hope the spring engine get ported to the pandora btw.)

Yeah - I like some of those. While the sphere* is already obvious, I love the Kernel Panic designs called:

Byte*
Terminal
Obelisk
Pointer
Assembler
Logic bomb
Packet
Gateway

(to varying degrees) and would encourage anyone to have a stab at bringing them to life as models suitable to this project... I have a few designs based on the graphics in Grid Wars that I want to bring to life first. Here, for example, is a new version of the player's "V" shaped craft which I've improved to make slightly more stylised and reduce the poly count further. I've taken a little more care over the UV mapping so that it would be slightly easier to paint details on the craft if one wanted a more high-tech look (though you'd need a higher resolution template for that IMHO).

Animation:
25iw1n7.gif


Template:
30njacw.jpg


Model (Wavefront Alies .OBJ file - Ship 002cUV.obj):
Code:
# NumVerts/NumTVerts/NumVNormals/NumFacets   11/26/0/18
# NumGroups/NumMaterials/NumRegions   3/4/0
# x/y/color/ppu   1024/1024/0/50.00000000

v  0.00000000  0.50000000 -1.25000000
v  0.00000000 -0.50000000 -1.00000000
v  2.00000000 -0.50000000 -1.00000000
v -1.00000000 -0.50000000  0.00000000
v -1.25000000  0.25000000  0.00000000
v  0.00000000  0.50000000  1.25000000
v  0.00000000 -0.50000000  1.00000000
v  2.00000000 -0.50000000  1.00000000
v  0.00000000 -0.50000000  2.00000000
v  0.00000000 -0.50000000 -2.00000000
v -2.00000000 -0.50000000  0.00000000

vt  0.20183292  0.01023065
vt  0.48848584  0.01023065
vt  0.97881317  0.17457217
vt  0.94298154  0.01023065
vt  0.48547247  0.79270834
vt  0.48547247  0.43645829
vt  0.25186014  0.43645829
vt  0.02267485  0.17457217
vt  0.20183292  0.22935265
vt  0.05850647  0.01023065
vt  0.51300222  0.01023065
vt  0.79965508  0.01023065
vt  0.79965508  0.22935265
vt  0.74367559  0.97083330
vt  0.51006329  0.79270834
vt  0.74367559  0.25833330
vt  0.51006329  0.43645829
vt  0.13505395  0.61458331
vt  0.01824777  0.61458331
vt  0.25186014  0.79270834
vt  0.25186014  0.97083330
vt  0.25186014  0.25833330
vt  0.97728801  0.61458331
vt  0.88968331  0.61458331
vt  0.74367559  0.39192706
vt  0.74367559  0.83723956


g Inside
usemtl Inside
f 1/9 2/1 3/2
f 4/4 5/3 6/13
f 7/12 4/4 6/13
f 5/8 4/10 1/9
f 1/9 4/10 2/1
f 8/11 7/12 6/13
g Base
usemtl Base
f 8/5 9/21 7/20
f 3/6 2/7 10/22
f 7/20 11/19 4/18
f 2/7 4/18 11/19
f 7/20 9/21 11/19
f 10/22 2/7 11/19
g Top
usemtl Top
f 6/26 9/14 8/15
f 10/16 1/25 3/17
f 10/16 11/23 1/25
f 6/26 11/23 9/14
f 11/23 5/24 1/25
f 5/24 11/23 6/26


ta

*first version of these done already, see following posts
 

Attachments

  • 25iw1n7.gif
    25iw1n7.gif
    117.8 KB · Views: 97
  • 30njacw.jpg
    30njacw.jpg
    4.9 KB · Views: 80
Last edited by a moderator:
torpor said:
Okay this looks great Monk, I really like the little ship model you've done so far, thats what I was hoping you would do.

Glad you like it. I have more planned but, as I think I've stated elsewhere, I'm fitting this in-between a fairly busy schedule. It's one thing to make random forum posts during the day, quite another to make even simple-looking little models (with my tools and skill set, at least). But I'll try to get a couple more done throughout the day.

Thanks to Vorporeal, BTW, for giving me a target poly count - it's helped push me to hone the V craft into something a bit better (IMHO) than the original simple extrusion. More "3D" somehow (it's not a simple rectangle from ANY direction now) and lower poly count.
 
Last edited by a moderator:
If anyone wants to improve on the basic ball/sphere model - please do! In the meantime, here's how it looks:

sv6igz.gif


and the Template:
au8ikx.jpg


and the model (Ball 001aUV.obj):
Code:
# NumVerts/NumTVerts/NumVNormals/NumFacets   42/64/0/50
# NumGroups/NumMaterials/NumRegions   1/0/0
# x/y/color/ppu   1024/512/0/50.00000000

v  0.00000000 -2.00000000  0.00000000
v  0.00000000  2.00000000  0.00000000
v  1.17557001 -1.61803401  0.00000000
v  0.95105600 -1.61803401 -0.69098300
v  0.36327100 -1.61803401 -1.11803401
v -0.36327100 -1.61803401 -1.11803401
v -0.95105600 -1.61803401 -0.69098300
v -1.17557001 -1.61803401  0.00000000
v -0.95105600 -1.61803401  0.69098300
v -0.36327100 -1.61803401  1.11803401
v  0.36327100 -1.61803401  1.11803401
v  0.95105600 -1.61803401  0.69098300
v  1.90211296 -0.61803401  0.00000000
v  1.53884196 -0.61803401 -1.11803401
v  0.58778501 -0.61803401 -1.80901694
v -0.58778501 -0.61803401 -1.80901694
v -1.53884196 -0.61803401 -1.11803401
v -1.90211296 -0.61803401  0.00000000
v -1.53884196 -0.61803401  1.11803401
v -0.58778501 -0.61803401  1.80901694
v  0.58778501 -0.61803401  1.80901694
v  1.53884196 -0.61803401  1.11803401
v  1.90211296  0.61803401  0.00000000
v  1.53884196  0.61803401 -1.11803401
v  0.58778501  0.61803401 -1.80901694
v -0.58778501  0.61803401 -1.80901694
v -1.53884196  0.61803401 -1.11803401
v -1.90211296  0.61803401  0.00000000
v -1.53884196  0.61803401  1.11803401
v -0.58778501  0.61803401  1.80901694
v  0.58778501  0.61803401  1.80901694
v  1.53884196  0.61803401  1.11803401
v  1.17557001  1.61803401  0.00000000
v  0.95105600  1.61803401 -0.69098300
v  0.36327100  1.61803401 -1.11803401
v -0.36327100  1.61803401 -1.11803401
v -0.95105600  1.61803401 -0.69098300
v -1.17557001  1.61803401  0.00000000
v -0.95105600  1.61803401  0.69098300
v -0.36327100  1.61803401  1.11803401
v  0.36327100  1.61803401  1.11803401
v  0.95105600  1.61803401  0.69098300

vt  0.79999995  0.19999991
vt  0.90000004  0.19999993
vt  0.00000000  0.39999998
vt  0.00000000  0.19999999
vt  0.09999992  0.39999998
vt  0.09999990  0.19999999
vt  0.29999995  0.39999998
vt  0.19999994  0.40000001
vt  0.39999995  0.40000001
vt  0.79999995  0.39999998
vt  1.00000000  0.60000002
vt  0.89999998  0.40000001
vt  1.00000000  0.39999998
vt  0.09999992  0.60000002
vt  0.49999997  0.60000002
vt  0.39999995  0.60000002
vt  0.49999997  0.39999998
vt  0.59999996  0.39999998
vt  0.69999999  0.40000001
vt  0.89999998  0.60000002
vt  0.90000004  0.80000007
vt  0.00000000  0.60000002
vt  0.29999995  0.80000007
vt  0.19999990  0.80000007
vt  0.19999994  0.60000002
vt  0.29999995  0.60000002
vt  0.49999997  0.80000001
vt  0.59999996  0.60000002
vt  0.69999999  0.60000002
vt  0.69999993  0.80000007
vt  0.79999995  0.60000002
vt  0.85000002  0.00000000
vt  0.85000002  1.00000000
vt  0.79999995  0.80000007
vt  1.00000000  0.19999999
vt  0.95000005  0.00000000
vt  0.95000005  1.00000000
vt  1.00000000  0.80000001
vt  0.04999995  0.00000000
vt  0.04999995  1.00000000
vt  0.00000000  0.80000001
vt  0.09999990  0.80000001
vt  0.19999990  0.19999993
vt  0.14999990  0.00000000
vt  0.14999990  1.00000000
vt  0.29999995  0.19999991
vt  0.24999991  0.00000000
vt  0.24999991  1.00000000
vt  0.34999996  0.00000000
vt  0.34999996  1.00000000
vt  0.39999998  0.19999993
vt  0.44999999  0.00000000
vt  0.44999999  1.00000000
vt  0.39999998  0.80000007
vt  0.49999997  0.19999999
vt  0.54999995  0.00000000
vt  0.54999995  1.00000000
vt  0.59999990  0.80000001
vt  0.59999990  0.19999999
vt  0.64999992  0.00000000
vt  0.64999992  1.00000000
vt  0.69999993  0.19999993
vt  0.74999994  0.00000000
vt  0.74999994  1.00000000


g Figure 1
f 14/12 13/10 3/1 4/2
f 15/13 14/12 4/2 5/35
f 16/5 15/3 5/4 6/6
f 17/8 16/5 6/6 7/43
f 18/7 17/8 7/43 8/46
f 19/9 18/7 8/46 9/51
f 20/17 19/9 9/51 10/55
f 21/18 20/17 10/55 11/59
f 22/19 21/18 11/59 12/62
f 13/10 22/19 12/62 3/1
f 24/20 23/31 13/10 14/12
f 25/11 24/20 14/12 15/13
f 26/14 25/22 15/3 16/5
f 27/25 26/14 16/5 17/8
f 28/26 27/25 17/8 18/7
f 29/16 28/26 18/7 19/9
f 30/15 29/16 19/9 20/17
f 31/28 30/15 20/17 21/18
f 32/29 31/28 21/18 22/19
f 23/31 32/29 22/19 13/10
f 34/21 33/34 23/31 24/20
f 35/38 34/21 24/20 25/11
f 36/42 35/41 25/22 26/14
f 37/24 36/42 26/14 27/25
f 38/23 37/24 27/25 28/26
f 39/54 38/23 28/26 29/16
f 40/27 39/54 29/16 30/15
f 41/58 40/27 30/15 31/28
f 42/30 41/58 31/28 32/29
f 33/34 42/30 32/29 23/31
f 4/2 3/1 1/32
f 2/33 33/34 34/21
f 5/35 4/2 1/36
f 2/37 34/21 35/38
f 6/6 5/4 1/39
f 2/40 35/41 36/42
f 7/43 6/6 1/44
f 2/45 36/42 37/24
f 8/46 7/43 1/47
f 2/48 37/24 38/23
f 9/51 8/46 1/49
f 2/50 38/23 39/54
f 10/55 9/51 1/52
f 2/53 39/54 40/27
f 11/59 10/55 1/56
f 2/57 40/27 41/58
f 12/62 11/59 1/60
f 2/61 41/58 42/30
f 3/1 12/62 1/63
f 2/64 42/30 33/34


As with the original V craft model, this is fairly quick and dirty and could potentially benefit from more care and attention - but it does about what I'd expect of it for now so it's "good enough" if a little high on polys.

Oops - and I forgot we were meant to be trimming down to only tris. Which will increase the poly count... I'll get back to it anon if no-one beats me to it.
 

Attachments

  • sv6igz.gif
    sv6igz.gif
    60.9 KB · Views: 101
  • au8ikx.jpg
    au8ikx.jpg
    13.1 KB · Views: 80
OK - not unhappy with this model. Called "GreenCube" you should easily be able to identify its origins if you have the "GridWars54" game.

The design isn't 100% as I'd like it, since it has duplicate vertices where the corners meet - something I can't easily fix with the software/skills at hand without ruining the UV Mapping. the model is grouped and textured such that the texture map is very simple and represents one corner - and each corner has it's own "material". This means that it should be very easy to texture each corner identically, or differently, or indeed render only a subset of corners (perhaps one corner could vanish each time the model is hit by a laser bolt?). Each corner here is textured differently to illustrate this, even including one "transparent"/"outlined" corner.

Animation:
al19xt.gif


Template:
e7jrif.jpg


Model (GreenCube 001dUV.obj)
Code:
# NumVerts/NumTVerts/NumVNormals/NumFacets   32/6/0/32
# NumGroups/NumMaterials/NumRegions   1/8/0
# x/y/color/ppu   512/512/0/50.00000000

mtllib GreenCube 001dUV.mtl

v  2.00000000 -2.00000000  2.00000000
v  2.00000000  0.00000000  2.00000000
v  0.00000000 -2.00000000  2.00000000
v  2.00000000 -2.00000000  0.00000000
v -2.00000000 -2.00000000  2.00000000
v -2.00000000  0.00000000  2.00000000
v -2.00000000 -2.00000000  0.00000000
v  0.00000000 -2.00000000  2.00000000
v -2.00000000 -2.00000000 -2.00000000
v -2.00000000  0.00000000 -2.00000000
v  0.00000000 -2.00000000 -2.00000000
v -2.00000000 -2.00000000  0.00000000
v  2.00000000 -2.00000000 -2.00000000
v  2.00000000  0.00000000 -2.00000000
v  2.00000000 -2.00000000  0.00000000
v  0.00000000 -2.00000000 -2.00000000
v -2.00000000  2.00000000  2.00000000
v -2.00000000  0.00000000  2.00000000
v  0.00000000  2.00000000  2.00000000
v -2.00000000  2.00000000  0.00000000
v -2.00000000  2.00000000 -2.00000000
v -2.00000000  0.00000000 -2.00000000
v -2.00000000  2.00000000  0.00000000
v  0.00000000  2.00000000 -2.00000000
v  2.00000000  2.00000000 -2.00000000
v  2.00000000  0.00000000 -2.00000000
v  0.00000000  2.00000000 -2.00000000
v  2.00000000  2.00000000  0.00000000
v  2.00000000  2.00000000  2.00000000
v  2.00000000  0.00000000  2.00000000
v  2.00000000  2.00000000  0.00000000
v  0.00000000  2.00000000  2.00000000

vt  1.00000000  0.00000000
vt  1.00000000  1.00000000
vt  1.00000000  0.50000000
vt  0.50000000  0.50000000
vt  0.50000000  1.00000000
vt  0.00000000  0.50000000


g Figure 1
usemtl Corner8
f 1/4 2/6 3/5
f 1/3 4/4 2/1
f 4/4 1/3 3/2
f 3/5 2/6 4/4
usemtl Corner7
f 5/4 6/6 7/5
f 5/3 8/4 6/1
f 8/4 5/3 7/2
f 7/5 6/6 8/4
usemtl Corner6
f 9/4 10/6 11/5
f 9/3 12/4 10/1
f 12/4 9/3 11/2
f 11/5 10/6 12/4
usemtl Corner5
f 13/4 14/6 15/5
f 13/3 16/4 14/1
f 16/4 13/3 15/2
f 15/5 14/6 16/4
usemtl Corner4
f 17/4 18/6 19/5
f 17/3 20/4 18/1
f 20/4 17/3 19/2
f 19/5 18/6 20/4
usemtl Corner3
f 21/4 22/6 23/5
f 21/3 24/4 22/1
f 24/4 21/3 23/2
f 23/5 22/6 24/4
usemtl Corner2
f 25/4 26/6 27/5
f 25/3 28/4 26/1
f 28/4 25/3 27/2
f 27/5 26/6 28/4
usemtl Corner1
f 29/4 30/6 31/5
f 29/3 32/4 30/1
f 32/4 29/3 31/2
f 31/5 30/6 32/4
 

Attachments

  • al19xt.gif
    al19xt.gif
    142.3 KB · Views: 90
  • e7jrif.jpg
    e7jrif.jpg
    8.7 KB · Views: 76
I wouldn't mind some guidance on whether I'm being rude posting so many images/animations, or including the model definitions here, or not including copyright/copyleft/legal borrock comments all over the place.

Here's a couple more simple models - note that the textures/templates are REALLY rough - just for test purposes - ideally I'd see these being rendered as wireframe for now rather than using these templates... and I don't want to get TOO involved on textures so early if I can avoid it.

Still, here's the Pyramid...

Animation:
nvo1aw.gif


Template:
2505n5l.jpg


and model (Pyramid 001UV.obj)
Code:
# NumVerts/NumTVerts/NumVNormals/NumFacets   5/16/0/6
# NumGroups/NumMaterials/NumRegions   1/0/0
# x/y/color/ppu   128/96/0/50.00000000

v -2.00000000 -2.00000000  2.00000000
v  2.00000000 -2.00000000  2.00000000
v  2.00000000 -2.00000000 -2.00000000
v -2.00000000 -2.00000000 -2.00000000
v  0.00000000  2.00000000  0.00000000

vt  0.99404764  0.03422615
vt  0.99404764  0.46779758
vt  0.68138766  0.46779758
vt  0.00297619  0.04067803
vt  0.31662872  0.04067803
vt  0.15980247  0.47295910
vt  0.34450895  0.04067803
vt  0.65816146  0.04067803
vt  0.50133520  0.47295910
vt  0.34093568  0.50392860
vt  0.65359563  0.50392860
vt  0.49726570  0.93750000
vt  0.68138766  0.50392860
vt  0.99404764  0.50392860
vt  0.83771765  0.93750000
vt  0.68138766  0.03422615


g Pyramid
f 3/1 2/2 1/3
f 2/4 3/5 5/6
f 3/7 4/8 5/9
f 4/10 1/11 5/12
f 1/13 2/14 5/15
f 4/16 3/1 1/3


...and the Diamond

Animation:
1jt8jc.gif


Template:
1269vyu.png


Model (Diamond 001bUV.obj):
Code:
# NumVerts/NumTVerts/NumVNormals/NumFacets   6/16/0/8
# NumGroups/NumMaterials/NumRegions   1/0/0
# x/y/color/ppu   128/79/0/50.00000000

v -2.00000000  0.00000000  0.00000000
v  0.00000000  0.00000000  2.00000000
v  2.00000000  0.00000000  0.00000000
v  0.00000000  0.00000000 -2.00000000
v  0.00000000  2.00000000  0.00000000
v  0.00000000 -2.00000000  0.00000000

vt  0.01041667  0.76348150
vt  0.22948904  0.99255955
vt  0.22948904  0.53440356
vt  0.44856131  0.76348150
vt  0.98216552  0.26078263
vt  0.76333660  0.03125009
vt  0.76333660  0.49031514
vt  0.54450762  0.26078263
vt  0.01041667  0.26714590
vt  0.44856131  0.26714590
vt  0.22948904  0.49622393
vt  0.22948904  0.03806791
vt  0.77033544  0.99210507
vt  0.55108768  0.76302701
vt  0.77033544  0.53394902
vt  0.98958331  0.76302701


g Diamond
f 1/1 2/3 5/2
f 2/3 3/4 5/2
f 3/5 4/7 5/6
f 4/7 1/8 5/6
f 2/11 1/9 6/12
f 3/10 2/11 6/12
f 4/13 3/14 6/15
f 1/16 4/13 6/15

The next 2 I want to tackle are probably going to be "PurpleCube" and "Byte" (from Kernel Panic design). Possibly a simple bullet, too.

@torpor - a couple of quick queries if I may.

1. Do I REALLY have to do without quads? They just make some models - like the sphere - look a bit neater IMHO. If I must, I must, but it'll affect upcoming designs too.

2. Can I assume we'll be able to see tris from both directions? I.E. if I have a single flat tri, all by itself, will I be able to see it, outlined or shaded, from both sides? If I can that simplifies a few model ideas I have by quite a lot (including "PurpleCub" - so I may skip that for now and move on to "Byte"). Any attempt at "pinkpinwheel" in 3D is likely to benefit tremendously from being able to see polys from both sides (or suffer tremendously - in terms of poly count and UV mapping time - from being unable to do so).

Ta,
 

Attachments

  • nvo1aw.gif
    nvo1aw.gif
    151.1 KB · Views: 88
  • 2505n5l.jpg
    2505n5l.jpg
    10.6 KB · Views: 83
  • 1jt8jc.gif
    1jt8jc.gif
    105.4 KB · Views: 99
  • 1269vyu.png
    1269vyu.png
    4.2 KB · Views: 92
Just to give you some feedback: as soon as I get home tonight I'll be loading this thread and taking your products to see if I can get a cheap and fast implementation within the engine, so .. keep it up and don't worry! :)

BTW, I like it that you're including template textures, for me its a bit easier to have the texture array as well .. so don't stop doing that please!

One thought - things are getting *really* 3D. :) Sure you don't want to make them a little flatter .. heh heh ..

EDIT: yes please, tris only for now. Let me get your models so far, integrated into the engine and we'll see how things start to look .. would be good if you could do a repeating-tile texture for the ground too, incidentally ..
 
torpor said:
:: Porting the existing GW code? If we get BlitzMax Basic on Pandora, sure thing .. or we can cross-port it to a new language, even python+pyglet would be nice, since its very much more accessible to newbies than a C++ project would be.
Translating the BlitzMax code looks like a nice possibility. Note however it uses OpenGL.
 
Last edited by a moderator:
It could be possible to translate the Blitzmax code, or at least use it as inspiration for our own clone of the game ..
 
torpor said:
Just to give you some feedback: as soon as I get home tonight I'll be loading this thread and taking your products to see if I can get a cheap and fast implementation within the engine, so .. keep it up and don't worry! :)

Feedback is good. I like to get feedback :)

torpor said:
BTW, I like it that you're including template textures, for me its a bit easier to have the texture array as well .. so don't stop doing that please!

Oh, I intend to - but before long we'll probably want higher resolution ones. Or at least ones with a little more care taken (some models LOOK as if they're splitting apart - they aren't, that's because the templates are a bit too rough for the render enginge I used).

torpor said:
One thought - things are getting *really* 3D. :) Sure you don't want to make them a little flatter .. heh heh ..

Well we COULD just squash these fairly easily, but I'm inclined to make them really really 3D if only because it opens up rotating around that extra dimension as a viable possibility and... why not? If we're going 3D, let's go the whole way... and they should look pretty flat from directly above. I've been thinking we might want to be able to switch between the 2 views (or more?) midgame. On a whim, basically.

I'm intruiged to see just how fast this will all go on a Pandora with loads of the darned things swarming around.

torpor said:
EDIT: yes please, tris only for now. Let me get your models so far, integrated into the engine and we'll see how things start to look .. would be good if you could do a repeating-tile texture for the ground too, incidentally ..

OK - well, you won't be able to use the sphere for a bit then as it used some quads. But that's the most boring model ANYWAY, so no real loss in the short term.

You want a ground mesh from me? Give me an idea what size (in terms of how many models wide by how many models deep) and I'll see what I can do (it OUGHT to be easy but I haven't produced a floor with a tileable map before, so we'll see).

I'll stick with the tris, and assume for now that we can only see one side of a tri. On which basis, here's "Magenta Cube".

Animation:
152j5p0.gif


I can't do them all as wireframey, I'd get bored... and I think these should look reasonably good filled in too, with luck.

Template:
mtuft4.jpg


Model (MagentaeCube 001eUV.obj):
Code:
# NumVerts/NumTVerts/NumVNormals/NumFacets   14/22/0/24
# NumGroups/NumMaterials/NumRegions   1/1/0
# x/y/color/ppu   128/96/0/50.00000000

v  0.00000000 -0.20000000  0.00000000
v  2.00000000  2.00000000  2.00000000
v  0.00000000  0.20000000  0.00000000
v -2.00000000  2.00000000 -2.00000000
v  0.00000000  0.00000000 -0.20000000
v  2.00000000  2.00000000 -2.00000000
v  2.00000000 -2.00000000 -2.00000000
v  0.20000000  0.00000000  0.00000000
v  0.00000000  0.00000000  0.20000000
v  2.00000000 -2.00000000  2.00000000
v -2.00000000  2.00000000  2.00000000
v -0.20000000  0.00000000  0.00000000
v -2.00000000 -2.00000000 -2.00000000
v -2.00000000 -2.00000000  2.00000000

vt  0.25000000  0.00000000
vt  0.25000000  0.33333334
vt  0.37500000  0.16666667
vt  0.50000000  0.00000000
vt  0.50000000  1.00000000
vt  0.50000000  0.66666663
vt  0.37500000  0.83333331
vt  0.25000000  0.66666663
vt  0.25000000  1.00000000
vt  1.00000000  0.66666669
vt  0.87500000  0.50000000
vt  1.00000000  0.33333334
vt  0.75000000  0.66666669
vt  0.50000000  0.33333334
vt  0.62500000  0.50000000
vt  0.75000000  0.33333334
vt  0.37500000  0.50000000
vt  0.50000000  0.66666669
vt  0.12500000  0.50000000
vt  0.00000000  0.66666669
vt  0.00000000  0.33333334
vt  0.25000000  0.66666669


g MagentaCube
usemtl MagentaCube
f 13/1 1/3 14/2
f 13/1 7/4 1/3
f 1/3 10/14 14/2
f 1/3 7/4 10/14
f 6/5 3/7 2/6
f 6/5 4/9 3/7
f 3/7 11/8 2/6
f 3/7 4/9 11/8
f 6/13 5/11 4/10
f 6/13 7/16 5/11
f 5/11 13/12 4/10
f 5/11 7/16 13/12
f 2/18 8/15 6/13
f 2/18 10/14 8/15
f 8/15 7/16 6/13
f 8/15 10/14 7/16
f 11/22 9/17 2/18
f 11/22 14/2 9/17
f 9/17 10/14 2/18
f 9/17 14/2 10/14
f 4/20 12/19 11/22
f 4/20 13/21 12/19
f 12/19 14/2 11/22
f 12/19 13/21 14/2

Did you want any "morph" (alternate forms) of any of these? For example, I could provide an alternate Magenta cube that has the same vertex count, in the same order, yadda yadda that would provide a good alternate to "morph" into and back from - make it breath pulsatingly in the game, kind of thing. Maybe I should animate it to show what I mean?

Ta,
 

Attachments

  • mtuft4.jpg
    mtuft4.jpg
    9.6 KB · Views: 76
  • 152j5p0.gif
    152j5p0.gif
    155.4 KB · Views: 83
Last edited by a moderator:
Before we start getting into morphing these models, lets just get the existing set plugged in and see how it looks .. I'll do some more on this tonight, gotta get back to normal boring work now (hacking ELF, grr...)
 
torpor said:
Before we start getting into morphing these models, lets just get the existing set plugged in and see how it looks .. I'll do some more on this tonight, gotta get back to normal boring work now (hacking ELF, grr...)


Oops. You wouldn't want to see an example morph code then:

Code:
v 0 -0.2 0
v 1 1 1
v 0 0.2 0
v -1 1 -1
v 0 0 -0.5
v 1 1 -1
v 1 -1 -1
v 0.5 0 0
v 0 0 0.5
v 1 -1 1
v -1 1 1
v -0.5 0 0
v -1 -1 -1
v -1 -1 1

or the resulting action - LOOK AWAY!

20iv3g9.gif


I tend to think about morphs while building models, so doing a single simple morph usually isn't much effort at all for models this simple. Though IMHO I should have made the middle come out more...hmm, maybe come out so far that it bulges...but I digress.

Unfathomable Depths said:
Loving the 'Magenta Cube'

So simple but so nice. Excellent work :)

Thank eee kindly :D I'm finding them a bit fiddly, but quite fun. More fun than anything else I've got going on at the moment. Also, by doing simple shapes I'm hoping it'll be easier for someone to show how it should REALLY be done, and do something really nice with just a few polys :)
 

Attachments

  • 20iv3g9.gif
    20iv3g9.gif
    98.1 KB · Views: 95
Last edited by a moderator:
Back
Top