Forum Replies Created
-
AuthorPosts
-
Xaron has made the point I was going to make – those numbers are going to keep going up. If it’s possible to have some user control to turn certain features on or off depending on how compatible people need it then that would help but otherwise v3 sounds a bit more future proof.
I’ve started a github repository for my monkey2 tutorials. I’m breaking everything down into parts and at the moment it is just heavily commented code (keeping it as simple as possible) which should still be useful. It should end up being quite a few parts and I might create a video tutorial for each part including the making of each effect used in TimelineFX.
@Mark I’m still using a “Me” field to self reference the object so that it can be passed into the ChipMunk queries but I’m not sure how bad practice that is (it seems to work fine so far). You mentioned about updating the chipmunk module to change how this works with regards to passing monkey objects, any news on that (I know you’re busy!)? Or am I safe to keep using the Me method?
Github: https://github.com/peterigz/Monkey2Tutorials
You need to use “WindowFlags.Fullscreen” when you create the window for fullscreen:
Monkey123456789101112Method New()Super.New("Splash",800,600,WindowFlags.Fullscreen)image=Image.Load( "asset::splash.png" )image.Handle=New Vec2f( .5,.5 )Self.Layout="letterbox"Self.Style.BackgroundColor=New Color(52, 48, 39)Self.MinSize=New Vec2i(800,600)Self.MaxSize=New Vec2i(800,600)Self.ClearColor=Color.Black ' New Color(52, 48, 39,0)Mouse.PointerVisible=False'Self.BeginFullscreen()EndI’m not sure about the border, it will be somewhere along these lines i think:
Monkey12Self.Style.BorderColor = New Color(1,1,1,1)Self.Style.Border = New Recti(5, 5, 5, 5)Also, note that color ranges from 0-1 for example red would be: New Color(1, 0 , 0, 1)
Anyone watch Johnathon Blow’s streams? I don’t understand everything but they’re quite interesting, there’s a bit here where he talks about how he manages gl extensions in his renderer/engine: https://youtu.be/g2F0Yg17ZfU?t=41m3s.
Nice one Mark!
I think as long as the 3d engine is as easy to extend and modify as possible then most users wishes would be met quite easily either by extending it themselves or using other people’s extensions. If all of the classes can be extended and their methods overridden etc., then that’d be cool – don’t know how possible that is… I’m also thinking a good custom shader system here as well.
Either way good luck with it mark
I was thinking of just creating a separate mod just to have a play around but my opengl/sdl is a bit limited, fun to learn though
I see, I also liked the look of how three.js does it as well from what I’ve seen of that.
Looks great
Ideally, as shinkiro mentions, we can get this mojo working the same as monkey-x mojo2, I was browsing that code yesterday and the shaders look much more accessible and less messy. It looks like the scalars/uniforms are implemented in the materials. I wonder how easy it’d be to replicate that functionality? Copy and paste the code and fix all the errors until it works maybe? That’d be my brute force approach lol
January 20, 2017 at 9:02 am in reply to: Maybe we should give up on the BlitzMax crowd and close the forum. #6659The brl forums are important. Everyone there who’s a sceptic today, can be a convert tomorrow. How to convert? Make amazing stuff with Monkey 2. Get coding peeps
Actions speak louder than words and all that.
January 19, 2017 at 2:01 pm in reply to: Maybe we should give up on the BlitzMax crowd and close the forum. #6637I understand and it’s fine, and important in a few ways. The hypothesis is: Monkey 2 is a great language with lot’s of potential and worth investing in. Every good scientist who has a hypothesis doesn’t try to reaffirm that to be true, they look for things that might prove it to be false. And if it stands up to that scrutiny then you’re in a much better position than when you believed in it with just faith.
And the critical scrutiny can also help to highlight and correct flaws too. I’m supporting Monkey 2 but will remain open to hearing all the good and the bad about it. Docs are bad for one, and as I get time I’ll help with that at least
Good for you impixi! I’m glad you’ve made it public because is eases a lot of worry over how “solid” the commitment was, so that’s great news!
@mark See my earlier post about having other incentives for higher pledges (edit: and Richard just reiterated above) as now is the time or the initial enthusiasm will wain, you can already see the psychological effect it has on people who are already suggesting they will pledge more after being inspired (and now feel more confident) by impixi.
You can also have a sponsors advertising area on the home page (and on the other blitz sites) for people who pledge a certain amount, like this guy: http://www.mapeditor.org/
That’d be good
What is the risk of using a self referencing field in a class? I didn’t quite follow what you said on github?
I just posted on github and closed that as it makes sense now, here’s updated code, a field that references itself seems a bit funny, but why not? If you have a gameobject, that has a cpShape as field that needs to reference the gameobject when passed to a callback, then it seems like an ok solution to me:
Monkey123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120#Import "<std>"#Import "<mojo>"#Import "<chipmunk>"#Import "chipmunkdebugger"Using std..Using mojo..Using chipmunk..Struct somedataField value:IntEndClass HelloChipmunk Extends WindowField space:cpSpaceField ground:cpShapeField ballBody:cpBodyField ballShape:cpShapeField ballBody2:cpBodyField ballShape2:cpShapeField polyBody:cpBodyField polyShape:cpShapeField gameobject:AGameObjectField something:String = "App String"Field debugger:=New ChipmunkDebuggerMethod New()ClearColor=Color.Black'Create a new space and set its gravity to 100'space=cpSpaceNew()space.Gravity=cpv( 0,1000 )gameobject=New AGameObjectgameobject.CreateShape(space)EndMethod OnRender( canvas:Canvas ) OverrideApp.RequestRender()Const timeStep:=1.0/60.0space.StepTime( timeStep )' Local rot:=ballBody.Rotation' Local pos:=ballBody.Position' Local vel:=ballBody.Velocity' Print "ball rot="+ATan2( rot.y,rot.x )+", pos.x="+pos.x+", pos.y="+pos.y+", vel.x="+vel.x+", vel.y="+vel.yLocal spacefilter:=cpShapeFilterNew(ULong(0), UInt(1), UInt(1) )Local Test:=SelfcpSpaceBBQuery(space, cpBBNew(0,0,640,480), spacefilter, CallBack, Varptr Test)canvas.Translate( Width/2, Height/2 )debugger.DebugDraw( canvas,space )EndFunction CallBack:Void(shape:cpShape, p:Void Ptr)Local data:=Cast<AGameObject Ptr>(shape.UserData)[0]Local app:=Cast<HelloChipmunk Ptr>(p)[0]If dataPrint app.somethingPrint data.TestEndEndMethod Cleanup() 'Yeah, right!cpShapeFree( ballShape )cpBodyFree( ballBody )cpShapeFree( ground )cpSpaceFree( space )EndEndClass AGameObjectField Test:Int = 999Field body:cpBodyField shape:cpShapeField Me:AGameObjectMethod New()Me = SelfEndMethod CreateShape(space:cpSpace)body= cpBodyNewStatic()body.Position = cpv(100,100)space.AddBody(body)shape = cpBoxShapeNew(body, 50, 50, 0.0)shape.Friction = 1shape.UserData = Varptr(Me)space.AddShape(shape)EndEndFunction Main()New AppInstanceNew HelloChipmunkApp.Run()EndYeah I tried that but it didn’t make any difference here on Windows 10 – I should try on my Mac as well really. I think the memory pointer doesn’t point to the right place for whatever reason but I guess you need to run it though a proper c debugger to get a better idea of what’s going on, hopefully Mark can do that.
Agree with codifiles there, gameplay definitely king! A lot of my interest lies in performance boosts. I’ve wondered if I can upload the data of a particle effect into a texture and render/process the whole effect on the card. Definitely something I want to investigate more at some point.
-
AuthorPosts