which flame starting point (game or base_game) for point and click 2D static type adventure game? - flame

Looking for points/advice re using Flame (Flutter library) for a point & click 2D adventure game. So mainly different rooms with images, tap listeners, some minimal animations. So no physics or "real time" stuff.
Q1 - Which of the flame starting points would be recommended re "game.dart" vs "base_game.dart"?
Q2 - Any other tips/guidance for this? (e.g. dont' bother using flame just use flutter?)

This is a very wide question for the StackOverflow format, but since I'm one of the developers of Flame I'll try to respond as well as I can.
Q1:
Definitely go with BaseGame, if you are using Game you get locked out of a lot of the features of the engine. Game is used if you pretty much only need the game loop.
Make use of the components, they will make your
development process a lot simpler. For examples use SpriteComponent
instead of Sprite directly etc.
There is also a package built on top of Flame that is called Bonfire (not built by the flame-engine team) that you could use too, but that is a more opinionated way for writing an RPG game.
Q2:
You can join our Discord chat and we'll try to answer any questions you have.
Use v1.0.0-rcX, even though it is still rc it is the definitely the way to go if you are starting a new project now, so that you don't have to migrate it later. In a couple of months the final v1.0.0 should be released.
Have a look in the examples directory in the repository, you can get inspiration for how to use most features available in the engine there.

Related

What is the proper workflow for creating city landscapes for use with RealityKit

I'm learning up on RealityKit and trying to create a city landscape.
Watched this video from Apple and downloaded the associated project talking about RealityComposer
https://developer.apple.com/videos/play/wwdc2019/605
My initial goal is to create a city street with tall buildings and a controllable character which can walk around the streets and perform tasks (character controlled by the user)
I've played with RealityComposer but it doesn't seem like the tool for creating complex landscapes or characters for this use case (I could be wrong). seems more of a prototype tool for fast POC
I'm assuming that there are tools such as sketch and open usdz files (tried googling and searching but nothing substantial came up)
What is the appropriate workflow for this type of app (game) development?
I would recommend one of two options:
A. Programmatically add and control models within the AR View. This will require a decent knowledge of Swift and a lot of looking around for examples and reading the docs for RealityKit.
B. Switch over to Unity. Unity would be a lot easier to work with and is designed for games (Which is what it sounds like you want to do). Bonus is your game/app will be cross platform.

Starting a game - Tetris infinite runner?

Having trouble describing what I'm looking for - essentially, I'm classed as a beginner at unity, I've only made artwork for games, never created the core myself.
Preface: Here's game in a nutshell:
The camera is looking down with an Orthographic angle
The ground in scrolling down the screen, you're walking towards the top of the screen. In essence, you're on a treadmill.
As you walk/progress, shapes start entering the screen, like Tetris.
You simply walk over to that shape, pick it up and take it 1 of 3 baskets on the - left side of the screen.
Repeat until end of level
Help:
How would I start, what should I start with?
Do I seek out examples and guides on creating an endless runner, even though the game has more similarities to Tetris but with interactions? Because of this, I'm lost for words on what to search for in order to gain the knowledge to build what I'm thinking.
Background:
I'm coming from an Artistic background, I work with web development daily, so I think I'll be able to grasp the basics quick enough, I just need that finger pointing at the obvious!
Given that you're coming from a web development background I can see why you're looking for hoping to find pinpointed resources for your specific game. Web development generally involves finding specific ways to tackle each specific problem you encounter.
One thing you will want to be aware of is that Unity development is a bit different in that most things are built using the core set of basic fundamentals. Because of this I would actually recommend looking into tutorials that will teach you about the basics rather than trying to find something specific for what it is you're building, as you will be able to apply these basics to encounter any of the problems you encounter a long the way. The basic Unity tutorials provided by the Unity team do a great job of teaching these basics: The Unity Tutorials Page
At the very least the Roll-A-Ball tutorial should teach you most of the basics as it pertains to how objects work, creating scripts, etc.
After you are a bit more comfortable with Unity in general, then I would suggest looking into some more focused tutorials that are a bit closer to what you want to do as these will give you a better idea of how you can apply the basics you've learned. One recommendation I would have for the game you're trying to make is
this runner tutorial by Catlike Coding.
While the game you'll be creating in that tutorial will play quite differently than what you're describing, this should give you a better idea of how you can approach some of the challenges that you'll encounter in the development of your game (things like continually creating objects).

UnrealEngine4 - Interactive 360 picture

I have very little experience with UnrealEngine (just a basic handling of the menues as I played around a bit creating levels back in the day) and also have an Oculus DK2 to test out VR. Is it possible to create a UE Scene that displays a 360 picture, and then add "hotspots" to the picture that trigger voiceovers or even text messages on the screen?.
Basically the client wants to Demo their room and add commentary to specific items within the scene, but they do not have the resources for hiring 3D modelers. So they would settle for a static room (picture) where you can just look around (obviously not walk) and trigger some events depending on where you look.
Can anyone point me in the right direction, or enlighten me that this is not possible?
What you suggest sounds plausible - though it is not going to be easy under a tight deadline. Unreal Engine 4 is quite a bit different from 3 and earlier.
You also can get access to the C++ Source now via github when you register.
Take a look at the official best practices and the sample links off that to see if you can get that running on your development kit. That will at least give you an idea of what you are up against.

Porting a mobile game written in C++/OpenGL to UE4

I am very sad because a few days ago the SDK I was using called Marmalade was announced to be shutting down. I was using that SDK to bring my game to the iOS and Android platforms with great ease.
I am considering switching to Unreal Engine 4, however I have 0 experience working with it. How simple would it be to port my C++/OpenGL codebase to it?
I know there is a million ways to work with unreal, like blueprints and so on, but let's say I already have an engine, what steps would I take to port it?
If anyone could provide a rough step by step process of how you would do it and possibly link me to some learning materials I would be very greatful!
Thanks all
The question is too broad but I'll try to answer it anyway.
The low level part of your engine (input, rendering, serialization, file operations, etc) is taken care of by UE4. You pretty much won't be able to use parts of your engine in that regard.
GUI is also something that you are going to have to remake the UE4 way.
Your gameplay logic can be reused. But UE4 has its own approach for gameplay handling as well so you should familiarize yourself with it. Blueprints are very powerful and to use it you gonna have to carefully go through all of your gameplay classes, reparent them from UE4 basic classes (UObject, AActor, AController etc), then mark methods and class members with UFUNCTION and UPROPERTY so it would be exposed to Blueprints.
I would recommend to try making a simple project to get a hang of how things are done in UE4 and only then to try to reimplement your game in UE4. UE4 has a good documentation so study it.
I personally had an experience to switch from a different engine to UE4 and it took our team around 4 month, but our project is big. We pretty much used none of the code from our old engine. We followed the same approaches and same logic, but we pretty much reimplemented everything.

OpenGL ES and real world development

I'm trying to learn OpenGL ES quickly (I know, I know, but these are the pressures that have been thrusted upon me) and I have been read around a fair bit, which lots of success at rendering basic models, some basic lighting and 'some' texturing success too.
But this is CONSTANTLY the point at which all OpenGL ES tutorials end, they never say more of what a real life app may need. So I have a few questions that Im hoping arent too difficult.
How do people get 3d models from their favorite 3d modeling tool into the iPhone/iPad application? I have seen a couple of blog posts where people have written some python scripts for tools like Blender which create .h files that you can use, is this what people seem to do everytime? Or do the "big" tooling suites (3DS, Maya, etc...) have exporting features?
Say I have my model in a nice .h file, all the vertexes, texture points, etc.. are lined up, how to I make my model (say of a basic person) walk? Or to be more general, how do you animate "part" of a model (legs only, turn head, etc...)? Do they need to be a massive mash-up of many different tiny models, or can you pre-bake animations these days "into" models (somehow)
Truely great 3D games for the iPhone are (im sure) unbelievably complex, but how do people (game dev firms) seem to manage that designer/developer workflow? Surely not all the animations, textures, etc... are done programatically.
I hope these are not stupid questions, and in actual fact, my app that Im trying to investigate how to make is really quite simple, just a basic 3D model that I want to be able to pan/tilt around using touch. Has anyone ever done/seen anything like this that I might be able to read up on?
Thanks for any help you can give, I appreciate all types of response big or small :)
Cheers,
Mark
Trying to explain why the answer to this question always will be vague.
OpenGLES is very low level. Its all about pushing triangles to the screen and filling pixels and nothing else basicly.
What you need to create a game is, as you've realised, a lot of code for managing assets, loading objects and worlds, managing animations, textures, sound, maybe network, physics, etc.
These parts is the "game engine".
Development firms have their own preferences. Some buy their game engine, other like to develop their own. Most use some combination of bought tech, open source and inhouse built tech and tools. There are many engines on the market, and everyone have their own opinion on which is best...
Workflow and tools used vary a lot from large firms with strict roles and big budgets to small indie teams of a couple of guys and gals that do whatever is needed to get the game done :-)
For the hobbyist, and indie dev, there are several cheap and open source engines you can use of different maturity, and amount of documentation/support. Same there, you have to look around until you find one you like.
on top of the game engine, you write your game code that uses the game engine (and any other libraries you might need) to create whatever game it is you want to make.
something many people are surprised with when starting OpenGL development is that there's no such thing as a "OpenGL file format" for models, let alone animated ones. (DirectX for example comes with a .x file format supported right away). This is because OpenGL acts somewhat at a lower level. Of course, as tm1rbrt mentioned, there are plenty of libraries available. You can easily create your own file format though if you only need geometry. Things get more complex when you want to take also animation and shading into account. Take a look at Collada for that sort of things.
again, animation can be done in several ways. Characters are often animated with skeletal animation. Have a look at the cal3d library as a starting point for this.
you definitely want to spend some time creating a good pipeline for your content creation. Artist must have a set of tools to create their models and animations and to test them in the game engine. Artist must also be instructed about the limits of the engine, both in terms of polygons and of shading. Sometimes complex custom editors are coded to create levels, worlds, etc. in a way compatible with your specific needs.
Write or use a model loading library. Or use an existing graphics library; this will have routines to load models/textures already.
Animating models is done with bones in the 3d model editor. Graphics library will take care of moving the vertices etc for you.
No, artists create art and programmers create engines.
This is a link to my favourite graphics engine.
Hope that helps