my 3d platformer/rpg engine.

Community Forums/Showcase/my 3d platformer/rpg engine.

(tu) sinu(Posted 2006) [#1]
info: The engine is a 3d game engine(like a nintendo game) and includes basic stuff such as ai, jumping, edge grabbing/climbing n reacting to ledge drops ie zelda, plus move modes ie walk, jog, run, simple dialogue for now, scripting using bvm, some clever collision hacks using ng.
You can modify alot of the gamethrough scripts with simple commands ie attachcontroller, detachcontroller, attachcamera etc plus camera/actor/environment/variable controls.
Im hoping to make it into a small rpg demo with my own art n story once the engine is further along.

http://neonavis.com/sinudemo.rar
http://neonavis.com/sinudemo.zip






WendellM(Posted 2006) [#2]
Sounds interesting, how big is it? If only a few megs, I'd be glad to put it on my site (http://neonavis.com) for a few months.

You can email it to me via the "decoded" address in my profile, and I'll post a link here for you to distribute.

BTW, the imageshack links in your post above work if clicked, but their images don't show in the post itself. And the characters in them look very Nintendo-ish - you might want to consider changing them some more to avoid copyright problems.


(tu) sinu(Posted 2006) [#3]
Demo comes to 2mb rar'd up.
The models were of someone who said they ripped them from gc games? won't be using them, just rigged and animated them.
i've sent it to you, some example scripts are included to browse at.


WendellM(Posted 2006) [#4]
I took the liberty of creating a .zip version since some folks prefer that. The links are:

http://neonavis.com/sinudemo.rar
http://neonavis.com/sinudemo.zip

I see that you use BVM - that's a great system (I hope that Koriolis is still planning a BlitzMax version). Your demo runs fast, too.

Good luck!


(tu) sinu(Posted 2006) [#5]
Thanks, i was going to post it in zip to you but i always prefer rar :)
i've been using the demo of bvm as i haven't got my email add working to purchase it on shareit.
Bvm is awesome and i recoded alot my engine just to use it.


RifRaf(Posted 2006) [#6]
I wouldnt have bothered rigging mario bros. models, since you cant use them. Lots of work for nothing.


(tu) sinu(Posted 2006) [#7]
i only rigged them to use while coding cos looking at crap models is less inspiring and using aaa stuff is more motivating.
ps rigging didn't take much effort, they are low poly and not carefully rigged, just useable.


IPete2(Posted 2006) [#8]
Sinu,

This is fab. OK it is simple but it looks lovely. Nintendo on the PC in B3d thats what we needed to brighten up our day thanks.

Im really interested in your engine, will you please give us more details about it? Are you planning a development web site for it?

IPete2.


Koriolis(Posted 2006) [#9]
Apologizes for digging up an old thread. But this was a good occasion to tell why I'm not lurking here these days: simply because I lost my home access to the net - a problem that seem harder to resolve than expected, damns these providers... :/
Until it's resolved I can access the net *very* rarely as we're not even connected where I work, for security and internal policy reasons. Anyway.

I hope that Koriolis is still planning a BlitzMax version
Yes I sure do, even if saying this may seem like a running joke from my part.
A simple fact though: my current build of BVM 2 beta is running on the Mac (PowerPC), Windows, and Linux. All hope is not lost then :)
But I will not ask anyone to hold his breath, you know the usual "it'll be ready when it's ready".

Sinu, I can't wait to test your demo. I'll check that at home.


daaan(Posted 2006) [#10]
Sinu, these models are fantastic! Please make a mario mini game, please!


Neuro(Posted 2006) [#11]
heh...theres actually a time limit to it


(tu) sinu(Posted 2006) [#12]
Hi, i've been hard at work, creating a basic editor this past week plus i've changed the way scripting for the engine and game objects works.

They will have scripts for different events (think nwn) so objects like a chest have OnActivate, OnOpen, OnClose etc
Npc's will have OnSpeak, OnActivate, OnTouch, OnEnter, OnExit etc
Maps will have OnEnter, OnExit, OnHeart (all objects have this but it can hurt performance if alot of entities have it running).

@danielwooden
That was my plan many years back but i have gone past that now, im trying to make tools for other people to do this :)

I'll post in the work logs when i get time with more indepth detail.

@Koriolis

I really look forward to BVM2, any new features we can look forward to?
Blitzarrays? don't really need them but would be nice
Constants in the commandsets?
I'd love it if users could extend upon my Types by adding extra fields although i don't know how you would do that.
I have work arounds but they are messy.


scribbla(Posted 2006) [#13]
this looks and moves great
the control on the player and camera are awesome

one Personnel gripe , i think it needs the player and camera controls switched around i hate wasd ;)

great work :)


(tu) sinu(Posted 2006) [#14]
@Scribbla

Nothing is hardcoded so if i make my control system accessible in script you can change it, the camera system is actually very basic and i plan one which has auto adjustment if player is obscured or for better gameplay viewing.


scribbla(Posted 2006) [#15]
sounds very interesting


Koriolis(Posted 2006) [#16]
I really look forward to BVM2, any new features we can look forward to?
The most important one is probably the OOP extension. Reflection is more than handy too, especially for you: you'll be able to write an editor that let the user spawn new object and edit their properties. All in a generic way (no need for custom type for each and every script type).
Blitzarrays? don't really need them but would be nice
They're in.
Constants in the commandsets?
That too. Though you'll probably want to use the provided list type instead :)
I'd love it if users could extend upon my Types by adding extra fields although i don't know how you would do that.
If you mean extending types of the host app, then no, not directly. If you mean extending your script types, then yes. And of course if really needed you can always wrap an host app type with a script type, and users could then extend it.

Side note: initially it will be released for BlitzMax only. The (back) port to Blitz3D/BlitzPlus will be done later, if there is enough interest for it. That said, porting back to Blitz3D/BlitzPlus is not too much work, as I stopped maintaining Blitz3D/BlitzPlus rather recently.
Also, I expect to support other host languages than Blitz*, again depending on the interest / needed work ratio. I already entirely revamped the whole invoker generation system to make the support of new languages much easier.

Last word: I'm pondering about doing some kind of public beta. Maybe start by just releasing the documnetation I already have, and later releasing a beta build to the registered BVM users. What do you think?

Oh, and I' almost forgot, I liked your demo.


(tu) sinu(Posted 2006) [#17]
Hey koriolis, can you tell us more about the OOP + Reflection?

Im already(rewriting at the moment) wrapping my host app types into my script types if this is correct way eg

;script type
Type TMonster
;my wrapped host type
field actor.TActor;contains all 3d stuff ie mesh,collisions
;animations
field bag.TInventory;another wrapped host type
field health%
field AttackPower%
End Type

This way users can add their own stats, variables etc to a object or create their own objects using my host app types.

Another thing koriolis, how would you go about saving script states, i can save everything from the host apps types but what about new user types, would they be required to do it?


Uber Lieutenant(Posted 2006) [#18]
I WANT SOURCE!

Aside from that, have camera movement controlled by the mouse (a la Splinter Cell), a lot of keyboards have a stroke limit so you can only push two or three buttons at a time. My laptop does this, so I can't move the character and move the camera at the same time.


(tu) sinu(Posted 2006) [#19]
The controls in the demo are just temp, users can have them how they wish, mouse,keyboard or joypad.

If you look in the scripts file of the demo, open the .bbs files with blitz ide/txt editor you will see how the old scripts were done.


Rimmsy(Posted 2006) [#20]
I really like it. Fantastic.


Uber Lieutenant(Posted 2006) [#21]
I'm mainly interested in the camera code and the collision detection/gravity calculation. Pretty solid what you have shown here.


(tu) sinu(Posted 2006) [#22]
The camera code is simple, you just need the right setup.
The collisions are pretty neat, i used the Nuclear Glory collision system just for the moving entity to moving entity collision, i've coded a lot of stuff myself like detecting edges to grab onto ala mario, zelda, splinter cell, prince of persia etc.

Im posting a worklog entry later on with more upto date info.


jhocking(Posted 2006) [#23]
Well, all the comments are certainly very provocative. I'll have to give this a try (next week unfortunately, since I'm headed out of town.)


Koriolis(Posted 2006) [#24]
Hey koriolis, can you tell us more about the OOP + Reflection?
Quickly:

OOP extension adds methods and inheritance in a similar way as BlitzMax.
Reflection lets you discover at runtime which types are loaded in the script, which are their fields, and to read/write them. With just a "type handle" you can present to the user the list of the fields of a given object, and let him edit them.

Another thing koriolis, how would you go about saving script states, i can save everything from the host apps types but what about new user types, would they be required to do it?
There is also a serialization extension that makes it mostly automatic (even handling cycles in the objects graph). By overriding a specific method you can even specialize the serialization for a given type.
In BVM 1 you'll have to do it manually. A logical solution would be to have the script (and not the host app) fire the serialization. Expose functions to serialize host app function in a file. The script will call these function whhen serializing the host app, and it will handle the serialization of the script types itself. Hope that helps.

See you later, dunno when I'll connect again.


jhocking(Posted 2006) [#25]
Hey, this was really nifty! A good example of how good art gives graphics a professional look, and not simply better technology.


(tu) sinu(Posted 2006) [#26]
Cheers jhocking, i've been doing my editor of late and completing my feature list, i got loads of cool stuff and won't post a demo until i have something more game like than just a blank level.

ps I realised in that demo i hadn't enabled the cool collisions between actors where if you run into each other you stagger back/forwards or side ways. If you have loads of actors onscreen it can get really funny fast like dominos!


Nmuta(Posted 2006) [#27]
Excellent. Nice job.


Ruz(Posted 2006) [#28]
looks great


Ruz(Posted 2006) [#29]
How did you do the shadows BTW?


(tu) sinu(Posted 2006) [#30]
I use shawn swift's shadow system.


Blitzplotter(Posted 2006) [#31]
Very impressive, never mind the detractors about the utilisation of Mario - it displays what your very capable engine is capable off.


(tu) sinu(Posted 2006) [#32]
Like i said, mario was used for demo purposes.
Im hoping to create some kind of generic character creator which can be used to make characters from base characters and add clothing etc.
Long way off though, along with my attempt at something of a speed tree clone :)


(tu) sinu(Posted 2006) [#33]
I just created a cool collision demo for this engine, it's like the mario 128 demo, will post it soon.


Avrigus(Posted 2006) [#34]
Cool, looking forward to it :-)


CodeOrc(Posted 2006) [#35]
what happen to the screenies? I hate DL'ing something if I cant see screenies first.


JustLuke(Posted 2007) [#36]
Sorry for resurrecting this old thread, but did you ever release that Mario 128-like demo, Sinu?? I really like your work and I'm interested in its progress.


(tu) sinu(Posted 2007) [#37]
i haven't released anything for a while, been trying to port this to bmax+tv3d+bvm2, time is sparse these days.

Keep using blitz3d for protyping and testing though but want this in dx9.


Xilvan(Posted 2007) [#38]
I can help you


(tu) sinu(Posted 2007) [#39]
thanks for the offer but all i really want/need help with is a good animator and modellor. I can programme everything myself.

ps this demo is a terrible version of what i have done so don't make any judgements from this. The newer stuff is awesome :-)


IPete2(Posted 2007) [#40]
Hey there Sinu!

My project is all but complete now, so I hope to say hi soon and see what new things you have created!

IPete2.