www.boolean.name

www.boolean.name (http://forum.boolean.name/index.php)
-   Monkey (http://forum.boolean.name/forumdisplay.php?f=163)
-   -   Monkey 2 (http://forum.boolean.name/showthread.php?t=20674)

Жека 11.12.2017 15:19

Monkey 2
 
Новый мощный современный язык + развивается = новые возможности,
и добрый почти как блитц! :)

Качать тут: https://blitzresearch.itch.io/monkey2

Форум и блог тут (en): http://monkeycoder.co.nz/forums/

Discord каналы тут (en/ru): https://discord.gg/pRcwCKw

Ниже пример простенького 3д приложения.
(меню File -- Templates -- Simple mojo3d app)
Заметьте, как легко добавляются постэффекты.
И PBR материалы из коробки.

Код:

Namespace myapp3d

#Import "<std>"
#Import "<mojo>"
#Import "<mojo3d>"

Using std..
Using mojo..
Using mojo3d..

Class MyWindow Extends Window
       
        Field _scene:Scene
       
        Field _camera:Camera
       
        Field _light:Light
       
        Field _donut:Model
       
        Field _bloom:BloomEffect
       
        Method New( title:String="Simple mojo3d app",width:Int=640,height:Int=480,flags:WindowFlags=WindowFlags.Resizable )

                Super.New( title,width,height,flags )
               
                _scene=Scene.GetCurrent()
               
                _scene.ClearColor=Color.Black
               
                _bloom=New BloomEffect
               
                _scene.AddPostEffect( _bloom )
               
                'create camera
                '
                _camera=New Camera
                _camera.Near=.1
                _camera.Far=100
                _camera.Move( 0,10,-10 )
                _camera.AddComponent<FlyBehaviour>()
               
                'create light
                '
                _light=New Light

                _light.RotateX( 90 )
               
                Local material:=New PbrMaterial( Color.Black )
                material.EmissiveFactor=New Color( 0,2,0 )
               
                _donut=Model.CreateTorus( 2,.5,48,24,material )
               
                _donut.Move( 0,10,0 )
        End
       
        Method OnRender( canvas:Canvas ) Override
       
                RequestRender()
               
                If Keyboard.KeyHit( Key.Escape ) App.Terminate()
               
                If Keyboard.KeyHit( Key.Space ) _donut.Visible=Not _donut.Visible
               
                _donut.Rotate( .2,.4,.6 )
               
                _scene.Update()
               
                _scene.Render( canvas,_camera )
               
                canvas.DrawText( "Width="+Width+", Height="+Height+", FPS="+App.FPS,0,0 )
        End
       
End

Function Main()

        New AppInstance
       
        New MyWindow
       
        App.Run()
End


Жека 02.02.2018 18:05

Ответ: Monkey 2
 
Сделали редизайн сайта, развивается потихоньку! :)

Arton 12.11.2019 23:42

Ответ: Monkey 2
 
Так, что с Манки 2?

Уже больше года не слежу. Смотрю, год не было обновлений, в комментариях на itch.io жалуются на недальновидность Марка.
Сайт-форум, блин, опять сдох и появился новый.

Всё, стагнация, движок умирант?

Randomize 13.11.2019 17:23

Ответ: Monkey 2
 
Стагнация началась после богоподобного BlitzMax.
Мартышка была попыткой приблизиться к прекрасному, но вышло даже не рядом. Проблема в том, что Марк пытался усидеть сразу на 2х стульях. С одной стороны он пилит сам язык, а с другой движок. Сильно увлекшись первым он забыл про второе и технически мартыха очень отсталая. То есть даже до уровня Blitz3D оно не дотягивает.

Считай, что Манки всё и Марк тоже всё.

ant0N 13.11.2019 18:16

Ответ: Monkey 2
 
Просрать такое большое и верное коммьюнити надо еще уметь.

Есть такой движок - Leadwerks, он вырос из блица и когда-то был братом близнецом xorse3d. Возможно, это то, каким мог бы быть Blitz3D 2.0

Код:

window = Window:Create()
context = Context:Create(window)

--Create a world
world = World:Create()

--Create a camera
local camera = Camera:Create()
camera:SetRotation(35,0,0)
camera:Move(0,0,-8)

--Create a light
local light = DirectionalLight:Create()
light:SetRotation(35,35,0)

--Enable navmesh debugging
camera:SetDebugNavigationMode(true)

--Create the ground
local ground = Model:Box(10,1,10)
ground:SetPosition(0,-0.5,0)
ground:SetColor(0.0,0.25,0.0)

--Create a shape
local shape = Shape:Box(0,0,0, 0,0,0, 10,1,10)
ground:SetShape(shape)
shape:Release()

--Create a model
--This is an obstacle the player will walk around
entity = Model:Box(1,1,3)
entity:SetColor(0.0,0.0,1.0)
entity:SetPosition(0,0.5,0)

--Create a shape
local shape = Shape:Box(0,0,0,0,0,0,1,1,3)
entity:SetShape(shape)
shape:Release()

--Enable navigation obstacles
ground:SetNavigationMode(true)
entity:SetNavigationMode(true)

--Build the navigation mesh
world:BuildNavMesh()

--Create a character
player = Pivot:Create()
local visiblecapsule = Model:Cylinder(16,player)
visiblecapsule:SetScale(1,2,1)
visiblecapsule:SetPosition(0,1,0)
player:SetPosition(-4,0,0)
player:SetMass(1)
player:SetPhysicsMode(Entity.CharacterPhysics)

while window:KeyHit(Key.Escape)==false do
        if window:Closed() then break end

      if (player) then player:GoToPoint(4,0,0,1.4,1) end

      Time:Update()
        world:Update()
        world:Render()

  context:SetBlendMode(Blend.Alpha)
        context:DrawText("NavMode: "..tostring(entity:GetNavigationMode()),2,2)

 context:Sync()
end


Arton 13.11.2019 20:08

Ответ: Monkey 2
 
Цитата:

Сообщение от Randomize (Сообщение 316804)
и технически мартыха очень отсталая. То есть даже до уровня Blitz3D оно не дотягивает.

Ну, это уже слишком утрировано.
Может ты с BlitzMax сравнивал?

Цитата:

Сообщение от ant0N (Сообщение 316805)
Есть такой движок - Leadwerks, он вырос из блица и когда-то был братом близнецом xorse3d. Возможно, это то, каким мог бы быть Blitz3D 2.0

Там тоже не всё однозначно насколько я знаю.
Хотя нет, судя по обновлениям в Стиме, живёт.

Я знаю ещё что сообщество разделилось, на Манки X, остались допиливать её сами, и Манки 2.
Да ещё БлицМакс до сих пор поддерживается, насколько я знаю.
Уж не говорю про Блиц3Д.

Да, круто аудитория разделилась, Марку бы собрать их вместе под одним движком, но думаю что уже поздно.
По мимо Обезьяны есть другие движки.
А Monkey X/2 даже искать неудобно, всё время игровые автоматы и Острова Обезьян поисковики выдают.


Ясно, спасибо. Продолжаю наблюдение за Годо.

P. S. Кстати, а каким образом Leadwerks вырос из Блица?

ant0N 13.11.2019 21:24

Ответ: Monkey 2
 
Цитата:

Кстати, а каким образом Leadwerks вырос из Блица?
Изначально это была просто библиотека для блица, как ксорс. Потом автор написал для нее ещё и редактор (до версии 4 редактор был написан на блицМакс)
На ранних порах автор лидверкса сотрудничал с Марком (его имя есть в кредитсах до четвертой версии), знаю что это позволило избавиться от префикса как у ксорса: xCreateCamera, xKeyHit и тд.

Насколько этот движок актуален сейчас я не в курсе, давно за ним не слежу.

Randomize 13.11.2019 23:54

Ответ: Monkey 2
 
Цитата:

Сообщение от Arton (Сообщение 316806)
Ну, это уже слишком утрировано.
Может ты с BlitzMax сравнивал?

У блимакса "слабее движок" чем у b3d. Язык, как я написал выше, как раз развивался. Речь же идёт только про движок, то есть, что ты можешь делать сразу, используя только стандартную поставку.
Как и блицмакс, так и первую мартышку (последнюю в большей степени) нужно было дотачивать напильником до приемлемого состояния.
А блиц3д был сразу самодостаточен и на стандартной поставке можно было выехать.
Мартыха обещала быть лучше чем блицмакс, но не вышло.


Часовой пояс GMT +4, время: 16:31.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Перевод: zCarot