Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Multi-Platform 2D StartKit #3

Draft
wants to merge 20 commits into
base: main
Choose a base branch
from
Draft

Conversation

CartBlanche
Copy link
Contributor

@CartBlanche CartBlanche commented Dec 4, 2024

So for people new to MonoGame, this 2D Start-Kit is for them to hit the ground running with a 2D game.
Ideally pulling in things we showed in isolation, in our samples.

To that end this Start-Kit currently implements:

  • Screen Management system (from samples)
  • Mult-lingual support, and dynamically changing them
  • Settings to be able to toggle Full Screen, Change Languages, and Which Particle Effect to use.
  • Basic scripting for player movement
  • About screen to show 1 way to launch the default browser (more testing required)
  • Basic ParticleManager with 3 simple particle effects (needs tweaking and enhancing)
  • Saving Setting State, so it can pick them up between runs
  • Counter now counts up
  • Player now dies if they fall a particular distance
  • Added support for breakable tiles, a la Mario
  • Short Tutorial, to show gameplay goals, from MainMenu
  • Basic tracking of previous high score
  • Mouse/Touch interaction with menu items.
  • Mouse/Touch interaction to move player around level.
  • Mouse/Touch input scales across platforms, based on BaseScreenSize
  • Added extra Idle frames for player character (definitely need s proper artist down the line)

Level Tile Types:

Level Character Rendered As Tile
. Blank
P Player
X Exit Exit
~ Platform Block Platform
: Passable Block Passable
# Impassable Block Impassable
; Breakable Block Breakable
1, 2 or 3 Gem Tile of different values. 1 lowest. 3 highest Gem 1
A, B, C or D Different Enemy Types Enemy A Enemy B Enemy C Enemy D

Game Levels

Bounties

  • Level Loading Screen and completed management.
  • Convert HighScore Tracking into proper leaderboard, with Player Name input
  • Level visualiser and Editor
  • Support more languages.
  • More levels?
  • Release on App Stores?
  • implement Power ups
  • Get artist to create player idle, walk and whip crack animations.
  • Add functionality to support walk and whip crack animations and enemy death from whip crack hits
  • Add FSharp version

I think the code base needs cleaning up before merging, but also may need refactoring and input from others to make sure it's using best practices.

@CartBlanche CartBlanche self-assigned this Dec 4, 2024
@CartBlanche CartBlanche changed the title Adding 2D StartKit Add Multi-Platform 2D StartKit Dec 4, 2024
@CartBlanche CartBlanche marked this pull request as draft December 6, 2024 10:14
@CartBlanche
Copy link
Contributor Author

CartBlanche commented Dec 7, 2024

@mrhelmut , @dellis1972, @SimonDarksideJ: I think the StartKit is now feature complete.
Next steps are:

  • Have a 2D Pro look through the code and point out what needs to change for "best practices"
  • Comment (allmost) ALL the things
  • Fix input scaling bug (may need another pair of eyes on this)

@SimonDarksideJ
Copy link

Best check the image links in the ReadMe @CartBlanche :D

@SimonDarksideJ
Copy link

I don't have access to review @CartBlanche , must be permissions?

Main query at this point, is that the "Blank" multi-platform project should be just that, blank.

  • 2D Starter kit - a basic 2D multi-platform project
  • Blank multi-platform kit - A blank project with just a bare bones game1.cs like the other blank projects.

Unless you also want a 2D start kit with framework as well? Which tbh, is a bit overkill.

@SimonDarksideJ
Copy link

I thought we agreed to use a non proprietary font @CartBlanche , but the SpriteFonts are set to use Arial ?

@CartBlanche
Copy link
Contributor Author

@SimonDarksideJ Font is placeholder until we decide which font to ship in all of our samples and templates.

Blank has now been trimmed down even further. So no menu items or menus.

@CartBlanche
Copy link
Contributor Author

Best check the image links in the ReadMe @CartBlanche :D

@SimonDarksideJ the links to the images work, when you click on the them, but can't get them to appear in the PR itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants