Skip to content

Releases: SemyonHoyrish/GoPlayEngine

[v0.5.1] Line primitive change

Choose a tag to compare

@SemyonHoyrish SemyonHoyrish released this 17 Feb 18:10

Line primitive now has new definition and nodes with line primitive as texture are ignored when auto overlap is being built.

[v0.5.0] Auto Overlaps & Node system rewrite

Choose a tag to compare

@SemyonHoyrish SemyonHoyrish released this 17 Feb 16:49

CHANGES

Node system has been rewritten to make them much simpler. Now, there is only one struct Node that represents
any node in Game Engine, based in NodeType field. At the same time, user interactions with nodes a pretty much the same, with very small changes, if any.

NEW

Auto Overlaps for Node.
Auto Overlap system will build a ComposedOverlap for a Node and all of its children by creating an Overlap with CalculatedSize of the node and position in center of that node for every node in selected node hierarchy.

There is new functions for Node:

  • AutoOverlap(bool) - to enable or disable auto overlap.
  • AutoOverlapEnabled() bool - to get if auto overlap is enabled for this node.

[v0.4.0] Input handling & major fix

Choose a tag to compare

@SemyonHoyrish SemyonHoyrish released this 01 Jan 18:53

NEW

input handling

  • Implemented input.Keyboard
  • For input.Mouse & input.Keyboard now available functions ButtonPressed, ButtonDown, ButtonUp. For input.Keyboard are introduced some rebindings of sdl scancode for easier access, however, direct usage of sdl.SCANCODE_* constants are not limited in any way.

engine time

  • New functions for engine: GetTicks, GetTimeDelta (see docs).

FIX

Fixed issue that prevented any render to happen, which was caused by not complying with thread safety instructions of the SDL library. Now application should stably run on any architectures and configurations supported by SDL Library.

[v0.3.0] Overlaps

Choose a tag to compare

@SemyonHoyrish SemyonHoyrish released this 30 Dec 18:09

NEW

Overlaps system

This system allows to attach Overlap or ComposedOverlap to a nodes, and then determine whether if they overlaps overlapping each other or not. Additionally, it provides MouseOver function to check whether mouse is currently hovering an overlap.

  • Overlap
  • ComposedOverlap
  • BaseNode.{SetOverlap, GetOverlap, RemoveOverlap}

Primitives

  • circle
  • line (has special requirements for node position, see docs)

[v0.2.0] Documentation

Choose a tag to compare

@SemyonHoyrish SemyonHoyrish released this 30 Dec 12:56

NEW

Everything (close to that) now documented in code, so package now has documentation on pkg.go.dev

Link to docs

CHANGES

Now each Scene has own updateFunction which will be called before rendering every frame of that scene.
Before we had one updateFunction for entire game, which was not ideal.

[v0.1.0] Basic structure of the game engine

Choose a tag to compare

@SemyonHoyrish SemyonHoyrish released this 30 Dec 10:17

NEW

engine

basic

  • Point
  • Size
  • Vector

core

  • BaseNode
  • ObjectNode
  • TextNode
  • Scene
  • Texture

input

  • Mouse

primitive

  • Color
  • PrimitiveInterface
  • Rectangle primitive

resource

  • Font
  • Image